Ham*_*med 4 arrays matlab concatenation
命令:
>> mat = magic( 4 );
>> out = cat( 3, mat, mat );
Run Code Online (Sandbox Code Playgroud)
沿第三维连接矩阵 'mat' 2 次并生成 4×4×2 数组
如何在不使用循环的情况下“n”次完成这项工作并生成 4×4×n 数组?
我知道通过使用像这样的元胞数组可以做到这一点:
>> out = cat( 3, cellArray{:} );
Run Code Online (Sandbox Code Playgroud)
但如何创建这个元胞数组呢?:
>> cellArray = {mat, mat, ... , mat}; % n time
Run Code Online (Sandbox Code Playgroud)
如何在matlab中连接数组n次?
您可以使用repmat
。
如果你想要一个3维矩阵:
mat = magic(4);
n = 3; % Number of times you want to replicate
out = repmat(mat,[1 1 n]);
Run Code Online (Sandbox Code Playgroud)
out
将是一个 4x4xn 双数组。
如果您想要一个元胞数组,您可以执行此操作作为附加步骤:
outCell = mat2cell(out,4,4,ones(1,n));
Run Code Online (Sandbox Code Playgroud)
outCell
将是一个 1x1xn 元胞数组。
归档时间: |
|
查看次数: |
2783 次 |
最近记录: |