对于一些“大数据”处理。绘制时,我的数据是符号波,但具有随机峰值。(所以想象一下将每个矩阵位置的值与它的位置相对应)
我知道如何找到峰值,但我需要一种方法来找到峰值两侧的局部最小值和矩阵中的位置。例如,如果数据是:
3 2 1 0 1 2 3 7 -4 -5 -6 -5 -4 0
我需要的函数将返回如下内容: min,loc = [0, -6; 4、11]
如果您有权访问 R2017b 或更高版本,请查看islocalmax和islocalmin函数。
MATLAB R2007a 和更新版本有一个函数调用findpeaks
(需要信号处理工具箱)。您正在寻找的语法是
[pks,locs] = findpeaks(data)
具体来说,
>> [pks,locs] = findpeaks(-[3 2 1 0 1 2 3 7 -4 -5 -6 -5 -4 0]) % note it's "-[data]"
pks =
0 6
locs =
4 11
减号是因为我们想要“山谷”而不是“山峰”,所以请确保您不要忘记pks
事后否定。