Arrow lengths don't represent the ratio of velocities for 2 Quiver Plots
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
PASUNURU SAI VINEETH
el 27 de Mayo de 2023
Comentada: PASUNURU SAI VINEETH
el 28 de Mayo de 2023
I have plotted two sets of velocity data for the same position data in a single quiver plot.
figure
quiver(xposition,yposition,uvelocity,vvelocity,'b')
hold on
quiver(xposition,yposition,v2dprime(1,:)',v2dprime(2,:)','r')
axis equal
But, visually from Figure 1, the length of arrows of the second dataset (red) is huge in comparison to the first dataset (blue). This is happening despite the actual velocities being comparable or in some cases, uvelocity(vvelocity) being greater than v2dprime. I would like the length of vectors originating at every point to represent the actual ratio of velocities. If I turn the scaling off, the first dataset (blue) is weirdly magnified as in Figure 2.
0 comentarios
Respuesta aceptada
VBBV
el 27 de Mayo de 2023
D = load('Data.mat');
figure
quiver(D.xposition,D.yposition,D.uvelocity,D.vvelocity,'b','AutoScaleFactor',2.5)
hold on
quiver(D.xposition,D.yposition,D.v2dprime(1,:)',D.v2dprime(3,:)','r')
% axis equal
2 comentarios
VBBV
el 27 de Mayo de 2023
If you use AutoScaleFactor, property you can set the arrow lengths according to red color graph,
Más respuestas (1)
鑫源
el 27 de Mayo de 2023
plot the histogram, you 'll find the blue one in fact exists a few exaggeratedly large vecs. Though average length of the blue one and the red are comparalbe. I think that's the problem
C={[uvelocity, vvelocity],[v2dprime(1,:)',v2dprime(2,:)'],}
D=cellfun(@(x)vecnorm(x,2,2),C,UniformOutput=false);
>> histogram(D{1})
>> histogram(D{2})
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1396529/image.png)
1 comentario
Ver también
Categorías
Más información sobre Vector Fields en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!