Matlab 如何绘制向量的投影?

Matlab 如何绘制向量的投影?,matlab,matlab-figure,Matlab,Matlab Figure,我编制了以下计算矢量投影的程序: a=[6 7] b=[1 4] p=(dot(a,b)/(b*b'))*b p的结果是[28],即a在b上的投影 我读到在Matlab中绘制向量时,我应该选择一些原点,因此我将这些原点添加到向量中,并用它们形成一组矩阵,如下所示: x=[0 0; 6 7] y=[0 0; 1 4] z=[0 0; 2 8] plot3(x,y,z) grid; 但我无法想象投影,我错过了什么 谢谢您可以使用quivel进行二维矢量打印,也可以使用quivel3进行三维打印

我编制了以下计算矢量投影的程序:

a=[6 7]
b=[1 4]
p=(dot(a,b)/(b*b'))*b
p的结果是[28],即a在b上的投影

我读到在Matlab中绘制向量时,我应该选择一些原点,因此我将这些原点添加到向量中,并用它们形成一组矩阵,如下所示:

x=[0 0; 6 7]
y=[0 0; 1 4]
z=[0 0; 2 8]
plot3(x,y,z)
grid;
但我无法想象投影,我错过了什么


谢谢

您可以使用
quivel
进行二维矢量打印,也可以使用
quivel3
进行三维打印

a = [6 7];
b = [1 4];
p = (dot(a,b)/dot(b,b))*b;

figure;
quiver(0,0,a(1), a(2));
hold on;
quiver(0,0,b(1), b(2));
quiver(0,0,p(1), p(2));

定义
a
b
,计算
p
,然后绘制其他内容。你的问题很不清楚。请解释一下
x
y
z
a
b
的关系,谢谢@LuisMendo,这是一个打字错误,我现在已经更正了这个问题,它应该是b的点积,仍然不用norm(x),它只画了一条线;我希望看到这三个向量是分开的,然后必须使用
hold on