2017-07-12 9 views
0
a = [1 2 3; 
    4 5 6; 
    7 8 9]; 

b = [10 11 12; 
    13 14 15; 
    16 17 18; 
    ]; 

c = [19 20 21; 
    22 23 24; 
    25 26 27; 
    ]; 

私は、私は次のことを試してみました3つの2D行列を3D行列に結合するにはどうすればよいですか?

>> mat(:, :, 1) 
ans = 
[1 2 3 
4 5 6 
7 8 9] 

>> mat(:, :, 2) 
ans = 
[10 11 12 
13 14 15 
16 17 18] 

>> mat(:,:,3) 
ans = 
[19 20 21 
22 23 24 
25 26 27] 

、私は次のようにそれらにアクセスできるように、3Dマトリックスmatに上記の2次元マトリクスを組み合わせたい

mat = [a, b, c]; 

しかし、実際には機能しません。

だから、どうすればいいですか?

+0

答えに加えて、 'cat'に関連するドキュメントを読んで、物を組み合わせる方法のアイディアをもっとたくさん得ました。 – Matt

+0

@hbaderts:うーん、それが "関連"のサイドバーに表示されなかったのはなぜだろうか。 – gnovice

答えて

3

明示的なマトリックスのインデックスを使用して、次のようにあなたがそれを行うことができます。

mat(:,:,1) = a; 
mat(:,:,2) = b; 
mat(:,:,3) = c; 

mat = [a, b, c];3x9行列を作成します。

5

角括弧[]は、行列の水平および垂直連結用です。あなたは、より高い次元に沿って連結するためcat機能を使用することができます。

mat = cat(3, a, b, c); 

詳細情報hereを見つけることができます。

+0

'm7913d'の答えに何が間違っていますか? – anonymous

+0

@anonymous:何もありません。それは同じことを達成するためのもう一つの方法です。 – gnovice

+0

@anonymousこれは短期間ではあるが覚えにくい、すばらしい代替品です。 – m7913d

関連する問題