4

コマンド:

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

行列 'mat' を 3 番目の次元に沿って 2 回連結し、4 x 4 x 2 の配列を生成します。

ループを使用せずに 4 x 4 x n の配列を生成する「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]);

out4x4xn の double 配列になります。

セル配列が必要な場合は、追加の手順としてこれを行うことができます。

outCell = mat2cell(out,4,4,ones(1,n));

outCell1x1xn セル配列になります。

于 2012-12-25T16:22:50.157 に答える