给定矢量a = [1,2,3.2,4,5]和元素x = 3 在向量a中,如何找到大于x的确切条目?
答案 0 :(得分:11)
我不确定你的“确切”条目是什么意思。这将为您提供所有的索引,其值大于x
:
indices = find(a > x);
假设a
已经排序,这将为您提供第一个索引(即最大值大于x
):
index = find(a > x,1);
答案 1 :(得分:1)
如果您想为x
的多个值计算这些位置,最好使用histc
而不是循环遍历x
的所有值,如复杂性{ {1}}为histc
,而循环方式为O(n*log(n))
:
O(n^2)
这适用于已排序的[~,I] = histc(x, [-Inf; a(:); Inf]);
I(x==inf) = numel(a)+1;
和任意a
。举个例子:
x
将屈服:
a = 1:10;
x = [5.5, 0.1, 2.3];