【问题标题】:Matlab - Plot multiple lines using multiple points and find the length of each lineMatlab - 使用多个点绘制多条线并找到每条线的长度
【发布时间】:2016-09-19 04:05:00
【问题描述】:

我有两个矩阵

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

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

【问题讨论】:

    标签: matlab


    【解决方案1】:

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

    要计算每行的长度,我会使用以下代码:

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

    【讨论】:

      【解决方案2】:

      你不需要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);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-27
        • 2019-08-31
        • 1970-01-01
        相关资源
        最近更新 更多