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]。