better visualization of quiver()
57 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ivan Volodin
el 28 de Mayo de 2017
Comentada: Jacob Ivanov
el 20 de Mayo de 2023
Hello!
I have some velocity-field, which I am trying to visualize by this code:
quiver(x,y,Vx,Vy);
Vx and Vy are arrays of 102x102 demensions. It all worked, but I get this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/164585/image.jpeg)
If maximaze it by 8 and zoom to right up corner then the field seems to be possible to analyze:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/164586/image.jpeg)
So, how to spread evenly it all on coordinate plane, how to make arrays less and increase distance between them in order to achieve better understanding of the whole picture at once?
Thank you in advance!
0 comentarios
Respuesta aceptada
Star Strider
el 28 de Mayo de 2017
Without knowing more about what you are doing, one option would be:
quiver(x(1:5:end), yx(1:5:end), Vxx(1:5:end), Vyx(1:5:end), 0)
This plots fewer points (and arrows), and the ‘0’ turns off all arrow scaling. Delete the ‘0’ and replace with another number to keep the scaling and set the arrow length.
3 comentarios
Star Strider
el 28 de Mayo de 2017
My pleasure!
One option is to increase the step size from 5 to a larger value:
sv = 10; % ‘Step’ Value
quiver(x(1:sv:end), yx(1:sv:end), Vxx(1:sv:end), Vyx(1:sv:end), 0)
Another way would be to set the scaling factor (that you have already done), turn autoscaling off, and several other options.
A third option would be to add a contour plot, so you could present the same information and require fewer arrows. See the documentation on Combine Contour Plot and Quiver Plot (link).
Jacob Ivanov
el 20 de Mayo de 2023
If you, like I was sitting here wondering why this wasn't working, and you got an error similar to
Error using quiver. The size of X must match the size of U or the number of columns of U.
Make sure that if you are using an x, y array that are one-dimensional, whereas u, v are two-dimensional arrays, you do something similar to this:
quiver(x(1:16:end), y(1:16:end), u(1:16:end, 1:16:end), v(1:16:end, 1:16:end))
Más respuestas (0)
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!