Matlabにマトリックスがあります。A=
1 2 3
4 5 6
7 8 9
10 11 12
ここで、Aから派生した新しい行列Bを作成します。新しい行列は次のようになります。B=
1 0
0 4
2 0
0 5
3 0
0 6
FORループを使用せずにそれを解決することは可能ですか?
いくつかのインデックス付けで簡単:
A=[1 2 3 ;
4 5 6 ;
7 8 9 ;
10 11 12 ];
B = zeros(2*size(A,2),2);
B(1:2:end,1)=A(1,:); % put first row values in first column of c
B(2:2:end,2)=A(2,:); % put énd row values in 2nd column of c
4x4マトリックスのみを使用している場合は、そうです。
4x4を変換し、行x列の規則を使用して、Aの要素に一度に1つずつアクセスできます。A[row][column]
次に、6x2の行列が必要な場合は、ゼロで呼び出すだけです。B = zeros(6,2)
次に、交互に下B[row][column] = A[row][column]
に移動すると、簡単に構築できるはずです。