如何用findpeaks寻找离散变量的峰值
时间: 2023-09-13 13:10:45 浏览: 160
使用findpeaks函数检测信号峰值
`findpeaks` 函数同样可以用于寻找离散变量的峰值。这里的关键是要指定采样点的间隔,以便 `findpeaks` 函数能够正确地找到峰值。
以下是使用 `findpeaks` 函数寻找离散变量的峰值的示例代码:
```matlab
% 定义离散变量
x = 1:10;
y = [1 2 2 4 5 4 3 2 1 1];
% 指定采样点间隔
dx = 1;
% 使用 findpeaks 寻找峰值
[peaks, locations] = findpeaks(y, 'MinPeakDistance', dx);
% 绘制离散变量及峰值
stem(x, y);
hold on;
stem(x(locations), peaks, 'ro');
```
在上述代码中,首先定义了一个离散变量 `y`,然后指定采样点的间隔为 `dx=1`。接着使用 `findpeaks` 函数寻找该离散变量的峰值。函数使用 `'MinPeakDistance'` 参数来限制峰值之间的最小距离,以避免重复检测。
最后,将离散变量和峰值绘制在同一张图中,离散变量用垂直线表示,峰值用红色圆圈表示。
阅读全文