如何在matlab中连接数组'n'时间?
Posted
技术标签:
【中文标题】如何在matlab中连接数组\'n\'时间?【英文标题】:How to Concatenate arrays 'n' time in matlab?如何在matlab中连接数组'n'时间? 【发布时间】:2012-12-11 12:27:53 【问题描述】:命令:
>> 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 次?
【问题讨论】:
【参考方案1】:您可以使用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 元胞数组。
【讨论】:
@HamedHamed:如果输出应该是元胞数组,您可以简单地调用repmat(mat,[1,1,n])
。以上是关于如何在matlab中连接数组'n'时间?的主要内容,如果未能解决你的问题,请参考以下文章