MatLab 函数 fingpeaks 对一维数组求解局部极大和极小值
徐海蛟老师课堂教学
举例说明。
clc; clear;% 清屏清空变量
figure('Color', 'w');% 背景:白色
Data = [1 -2 3 -4 5 -6 7 8 5 4 1 2 -3 -1 -5 9 7 -6 5];
plot(Data, '-s', 'LineWidth',2);% 画曲线,线宽为2
grid on;% 画网格线
[Pks, Locs] = findpeaks(Data);% 极大值Pks, 对应下标Locs
[Pks2, Locs2] = findpeaks(-Data);
Pks2 = -Pks2;% 极小值Pks2, 对应下标Locs2
则 Pks = [3 5 8 2 -1 9],
Pks2 = [-2 -4 -6 1 -3 -5 -6]。