How do I use Quiver with X, Y, radians and vector length?
13 views (last 30 days)
Show older comments
Right Grievous
on 21 May 2015
Commented: Chad Greene
on 22 May 2015
Hi everybody,
I would really like to use a quiver plot to display my data, however, I can't seem to get it to work properly, the plot never looks like it should and any changes I make just seem to result in random results.
I have two matrices, one contains heading direction in radians, the other contains the strength of this heading/vector length or intensity.
So from these I have X, Y, direction (in radians) and something that could be considered analogous to velocity (actually Rayleigh vector lengths).
I know I should be able to plot this data using Quiver but I don't seem to understand how the inputs work. I have looked over the help and doc information but they keep using examples generated from sin or cos applied to a matrix, which really doesn't help me understand the inputs any better.
Any help would be massively appreciated.
Rod.
Sample Data:
if true
figure
[X,Y] = meshgrid(1:1:10);
heading = deg2rad(randi([-180 180],10,10));
r = randi([0 10],10,10);
quiver(X,Y,heading,r)
end
0 Comments
Accepted Answer
Chad Greene
on 21 May 2015
If you have the locations of points X and Y, all you have to do is convert your direction/magnitude information to cartesian coordinates. For direction theta and magnitude rho,
[u,v] = pol2cart(theta,rho);
then
quiver(X,Y,u,v)
should do the trick.
2 Comments
Chad Greene
on 22 May 2015
Alternatively, you can use axis xy to flip the y direction back from imagesc's default axis ij.
More Answers (0)
See Also
Categories
Find more on Vector Fields 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!