2016-05-07 4 views
1

このような行列をどのように分けることができるか A = [0 1 1 4; 1 2 0 8; 0 3 0 5; 2 3 0 4; 2 4 0 3; 3 4 0 2] 私の参照は第1列です。最初の列の数字がゼロの場合は、次のように分けます。 B = [0 1 1 4; 0 3 0 5] およびC = [1 2 0 8; 2 3 0 4; 2 4 0 3; 3 4 0 2]matlabの第1列の行をゼロで区切る

答えて

0

これをコード化することはできますが、本質的に機械は条件付きでこのタイプのインデックス付けを行うことになります。

>> A=[0 1 1 4; 1 2 0 8; 0 3 0 5; 2 3 0 4; 2 4 0 3; 3 4 0 2]; 
>> bool = A(:,1)==0; 
>> ind = 1:size(A,1); 
>> B = A(ind(bool),:); 
>> C = A(ind(~bool),:); 
>> B 

B = 

    0  1  1  4 
    0  3  0  5 

>> C 

C = 

    1  2  0  8 
    2  3  0  4 
    2  4  0  3 
    3  4  0  2 

>> 
関連する問題