在Matlab中,我想创建一个二维数组。但是,我无法创建矩阵,因为行的长度都不同。
我是Matlab的新手,我通常会在C ++中通过创建指针数组来完成此操作,每个指针都指向自己的数组。
我应该如何在Matlab中执行此操作?感谢。
答案 0 :(得分:9)
答案 1 :(得分:4)
如其他人所述,使用单元格ararys。列出一些代码和注释来解释它 -
%%// Create a cell array to store data
Arr = {[1 3 4 6 8];
[1 8 3];
[4 6 3 2];
[6 3 6 2 6 8]}
%%// Access element (3,4)
element = Arr{3}(4)
输出
Arr =
[1x5 double]
[1x3 double]
[1x4 double]
[1x6 double]
element =
2
答案 2 :(得分:3)
您可以使用cell array:
C = {[1,2,3];
[1,2,3,4,5];
[1,2]};
或使用NaN
或0或Inf
等填充
N = [1, 2, 3, NaN, NaN;
1, 2, 3, 4, 5;
1, 2, NaN, NaN, NaN]
这实际上取决于您下次对数据采取的措施