我仍然是一个新手,我很可能有一个关于矩阵数组的非常简单的问题。我有n
行类似以下矩阵:Matlab填充矩阵数组
>> matrix
1 678 543
2 676 541
3 543 987
4 543 98
1 433 54
2 908 32
3 457 54
4 235 21
如何创建大小相等的矩阵阵列? 即array{i,1}
这是问题的复制: Array of Matrices in MATLAB ,可能很多人的。
对我而言,不清楚的是如何填充我的固定维矩阵数组。这样
>>array{1,1}
1 678 543
2 676 541
3 543 987
4 543 98
这里是我的尝试:
找到所有在matrix
1
柱和那些的matrix
的size
。 创建cell
数组,看看每一行,如果它等于1
创建一个array{i,1}
零等于我想创建的矩阵的大小(在我的例子中为4x3
)。
如果不等于1
则向阵列中插入矩阵的前四个值。
有没有更快的方式来做到没有循环?
[这个答案](http://stackoverflow.com/q/466972#467199)展示了如何另一个矩阵添加到您的3-d矩阵集合。您也可以使用[单元格阵列](http://www.mathworks.com/help/matlab/cell-arrays.html),但效率较低。 –
我不知道这是你喜欢什么,但如果你喜欢array = matrix(1,:),它会将第一行中的所有元素复制到一个数组中。 – Akatosh
@EitanT:谢谢,但我想使用单元格数组,以便能够更改代码,以防万一我有不同的维矩阵。 – seli