声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1741|回复: 3

[分形与混沌] 关于平均周期计算的讨论

[复制链接]
发表于 2007-10-29 08:59 | 显示全部楼层 |阅读模式

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

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

x
关于平均周期,本来以为已经很理解了,对于其计算应该也没有任何问题了,但是近期在学习过程中,又发现了很多矛盾的地方,现将我的分析贴出来,也请大家一起帮忙分析分析!

分析对象:Lorenz系统
代码如下:
function dy = Lorenz(t,y,r)
t=16;
r=45.92;
b=4;

dy=zeros(3,1);
dy(1)=-t*(y(1)-y(2));
dy(2)=-y(1)*y(3)+r*y(1)-y(2);
dy(3)=y(1)*y(2)-b*y(3);


求解系统的代码如下:
clear
t0=0;
tf=100;
[t,x]=ode45(@Lorenz,[t0:0.001:tf],[0,1,0]);
结果如图1所示。


在求解功率谱及平均周期时,去掉前面的10002个瞬态项,取后面的稳定结果作为分析的序列,以X序列为对象!
在计算时,用了三种方法,分别是自相关函数法、太阳黑子的例子以及勇俊小论文中的例子。

代码如下:
%power spectrum calculation
%use X as the object
%%%%%%%%%%%%%%%%%%%%%%%%%%%%第一种方法:自相关函数法!
X=x(10002:end,1);
Y=fft(X,1024);
Pyy=Y.*conj(Y)/1024;
f=1000*(0:512)/1024;
plot(f,Pyy(1:513))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%第二种方法:参考自太阳黑子的例子
figure;
YY=fft(X);
N=length(YY);
YY(1)=[];
power=abs(YY(1:N/2)).^2;
nyquist=1/2;
freq=(1:N/2)/(N/2)*nyquist;
plot(freq,power);
period2=1./freq;
figure;
plot(period2,power)
[mp,index]=max(power);
tp=period2(index)
%%%%%最终得到的平均周期:tp =  9000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%第三种方法:参考勇俊:MATLAB在研究非线性混沌中的应用
figure;
YYY=fft(X);
NN=length(YYY);
YYY(1)=[];
power_YYY=log(real(YYY).^2+imag(YYY).^2);
nyquist=1/2;
freq_YYY=(1:NN/2)/(NN/2)*nyquist;
plot(freq_YYY(1:NN/2),power_YYY(1:N/2))
period3=1./freq_YYY;
figure;
plot(period3,power)
[mp,index]=max(power);
tp=period3(index)
%%%%%最终得到的平均周期:tp =  9000
%%%%%%%%%%求平均周期的另一种方法!
%%%sunspot功率谱结果求解平均周期
tp=sum(power)/sum(freq'.*power)
%%结果tp =  970.8212
%%%勇俊例子功率谱结果求解平均周期
tp=sum(power_YYY)/sum(freq_YYY(1:NN/2)'.*power_YYY(1:N/2))
%%结果tp =  9.2646

功率谱图分别如图2~图4所示。
计算平均周期的方法是:太阳黑子中所用方法,即最高功率谱处频率的倒数;刘海龙:基于非线性参数的意识任务分类一文中所用的方法,具体可见图5。
计算结果分别为9000;9000;970.8;9.3,其中自相关函数方法我得到的平均周期居然是inf

这个结果我觉得是不能接受的,也请大家一起参与讨论!解决这个问题!

Lorenz系统的相图

Lorenz系统的相图

自相关函数法求功率谱

自相关函数法求功率谱

太阳黑子例子求功率谱

太阳黑子例子求功率谱

勇俊论文中所用功率谱求解方法

勇俊论文中所用功率谱求解方法
回复
分享到:

使用道具 举报

 楼主| 发表于 2007-10-29 22:30 | 显示全部楼层
哎,晕了,看来这个问题没有受到重视啊!!:@L
发表于 2007-10-29 23:17 | 显示全部楼层
功率谱是自相关函数的傅立叶变换,看你的程序是你先做的傅立叶变换,然后求自相关函数,弄倒了吧
 楼主| 发表于 2007-10-30 07:36 | 显示全部楼层

回复 #3 空山长风 的帖子

哦,确实是,又查了下书,看来是matlab的帮助里面错了!呵呵,谢谢提醒!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-21 12:41 , Processed in 0.061070 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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