2012-10-13 3 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

제시된 매트릭스 포인트는 최대 값이 아닌 한 유효한 매트랩 매트릭스가 아닙니다. 그 다음 인 경우에 :

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

당신에게 적절한 인덱스를 제공 할 것입니다.

편집

는 "최대"의 값을 갖는 새 행렬을 구하는 단지

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

'IDX = 3' 내가 대가로 무엇을 얻을 수 있습니다. 그 두 값은 정확히 무엇입니까? 나는 그것의 감각을 만들려고 노력했지만 나는 할 수 없다. 또한 세 번째 열의 "최대 값"과 일치하는 값을 새 행렬로 변환하려면 어떻게해야합니까? –

+0

수정 된 답변보기 – bla

관련 문제