4

命令:

>> mat = magic( 4 );
>> out = cat( 3, mat, mat );

将矩阵“mat”沿第三维连接 2 次并生成一个 4×4×2 数组

如何在不使用循环的情况下“n”次生成 4×4×n 数组?

我知道这可以通过使用这样的单元格数组来实现:

>> out = cat( 3, cellArray{:} );

但是如何创建这个单元格数组?:

>> cellArray = {mat, mat, ... , mat};  % n time

如何在matlab中连接数组n次?

4

1 回答 1

5

您可以使用repmat.

如果你想要一个 3 维矩阵:

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 单元阵列。

于 2012-12-25T16:22:50.157 回答