【发布时间】:2015-03-11 13:33:48
【问题描述】:
我之前在 MATLAB 向量中使用过逻辑索引来处理类似的条件
X = X(X < 6);
但是,现在我想使用相同的想法找到局部极值,但具有“局部”条件。我会对类似的东西感兴趣
X = X(X(i) > X(i-1) & X(i) > X(i + 1));
我知道这不适用于向量的第一个和最后一个元素,并且有更好的方法可以找到局部极值。
这个问题与上一个问题 (Getting FFT peaks from data) 不同,因为我对找到最大值并不特别感兴趣,而是能够使用逻辑索引和“本地”条件来引用向量中的相邻元素.
【问题讨论】:
-
向我们展示最小样本输入数据和预期输出?
-
我认为如果没有某种循环,单独使用逻辑索引是不可能的。
-
对于相对简单的约束或条件,您可以使用
ordfilt2或findpeaks。见this SO question。