Arrays 不使用循环绘制不同长度的单元格数组

Arrays 不使用循环绘制不同长度的单元格数组,arrays,matlab,for-loop,plot,cell,Arrays,Matlab,For Loop,Plot,Cell,我从代码中获得以下输出: MAT_ArrayT - 6x1 cell MAT_ArrayY - 6x1 cell 在每一个内部,它看起来如下所示: 10000x1 double 9000x1 double 8000x1 double 7000x1 double 6000x1 double 5000x1 double 我想有一个情节,我得到6线,适合彼此 我想得到的结果如下: for i = 1:6 plot(MAT_ArrayT{i,:},MAT_ArrayY{i,:}) end

我从代码中获得以下输出:

MAT_ArrayT - 6x1 cell
MAT_ArrayY - 6x1 cell
在每一个内部,它看起来如下所示:

10000x1 double
9000x1 double
8000x1 double
7000x1 double
6000x1 double
5000x1 double
我想有一个情节,我得到6线,适合彼此

我想得到的结果如下:

for i = 1:6
    plot(MAT_ArrayT{i,:},MAT_ArrayY{i,:})
end
但是没有for循环,因为我需要画1k+线的地方需要更长的时间


谢谢。

如果您将Matlab的绘图函数交给一个数组,它会将数组中的每一列绘制为自己的行。例如:

A = 1:2:20;
B = 1:10;

C = [A', B']
plot(C)
产生

C =

 1     1
 3     2
 5     3
 7     4
 9     5
11     6
13     7
15     8
17     9
19    10


如我们所见,plot()将C的第一列绘制为蓝线,将C的第二列绘制为橙色线,我们只使用了一行代码。如果您可以设置单元格数组,使要绘制的每一行都是自己的列,这应该可以加快速度。

快速而肮脏的解决方案与我的一样,在较短的向量中填充
NaN
<代码>NaN未绘制点。

您需要绘制6条线吗?for循环很好,为什么说1K行?不是6吗?另外,如果真的有1K,那么
plot
不会帮助您看到任何东西。如果你真的在画1K线,那不是因为循环太慢,而是你电脑的图形输出,太多的东西不能画。是的,我有1K线的完整代码,我只是想把例子弄清楚,所以我给了6。所以,根据你所说的,它更多地取决于我的图形卡?它太多的绘图,考虑以不同的方式显示它。屏幕上有1000个绘图,我问你怎么看都看不到,因为在for循环中绘图和使用hold需要很多时间