2013-09-26 53 views
0

我想根據一個特性(我使用'if')在較小的矩陣中拆分矩陣。複製循環中的新矩陣中的某些行

for jj = 1:length(FailureHoopUP_sorted) 
    if FailureHoopUP_sorted(jj,1)==20 
     FailureHoopUP_20(jj,:) = FailureHoopUP_sorted(jj,:); 
    elseif FailureHoopUP_sorted(jj,1)==30 
     FailureHoopUP_30(jj,:) = FailureHoopUP_sorted(jj,:); 
    else 
     FailureHoopUP_40(jj,:) = FailureHoopUP_sorted(jj,:); 
    end 
    end 

我遇到的問題是,在新建矩陣中有數據的行之間有零行。 我想知道我該如何避免這種情況?

謝謝你的幫助。

回答

1

你不需要循環,你可以使用邏輯索引。例如:

FailureHoopUP_20=FailureHoopUP_sorted(FailureHoopUP_sorted(:,1)==20,:) 
... 
...  

這也應該解決的問題,零(這種情況發生,因爲你保留原來的指數jj這是關係到FailureHoopUP_sorted的長度)。