【发布时间】:2016-08-01 15:59:46
【问题描述】:
我有一个包含 2 列和多行的矩阵。我想在第一列中找到最小值的索引,但仅限于第 2 列小于 5 的值。
这是一个例子:
x = [3,2;2,4;1,6];
我希望结果是索引 2,因为 2 是第 1 列的最小值,条件是第 2 列小于 5。
在matlab中有没有更快的方法来做到这一点。我目前的解决方案是:
indicesCandidates = x(:,2) < 5;
minValue = min(x(indicesCandidates,1));
indicesMin = find(x(:,1) == minValue)
谢谢!
【问题讨论】:
-
是的,您可以使用
min函数的第二个输出参数删除最后一行:[minValue, indicesMin]= min(x(indicesCandidates,1));
标签: matlab sorting matrix indexing