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

Sadece üç sütun 'Maksimum' ile eşleşen değerlerle yeni bir matris oluşturmak ve yeni bir matris oluşturmak istiyorum.Matlab - Koşullara Göre Belirli Satırı Seçin

çalışırken:

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

alıyorum:

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

bir fikir? Teşekkürler!

cevap

9

Belirtildiği gibi matris noktaları, maksimum bir sayı olmadığı sürece geçerli bir matlab matrisi değildir. o zaman durum söz konusuysa:

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

size uygun indeksleri verecektir.

Düzenleme

"maksimum" nin değerlerle yeni matrisi elde etmek sadece

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

'idx = 3 ' Karşılığında elde ediyoruz. Bu iki değer tam olarak nedir? Bunu anlamayı denedim ama yapamam. Ayrıca, 3. sütundaki "Maksimum" ile eşleşen değerleri yeni bir matrise nasıl dönüştürebilirim? –

+0

düzenlenmiş cevaba bakın – bla

İlgili konular