我开始开发一个经常使用多维数组的项目。 我的阵列大多是2,3维左右。 当2D阵列样本考虑'A'时,我可能在一个单元格中有2个或更多1D阵列。
喜欢
A=[1, [78,9] [10,65], 9;
2 , 3 , 6;
7 , [9,1] , [91,41,96][10,-1]]
正如您在“A(1,2)”中看到的,有两个1D阵列。 我不知道应该使用哪种结构来实现这样的目的。 此外,我希望能够访问所有这些1D阵列。
请与我分享您的知识。
答案 0 :(得分:3)
尝试使用cell
或struct
我会推荐cell
。
E.g。预初始化A1
:
A1=cell(3,3)
(这将是3x3单元阵列/矩阵)。然后,您可以使用大括号({})来添加元素。 E.g:
A1{1,1}= 1;
A1(1,1)={1};
两个都工作。您还可以在一行中定义多个单元格。 E.g:
A1(2,:) = {2,3,6};
对于具有多阵列条目的情况,请使用其他单元格结构:
B= {[78,9], [10,65]};
A1(1,2) = {B};
等等。注意在B
周围使用大括号(或A1
中的坐标)!否则他会尝试合并B
中A1
的单元格但不会有任何好处,因为B
是一个1x2单元格而你想把它作为一个参数给一个A1
中的单元格。
如果要在单元格内返回值,则必须再次使用大括号:
A1{1,1}
将返回1.
答案 1 :(得分:0)
这取决于你想用这种结构做什么。您可以为每个1d数组条目使用单元格数组,并创建此类单元格数组的矩阵:
a = {1, 2};
b = {-1, 4, 6};
M = [a b];
或者,您可以定义稀疏的3d数组。