MATLAB:从一个点向另一个点绘制一个设定幅度的箭头

时间:2012-11-29 02:12:45

标签: matlab

我想从一个点绘制一个箭头,给定幅度的另一个点。

例如,两个点分别具有坐标(x,y)=(0,0)和(1,1)。

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

我想重复约400个点,然后绘制一个矢量场。

1 个答案:

答案 0 :(得分:1)

这是一个有人编写的matlab库:

http://www.mathworks.com.au/matlabcentral/fileexchange/278-arrow-m

鉴于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的长度和方向的图。

您还可以使用内置的矢量字段库箭头:

http://www.mathworks.com.au/help/matlab/ref/quiver.html

制作这样的东西:

enter image description here

希望这有帮助。