2017-02-03 4 views
1

4x110の各2つの行列ABがあります。私は、次元4x2x110の3次元行列Cを作成したいと思います。値はABです。 Cの第2の次元は、2つの行列ABを持つため、2です。それぞれが2次元である2つの行列から3次元行列を作成する方法

ありがとうございます。

+0

おかげで、私は本当に試したが、私はあなたが本当に 'Mx2xN'結果をしたい場合は、' C = horzcat(並び替える(Aを使用することができます – Henry

+0

を失敗し、[1 3 2])、permute(B、[1 3 2])) –

答えて

3

正確にはロケット科学ではありません。

c = cat(3, A, B); 

c(:, :, 1) is A 
c(:, :, 2) is B 
+1

ありがとうございます。あなたがスティーブンと名乗る前の男は、スマートにしようとしてループを提案しました。あなたの方法ははるかに良いです。彼は彼のコメントthiughを削除しました – Henry

+0

@Henry、私はそれが助けてうれしいです。 –

+0

これは '4x11x2'の結果であり、' 4x2x11'の結果ではありません。後で 'c = permute(c、[1 3 2]);'が必要になるかもしれません。 –

1

行列をコピーするだけです。

A = ones(4, 110); 
B = 2*ones(4, 110); 
C(:, 1, :) = A; 
C(:, 2, :) = B; 
size(C) 

出力:

ans = 

    4  2 110 
関連する問題