Matlab - 根据条件选择特定行

标签 matlab matrix indexing

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 矩阵,除非 Maximum 是一个数字。 如果是这样的话:

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

会给你正确的索引。

编辑

得到一个值为“最大值”的新矩阵

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

关于Matlab - 根据条件选择特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12869480/

相关文章:

c - 使用指针在 C 中填充多数组(矩阵)

Matlab:基于子矩阵 reshape 大矩阵的最佳方法是什么

python - 找不到根据键翻译字符串的简单方法

MySQL 索引和顺序

matlab - 如何在Matlab中定期向向量中插入元素

matlab - 为什么 realmin > eps(0)?

Matlab矩阵乘法和转置精度

R函数搜索函数

arrays - 在 Matlab 中向量化和分离查找操作

python - 如何从数据集中提取n个 block ?