matlab 峰值位置,在数据中查找峰值 - MATLAB & Simulink - MathWorks 中国

本文展示了如何在MATLAB中使用findpeaks函数找到数据中的峰值,并结合太阳黑子数据进行实例分析。通过对数据进行傅里叶变换,验证了约11年的太阳活动周期,展示了周期估计的两种方法。
摘要由CSDN通过智能技术生成

在数据中查找峰值

使用 findpeaks 求出一组数据中局部最大值的值和位置。

文件 spots_num.mat 包含从 1749 年到 2012 年每年观测到的太阳黑子的平均数量。这些数据可以从美国国家航空航天局获得。

求出最大值及其出现的年份。将它们与数据一起绘制出来。

load('spots_num.mat')

[pks,locs] = findpeaks(avSpots);

plot(year,avSpots,year(locs),pks,'or')

xlabel('Year')

ylabel('Number')

axis tight

cf7a7506ba2412946381048365a37f9d.png

一些峰值彼此非常接近。有些峰值不会周期性重复出现。每 50 年大约有五个这样的峰值。

为了更好地估计周期持续时间,请再次使用 findpeaks,但这次将峰间间隔限制为至少六年。计算最大值之间的间隔均值。

[pks,locs] = findpeaks(avSpots,'MinPeakDistance',6);

plot(year,avSpots,year(locs),pks,'or')

xlabel('Year')

ylabel('Number')

title('Sunspots')

axis tight

legend('Data'

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值