How do I use Quiver with X, Y, radians and vector length?

13 次查看(过去 30 天)
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

采纳的回答

Chad Greene
Chad Greene 2015-5-21
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 个评论
Right Grievous
Right Grievous 2015-5-22
Absolutely fantastic - this is the step I was missing.
Another tip for anyone reading this, I wanted to compare my quiver plot to a plot produced by imagesc - imagesc automatically flips imaged matrices (because 0,0 is top left I think instead of bottom right) but you can use "set(gca,'YDir','normal')" to correct this and then they should both line up.
Thanks a bunch!
Chad Greene
Chad Greene 2015-5-22
Alternatively, you can use axis xy to flip the y direction back from imagesc's default axis ij.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Vector Fields 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by