声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1273|回复: 4

[分形与混沌] 小数据量法的疑问

[复制链接]
发表于 2008-1-12 11:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我在一个帖子上看到的说“小数据量法无法计算纯噪声的信号”那么是不是我对于一个系统不加噪声结果就不对呢?还有,在吕金虎的那本《混沌时间序列分析及其应用》的88页,他们就是先用四阶Runge-Kutta法解chen系统的方程,然后取变量x的时间序列计算,经过频谱分析得到平均周期为60.2410,lyapunov指数为2.0247。

我也按照他的方法得到时间序列,但是用fft变换得到的平均周期为555.5556,用另外一个平均周期的算法得到的又是9,我记得前几天还能算对的,得60多就差一点点,不知道的怎么回事现在怎么弄都不对,我把程序贴上来,大家帮我看看把?谢谢了


function P=ave_T(x,N)
[tt1,y1]=ode45(@chen,[0,500],[0,1,0]);
xx1 = y1(:,1)';
delt_t1 = 0.0001;
t1 = 0:delt_t1:70;
x1 = spline(tt1, xx1, t1);

Y=fft(x);
N=length(Y);
L=round(N/2);%四舍五入取整
Y(1)=[];
power=abs(Y(1:L)).^2;%%幅度的平方为能量
nyquist=1/2;
freq=(1:L)/(L)*nyquist;
%subplot(2,1,1);plot(freq,power);
%title('freq-power gram');
period=1./freq;
%subplot(2,1,2);plot(period,power);
%title('period-power gram');
[mp,index]=max(power);
P=period(index);
return

这个是555.5556

function P=ave_T(x,N)
[tt1,y1]=ode45(@chen,[0,500],[0,1,0]);
xx1 = y1(:,1)';
delt_t1 = 0.0001;
t1 = 0:delt_t1:70;
x1 = spline(tt1, xx1, t1);

xPower=abs(fft(x)).^2;
N=length(xPower);
xPower(1)=[];%去除直流分量
N=floor(N/2);
xPower=xPower(1:N);
freq=(1:N)/N*0.5;
[mP,index]=max(xPower);
P=index;
return

这个得到的是9

function dx=chen(t,x)
dx=zeros(3,1);

a=35;
b=3;
c=28;
dx(1)=a*(x(2)-x(1));
dx(2)=(c-a)*x(1)-x(1)*x(3)+c*x(2);
dx(3)=(x(1)*x(2))-b*x(3);

return


另外书上的时序图都画到5000了,步长是0.0001,那运行起来岂不是要很久,取点只是到60000,没得必要画那么多吧?
不知道是不是我哪里理解错了,还望大家不吝赐教!
回复
分享到:

使用道具 举报

发表于 2008-1-14 07:59 | 显示全部楼层
和你一样有同感啊,这个平均周期我也是怎么都算不到他这个值哦!
发表于 2008-3-26 14:58 | 显示全部楼层
小数据量法是不能用来计算纯噪声的,因为计算过程中要找一段近似线性的部分,取其斜率作为最大L指数,纯噪声找不到这样的部分,当然程序还可以出结果,但这个结果是错误的了!
发表于 2008-3-26 20:00 | 显示全部楼层
关于这个平均周期的问题,我建议大家还要再研究研究哈!
发表于 2008-3-27 21:44 | 显示全部楼层
书上的意思应该是[0:0.0001:6]吧
好象不是[0:0.00001:600000]
我算楼主的程序是 平均周期得出个6
十分郁闷啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 13:20 , Processed in 0.052245 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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