命令:
>> mat = magic( 4 );
>> out = cat( 3, mat, mat );
连接矩阵'mat',沿第三维,2次并产生一个4乘4乘2的数组
如何在不使用循环的情况下生成一个4乘4乘的数组?
我知道这可以通过使用像这样的单元格数组来实现:
>> out = cat( 3, cellArray{:} );
但是如何创建这个单元格数组? :
>> cellArray = {mat, mat, ... , mat}; % n time
如何在matlab中连接数组?
答案 0 :(得分:4)
您可以使用repmat
。
如果你想要一个三维矩阵:
mat = magic(4);
n = 3; % Number of times you want to replicate
out = repmat(mat,[1 1 n]);
out
将是一个4x4xn双数组。
如果您需要单元格数组,可以执行此操作作为附加步骤:
outCell = mat2cell(out,4,4,ones(1,n));
outCell
将是一个1x1xn的单元格数组。