在matlab中用直线连接不同的点

在matlab中用直线连接不同的点,matlab,Matlab,我有两列(x和y)和100行的矩阵,每行构成一个点,就像(x1,y1) 我需要在它们之间画一条连续的线,比如点(x1,y1)到(x2,y2)和(x2,y2)到(x3,y3)等等,直到(x100,y100) 我已经写了这段代码,它工作正常。问题是,我需要花很长时间才能完成55000矩阵 figure; for j=1:length(data); % data = 55000 different matrices which should draw in the same

我有两列(x和y)和100行的矩阵,每行构成一个点,就像(x1,y1)

我需要在它们之间画一条连续的线,比如点(x1,y1)到(x2,y2)和(x2,y2)到(x3,y3)等等,直到(x100,y100)

我已经写了这段代码,它工作正常。问题是,我需要花很长时间才能完成55000矩阵

    figure;
         for j=1:length(data); % data = 55000 different matrices which should draw in the same figure

          for i=1:length(data(j).x);
          x= (data(j).x(i));
          y= (data(j).y(i));

          if i == length(data(j).x);
              break;
          end

          x1= (data(j).x(i+1));
          y1= (data(j).y(i+1));

          line([x,x1],[y,y1]);


  end

end
有没有更有效、更快捷的方法呢?

试试:


我想把x,y点和要聚集的线连接起来。也需要很多时间。绘制(x,y);应该在循环中吗?我已经把“绘图”放在循环的一边,然后运行它。它工作得很好。但这仍然需要很长的时间。我想画这幅画需要时间。我不知道你的画需要多精确,但也许你可以简化你的线条?我建议您使用dpsimplify。如果您像文档中那样使用
line
,则可能会丢失内部循环。关于外环,没有多少工作要做。
x = [];
y = [];
for j=1:length(data)
    x = [x; data(j).x];
    y = [y; data(j).y];
end
plot(x, y);