Matlab - 根据条件选择特定行

Kev*_*phy 5 indexing matlab matrix

points = [  
    -9.9043877608991468201413092380493, 426.34796945271797204125533010993, Maximum  
    -2.9714737944057521874892206269196, 422.13223302035451265143272598599, Minimum
    9.3758615553048990076305298649689, 441.87005169359418197397861057075, Maximum
]
Run Code Online (Sandbox Code Playgroud)

我想循环并创建一个新矩阵,其中只有第三列匹配'Maximum'的值.

尝试时:

idx = ( points(:,3)=='Maximum' )
Run Code Online (Sandbox Code Playgroud)

我明白了:

Maximum == Maximum
Minimum == Maximum
Maximum == Maximum
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢!

bla*_*bla 9

除非Maximum是一个数字,否则所呈现的矩阵点不是有效的matlab矩阵.如果是这样的话:

  idx=find( points(:,3)== Maximum  )
Run Code Online (Sandbox Code Playgroud)

会给你正确的指数.

编辑

获得一个值为"maximum"的新矩阵

 new_matrix=points(idx,1:end-1)
Run Code Online (Sandbox Code Playgroud)