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

私はループスルーを行い、列3が「最大」と一致する値を持つ新しい行列を作成したいと考えています。Matlab - 条件に基づいて特定の行を選択

しようとすると:

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

を私が手:

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

任意のアイデア?ありがとう!

答えて

9

提示されているようなマトリックスポイントは、最大値が数値でない限り有効なmatlabマトリックスではありません。 その場合は、その後:

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

はあなたに適切な指標を与えます。

編集

は "最大" の値を使用して新しい行列を取得するだけで

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

'IDX = 3' は私がお返しに得るものです。これら2つの値は正確には何ですか?私はそれを理解しようとしましたが、できません。また、3列目の「最大値」に一致する値を新しい行列にするにはどうすればよいですか? –

+0

編集済みの回答を表示 – bla

関連する問題