Plot a vector field from a matrix
25 views (last 30 days)
Show older comments
Samuel Curé
on 15 Dec 2020
Answered: Asad (Mehrzad) Khoddam
on 15 Dec 2020
I would like to plot a field of unit vectors on a square lattice Λ of size .
Each point of the lattice is a unit vector pointing in some angle: where θ is a matrix whose entries are between 0 and .
Here is my attempt:
N=100
theta=2*pi*rand(N,N) % random for this example only
[X,Y]=meshgrid(1:N,1:N)
U=cos(theta)
V=sin(theta)
quiver(X,Y,U,V)
However this is not very esthetic, how could I make this vector field more readable?
(Even when I choose a configuration where all spins are aligned, it is still not readable)
Perhaps spacing the arrows and making them bigger with a longer shaft could make it more readable? I am quite new on MATLAB and I have no idea how to change this. Plotting this from my matrix theta felt already like an accomplishement.
Thank you for your help and your time.
0 Comments
Accepted Answer
Asad (Mehrzad) Khoddam
on 15 Dec 2020
You can use a scale like this:
N=100;
theta=2*pi*rand(N,N); % random for this example only
[X,Y]=meshgrid(1:N,1:N);
U=cos(theta);
V=sin(theta);
quiver(X,Y,U,V,0.3)
0 Comments
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!