Plotting 3D Vector Field
94 ビュー (過去 30 日間)
古いコメントを表示
I am attempting to plot the following vector field using the quiver3 function;
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/284079/image.png)
with the following code;
[y] = meshgrid(linspace(0,2,100));
% We now define our 3 vector−field functions
P = y.^2-2*y;
Q = 0*y;
R = 0*y;
% Plot the 3D vector field with quiver3
figure(2)
quiver3(y,P,Q,R)
ylim([0,2])
xlabel('x')
ylabel('y')
zlabel('z')
However, the resulting plot is not very informative as all the arrows and their places seem to be scaled strangely.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/284080/image.png)
Would anyone be able to help make a neater looking plot with more arrows showing the different directions? Thanks
0 件のコメント
回答 (1 件)
Ameer Hamza
2020 年 4 月 13 日
This vector field has all vectors pointing toward x-axis, and the length of vectors is only a function of y. So the field will appear very uniform. You also need to consider the x and y grid to plot it properly. Please try the following code.
[x,y,z] = meshgrid(linspace(0,0.5,10), linspace(0,2,100), linspace(0,0.5,10));
% We now define our 3 vector−field functions
P = y.^2-2*y;
Q = 0*y;
R = 0*y;
% Plot the 3D vector field with quiver3
figure(2)
quiver3(x,y,z,P,Q,R)
grid on
ylim([0,2])
xlabel('x')
ylabel('y')
zlabel('z')
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!