Quiver scale variables differently?

12 vues (au cours des 30 derniers jours)
JEC PsiCom
JEC PsiCom le 23 Mai 2011
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 commentaire
Oleg Komarov
Oleg Komarov le 23 Mai 2011
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

Connectez-vous pour commenter.

Réponses (3)

Sean de Wolski
Sean de Wolski le 23 Mai 2011

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 le 13 Nov 2017
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 commentaires
Francois Clemens
Francois Clemens le 19 Avr 2019
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 le 21 Avr 2019
Forget it, I mixed up the order of the variables, the issue raised by JEX Psicom remains....

Connectez-vous pour commenter.


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

Catégories

En savoir plus sur Vector Fields dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by