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

Chciałbym wykonać pętlę i utworzyć nową macierz z wartościami, w których kolumna trzy pasuje do "Maksymalna".Matlab - Wybierz określony wiersz na podstawie warunku

Podczas próby:

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

uzyskać:

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

pomysłów? Dzięki!

Odpowiedz

9

Przedstawione punkty macierzy nie są poprawną macierzą matlab, chyba że Maximum jest liczbą. Jeśli tak jest, to:

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

daje odpowiednich indeksów.

Edit

aby uzyskać nową macierz z wartościami "Maximum" tylko

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

'idx = 3' jest to, co mam w zamian. Czym dokładnie są te dwie wartości? Próbowałem to zrozumieć, ale nie mogę. W jaki sposób mogę zmienić wartości pasujące do "Maksimum" w trzeciej kolumnie na nową macierz? –

+0

zobacz edytowaną odpowiedź – bla

Powiązane problemy