首页 > 解决方案 > Quivec3 在不同方向上不均等地缩放向量

问题描述

我使用 quiver3 绘制了一个 2d 平面上的 3d 矢量场,但矢量可以指向第三方向。我的问题是,该图以不合理的比例显示了这些向量。作为示例,请查看下图中指定向量的不同分量。尽管该向量沿 x 和 y 和 z 具有相同的值,但该图显示了它,因此该向量似乎沿 z。

在此处输入图像描述

有人可以帮我解决这个问题吗?我使用以下内容制作了这个情节:

uX = [1,3,1;2,2,1;1,1,1];
uY = [0.5,1,1;1,1.5,1;1,1,1];
uZ = [2,3,1;0,0.5,0;1,1,0.5];

[ x, y ] = meshgrid(1:3, 1:3); %x is 199 by 199, y too
zcomp = zeros(3,3);
scale=1;
quiver3(x(1:3,1:3),y(1:3,1:3),zcomp(1:3,1:3),uX(1:3,1:3),uY(1:3,1:3),uZ(1:3,1:3),scale)

标签: matlab

解决方案


您必须在绘图中设置数据纵横比。要么做

axis equal

或使用daspect

daspect([1 1 1])

设置不同轴之间的纵横比。

在此处输入图像描述


推荐阅读