matlab 获取曲线峰谷
时间: 2023-08-23 11:10:53 浏览: 57
在MATLAB中,可以使用`findpeaks`和`findpeaks`函数来获取曲线的峰值和谷值。
下面是一个示例代码,演示如何使用这两个函数来获取曲线的峰值和谷值:
```matlab
% 生成示例数据
x = linspace(0, 2*pi, 100);
y = sin(x);
% 寻找峰值
[peaks, peak_locs] = findpeaks(y);
% 寻找谷值
[valleys, valley_locs] = findpeaks(-y);
% 绘制原始曲线和峰值、谷值
plot(x, y);
hold on;
plot(x(peak_locs), peaks, 'ro'); % 峰值用红色圆圈表示
plot(x(valley_locs), -valleys, 'bo'); % 谷值用蓝色圆圈表示
% 添加图例
legend('原始曲线', '峰值', '谷值');
% 标题和标签
title('曲线峰谷示例');
xlabel('X轴');
ylabel('Y轴');
```
在这个例子中,我们首先生成了一个正弦曲线作为示例数据。然后使用`findpeaks`函数找到曲线的峰值,并分别存储峰值的幅度和位置。接下来,使用`findpeaks`函数找到曲线的谷值,由于`findpeaks`函数寻找的是峰值,因此我们传入负数的曲线(-y)来寻找谷值,并存储谷值的幅度和位置。最后,使用`plot`函数绘制原始曲线,并将峰值和谷值用红色圆圈和蓝色圆圈标记出来。
您可以根据实际情况修改代码,根据您的数据和需求进行相应的调整。希望对您有所帮助!如果您还有其他问题,请随时提问。