你歌 发表于 2012-6-1 20:33

如何利用频谱分析求解时间序列的平均周期

利用四阶Runge-Kutaa法求解chen‘s混沌系统得到时间序列,需要对其做频谱分析求求其平均周期,这个路该怎么走???有个简单例子更好

沐雨柠檬 发表于 2013-8-13 16:20

平均周期
平均周期的计算可以采用FFT方法。在matlab帮助中有一个太阳黑子的例子,现摘录如下:
load sunspot.dat             %装载数据文件
year = sunspot(:,1);       %读取年份信息
wolfer = sunspot(:,2);    %读取黑子活动数据
plot(year,wolfer)             %绘制原始数据图
title('Sunspot Data')

Y = fft(wolfer);               %快速FFT变换

N = length(Y);                %FFT变换后数据长度
Y(1) = [];                     %去掉Y的第一个数据,它是所有数据的和
power = abs(Y(1:N/2)).^2;%求功率谱
nyquist = 1/2;               
freq = (1:N/2)/(N/2)*nyquist;%求频率
plot(freq,power), grid on      %绘制功率谱图
xlabel('cycles/year')
title('Periodogram')

period = 1./freq;                     %年份(周期)
plot(period,power), axis(), grid on%绘制年份-功率谱曲线
ylabel('Power')
xlabel('Period(Years/Cycle)')

= max(power);       %求最高谱线所对应的年份下标
period(index)                           %由下标求出平均周期

沐雨柠檬 发表于 2013-8-13 16:21

沐雨柠檬 发表于 2013-8-13 16:20 static/image/common/back.gif
平均周期
平均周期的计算可以采用FFT方法。在matlab帮助中有一个太阳黑子的例子,现摘录如下:
load suns ...

这个方法行得通,我在论坛里看到的,分享一下。

原来是小飞 发表于 2013-11-14 10:44

沐雨柠檬 发表于 2013-8-13 16:21 static/image/common/back.gif
这个方法行得通,我在论坛里看到的,分享一下。


结果如下,如何求解平均周期?

JIG结果如何处理
页: [1]
查看完整版本: 如何利用频谱分析求解时间序列的平均周期