用MATLAB画三维向量
前两天,我在写Gram-Schmidt正交化的文章时,想到最好用matlab把还没有经过正交化计算的原始向量,和已经经过正交化处理后的正交基,在三维坐标系中,用图像的方式表示出来。这样可以更加直观的看到向量与向量之间的“垂直”,而不是通过计算向量之间的内积去证明他们“正交”。
事实上,我之前多次有过在三维坐标系中作图的需求,一直也没有找到非常合适的。比如说,在三维坐标系中画一个点,等。这一次,我在画三维向量的时候,无意中找到了一个函数quiver3(),他可以实现在三维坐标系中画一个或多个三维向量的问题。
1,首先,我们用quiver3函数画一个向量v=[1,2,8]
先定义向量的坐标原点为[0,0,0]
X=[0];
Y=[0];
Z=[0];
定义一个三维向量
U=[1];
V=[2];
W=[8];
画图
figure;
quiver3(X,Y,Z,U,V,W,0,'LineWidth',1)
其中,“W”后面的参数“0”,表示的是对图像中向量长度的缩放(只能是一个正整数,例如2,这就是说,图像中向量的长度是实际向量长度的两倍),也就是上面语法中的Scale。一般情况下,如果你不输入scale参数,例如,直接使用quiver3(X,Y,Z,