获取数组百分比并使用函数find()查找位置的问题

时间:2015-06-26 19:15:48

标签: matlab

我有一些数据点,我想获得比最大值低2%的点数。我正在使用

获得最大值
[peakVal, peakLoc] = findpeaks (data)

然后,我想使用函数peakVal*0.98从该点(find())下面2%。但是,我不能这样做,因为我的载体中可能不存在这一点,但可能存在接近2%的数字。

我想知道你是否愿意帮助我。我坚持这个问题一个星期。在此之后,我将创建一些错误栏,所以我需要找到一种解决方法。

2 个答案:

答案 0 :(得分:0)

int mid = ( high + low ) / 2;

这种逻辑有用吗?在此之后找到索引应该很容易..

答案 1 :(得分:0)

使用逻辑索引

x=rand(1,300)*200;
val = 0.98;
delta =  0.005;

greatest=max(x);

c = ((val - delta)*greatest < x) & (x < (val + delta)*greatest);
range = x(c);