Matlab - 使用多个点绘制多条线并找到每条线的长度

时间:2016-05-22 06:31:41

标签: matlab

我有两个矩阵

A = [1 2 3; 4 6 7; 3 6 7]
B = [2 5 6; 2 8 7; 2 8 5]

我想绘制这两个矩阵之间的图形,我的意思是A(1,1)为x坐标,B(1,1)为第一点的Y坐标。类似地,第二点A(1,2)为x,B(1,2)为Y,依此类推。最后我应该直线连接每一行的这一点。

然后我测量连接每行所有点的线的长度,以便我可以知道哪一行有更长的长度

我试过这个

    for i=1:1:3
    plot(A(i,:),B(i,:)), hold on;
    end

是否正确,因为我无法解释以及如何测量长度?

2 个答案:

答案 0 :(得分:1)

你的绘图方式似乎是正确的。

要计算每行的长度,我将使用此代码:

for i=1:1:3
  len(i) = sum(sqrt(diff(A(i,:),1).^2+diff(B(i,:)).^2));
end

答案 1 :(得分:1)

您不需要for loop来绘制。做吧。

A = [1 2 3; 4 6 7; 3 6 7];
B= [2 5 6; 2 8 7; 2 8 5];

% Plot lines
plot(A.',B.');

% Calculate length of lines
length=sum(sqrt((diff(A,1,2).^2)+(diff(B,1,2).^2)),2);