2012-10-13 116 views
5
points = [ 
    -9.9043877608991468201413092380493, 426.34796945271797204125533010993, Maximum 
    -2.9714737944057521874892206269196, 422.13223302035451265143272598599, Minimum 
    9.3758615553048990076305298649689, 441.87005169359418197397861057075, Maximum 
] 

我想循環遍歷並創建一個新的矩陣,其中第三列與「最大值」匹配。Matlab - 根據條件選擇特定行

當嘗試:

idx = (points(:,3)=='Maximum') 

我得到:

Maximum == Maximum 
Minimum == Maximum 
Maximum == Maximum 

任何想法?謝謝!

回答

9

呈現的矩陣點不是有效的matlab矩陣,除非Maximum是數字。 如果是這樣的話:

idx=find(points(:,3)== Maximum ) 

會給你正確的指數。

編輯

獲得新的矩陣的 「最大」 值只是

new_matrix=points(idx,1:end-1) 
+0

'IDX = 3' 是我得到的回報。這兩個值究竟是什麼?我嘗試瞭解它,但我不能。另外,如何將第3列中的「最大值」匹配的值轉換爲新的矩陣? –

+0

見編輯答案 – bla