如何在matlab中连接数组'n'时间?

时间:2012-12-25 16:18:00

标签: arrays matlab concatenation

命令:

>> 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中连接数组?

1 个答案:

答案 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的单元格数组。