给定一个向量a = [1,2,3.2,4,5]和一个元素x = 3在向量a中,如何找到大于x的确切条目?

时间:2010-08-29 05:58:41

标签: matlab

给定矢量a = [1,2,3.2,4,5]和元素x = 3 在向量a中,如何找到大于x的确切条目?

2 个答案:

答案 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];