2017-03-26 7 views
0

4次元の次元(45x66x53x15)の行列を4次元の3次元行列の配列に変換し、それぞれに文字を追加する必要があります。 matl1(45x66x53x1)、mat2(45x66x53x2)などのb)のような行列も同様に、文字フィールドと3D行列のあるもののような構造体配列になります。それを行う最も簡単で簡単な方法は何ですか?matlabで4次元行列を3次元行列の配列に変換する

+0

4d配列は***すでに*** 3次元配列の配列です。 'A(:, :,:、1)'は最初の配列、 'A(:, :,:、、2)'は2番目の配列、以下同様です。 – beaker

答えて

1

一つの簡単な方法は、ループ

A = rand(2,3,4,5); % Some example data 

for idx = 1:size(A,4); % Loop along the 4th dimension 
    B.(char(idx + 96)) = A(:,:,:,idx); 
end 

のために使用することです。この与える:

B = 
    a: [2x3x4 double] 
    b: [2x3x4 double] 
    c: [2x3x4 double] 
    d: [2x3x4 double] 
    e: [2x3x4 double] 

char(idx + 96)一部がインデックスに基づいてa, b, c ...リストを作成するだけの方法です。

関連する問題