【问题标题】:Matlab - Select Specific Row Based on ConditionMatlab - 根据条件选择特定行
【发布时间】:2012-10-03 21:12:36
【问题描述】:
points = [  
    -9.9043877608991468201413092380493, 426.34796945271797204125533010993, Maximum  
    -2.9714737944057521874892206269196, 422.13223302035451265143272598599, Minimum
    9.3758615553048990076305298649689, 441.87005169359418197397861057075, Maximum
]

我想循环并创建一个新矩阵,其中仅包含第三列与“最大值”匹配的值。

尝试时:

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

我明白了:

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

有什么想法吗?谢谢!

【问题讨论】:

    标签: matlab matrix indexing


    【解决方案1】:

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

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

    会给你正确的索引。

    编辑

    获取一个新的矩阵,其值为“最大值”而已

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

    【讨论】:

    • idx = 1 3 是我得到的回报。这两个值究竟是什么?我试着理解它,但我做不到。另外,如何将第 3 列中匹配“最大值”的值转换为新矩阵?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 2020-01-24
    相关资源
    最近更新 更多