MATLAB:从一个点沿指向另一个点的方向绘制一个设定大小的箭头

MATLAB:从一个点沿指向另一个点的方向绘制一个设定大小的箭头,matlab,Matlab,我想从一个点向另一个点画一个给定大小的箭头 例如,两个点的坐标(x,y)=(0,0)和(1,1) 从(0,0)开始绘制一个箭头,其大小(长度)mag_pt1_pt2朝向(1,1) 我想对大约400个点重复这一点,然后画一个向量场。这是一个matlab库,有人为此编写: 鉴于OP对答案的评论,他可以这样做: function [] = arrowLandD(x1, y1, length, x2, y2) direction = arctan((y2-y1)/(x2-x1)); p

我想从一个点向另一个点画一个给定大小的箭头

例如,两个点的坐标(x,y)=(0,0)和(1,1)

从(0,0)开始绘制一个箭头,其大小(长度)
mag_pt1_pt2
朝向(1,1)


我想对大约400个点重复这一点,然后画一个向量场。

这是一个matlab库,有人为此编写:

鉴于OP对答案的评论,他可以这样做:

function [] = arrowLandD(x1, y1, length, x2, y2)
    direction = arctan((y2-y1)/(x2-x1));
    p2 = [x1+length*cos(direction) y1+length*sin(direction)];
    arrow([x1 y1], p2);
end
将箭头绘制成从起点开始的长度和方向图,而不是p1->p2

也可以使用内置的向量场库箭袋:

要生产这样的产品:


希望这有帮助。

文档建议需要箭头的起点和终点,
length
属性是箭头的长度(而不是箭头)@janon128箭头将从点1指向点2。您可以根据需要定义箭头的大小。如果你对arrow不满意,也可以使用quiver。我想你误解了我的问题。箭头不应在点2处结束。我定义它的长度;它只指向点2,而不是结束于点2。@janon128然后您可以根据大小在点1和点2之间创建一个点,并使用该点定义箭头的终点。或者使用箭袋,这是专为你所做的。或者,您可以编辑箭头以获取长度和方向,并基于此进行打印。这是一个关于你可以选择的方向的建议,不是一个确切的答案。@janon128好了,我根据你的评论修正了它。那很容易,不是吗?