Quiver scale variables differently?

8 次查看(过去 30 天)
Hello. I have this problem.
I have two different types of flux/velocity variables (in u and v) that I want to compare using a quiver plot. The problem is that one of the variables is scaled a LOT bigger than the other variable, no matter the actual physical values it has. For examplem, if I force it smaller by multiplying by 0.001 or something, it STILL shows these huge arrows. That is, variable 2 has longer quiver arrows than variable 1 even though the values it has is smaller.
ps; I've tried to set 'autoscaling','off', but it doesn't help.
What's going on? :/
  1 个评论
Oleg Komarov
Oleg Komarov 2011-5-23
Post code and input examples: http://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers-and-get-a-fast-answer
and format the code: http://www.mathworks.com/matlabcentral/answers/7885-tutorial-how-to-format-your-question

请先登录,再进行评论。

回答(3 个)

Sean de Wolski
Sean de Wolski 2011-5-23

Two ideas:

  • Use the scale input to quiver
doc quiver
  • Normalize the arrows to be the exact same range:
u2 = u2./(max(u2(:))).*max(u1(:));

Tim Whiteley
Tim Whiteley 2017-11-13
Hello. I am having the same problem as JEC PsiCom. Here is an example of some toy code where x and y are different scales. When plotted, the y scale of the arrowheads is hugely disproportional (the vertical lines being the arrowheads). Any help would be much appreciated.
x=-10:10;
y=0.00001:0.00001:0.00010;
[X,Y]=meshgrid(x,y);
quiver(x,y,X,Y);
  2 个评论
Francois Clemens
Francois Clemens 2019-4-19
Hi I have something similar, although in my case he variabale on th y-axis is scaled:
when I give the command:
quiver(r,dr,vradiaal,dvrad);
I get the graph with the blue arrows:
WhenI I plot using the command:
p1=[r,r+dr];
p2=[vradiaal,vradiaal+dvrad];
plot(p1,p2,'-k');
I get the graph in black, Tthe numerical values correspond with the graph in black so clearly the y axis is scaled down by quiver by a factor of approx 100. Anybody an idea????
thanks in advance
Francois Clemens
P.S. I'm using Matlab R 2017b
plot_exp.jpg
quiver_exp.jpg
Francois Clemens
Francois Clemens 2019-4-21
Forget it, I mixed up the order of the variables, the issue raised by JEX Psicom remains....

请先登录,再进行评论。


abuzer
abuzer 2013-4-2
you should cahnge the scale parameter.
scale=1; axis equal; hold on plot(x,y,'o'); h=quiver(x, y, v, u, scale);

类别

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