声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 柏莱

[分形与混沌] (求助)时间序列的平均周期如何计算?

[复制链接]
发表于 2007-10-25 22:58 | 显示全部楼层
平均周期的求法在matlab太阳黑子的例子中就是这么求的,但是问题到底出在哪里呢?

也请朋友们一起分析分析吧!
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-10-26 14:07 | 显示全部楼层
真的出现问题了。

今天试了下吕金虎书上的例子,CHEN系统,代码如下:
function out=CHENS(t,x)
%陈氏系统建模
%   dx=a*(y-x)
%   dy=(c-a)*x-x*z+c*y
%   dz=x*y-b*z

a=35;
b=3;
c=28;

dx=a*(x(2)-x(1));
dy=(c-a)*x(1)-x(1)*x(3)+c*x(2);
dz=x(1)*x(2)-b*x(3);

out=[dx;dy;dz];

求解代码:
%solve CHENS system

x0=[0;1;0];
t0=0;
t1=6;
h=0.0001;

[t,y]=ode45('CHENS',[t0:h:t1],x0);
plot3(y(:,1),y(:,2),y(:,3));

按照书上所说的,忽略前10000个点,取后50000个点做分析。每隔10步选一个点,即采样时间d_t=0.001,N=5000。
进行频谱分析,代码如下:
>> Y=fft(XX);
>> N=length(Y);
>> power=abs(Y(1:N/2)).^2;
>> nyquist=1/2;
>> freq=(1:N/2)/(N/2)*nyquist;
>> plot(freq,power)
>> period=1./freq;
>> plot(period,power)
>> [mp,index]=max(power)

mp =

  2.6891e+008


index =

    10

>> period(index)

ans =

   500

求出来的平均周期T居然是500,和吕金虎书上的T=60.4210差别也太大了吧!
发表于 2007-10-26 14:22 | 显示全部楼层
又,在一篇文献上看到平均周期还可以这么求,如图所示。

用这种方法也算了一下
T=410,和吕金虎书上结果相差也是甚远啊!怀疑他的结果了,呵呵!请一起分析分析吧!
未命名.JPG
 楼主| 发表于 2007-10-26 15:58 | 显示全部楼层
收下,谢谢!
发表于 2007-10-26 18:46 | 显示全部楼层

回复 #19 柏莱 的帖子

柏莱也想想哈!虽然小数据量法对平均周期鲁棒性比较好,但是这也是一个问题对不!
发表于 2009-3-5 16:04 | 显示全部楼层

回复 沙发 sssssxxxxx921 的帖子

nyquist = 1/2;是什么意思啊
发表于 2014-6-23 08:28 | 显示全部楼层
为什么算出的平均周期就是数据长度?请高手指点
发表于 2014-8-18 20:22 | 显示全部楼层
kingsir 发表于 2014-6-23 08:28
为什么算出的平均周期就是数据长度?请高手指点

我也是,用快速傅里叶变换求得的平均周期是数据长度,不知道错哪了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 19:19 , Processed in 0.070478 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表