发新话题
打印

[分形与混沌] 请教相空间重构matlab程序

请教相空间重构matlab程序

在网上看了一篇论文:孙海云,曹庆杰.相空间重构延迟时间的确定.山东工业大学学报.2000.30(2),有个例子方程是这样的

dx/dt=A-(B+1)*x+x^2*y+a*cos(x*t);


dy/dt=B*x-x^2*y;


然后用matlab用最基本的方法和相空间重构的方法分布进行了相空间绘制,我把基本的相图作法程序贴出,但重构的那种方法我一直做不出来请高手指教


Brusselator.m文件为


function dy=Brusselator(t,y);


dy=zeros(2,1);


dy(1)=0.4-2.2*y(1)+y(1)^2*y(2)+0.08*cos(0.86*t);


dy(2)=1.2*y(1)-y(1)^2*y(2);


运行下面代码


% [T,Y]=ode45('Brusselator',[0 1000],[1 0]);


% plot(Y(:,1),Y(:,2))


请问重构的程序怎么做,我想画出如文章中的图



[ 本帖最后由 jyxhappy 于 2008-7-12 14:47 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

回复 楼主 的帖子

不明白,你这个是确定的系统,怎么还需要重构呢?
凡所有相,皆是虚妄。若见诸相非相,即见如来。
注:有问题请事先在论坛相应版块发帖子,不要直接短信或者邮件联系,论坛没有原帖子的一律不回。谢谢合作、见谅!

TOP

恭喜你,你的发明申请论坛专利成功,花费8振动币!
这篇文章的用意就是用重构的方法做出的相图和确定的系统做出的相图形状基本相同,以证明相空间重构方法的正确。文章只是这么写,但程序也没带,具体怎么重构的方法也没提。
我从网上看到一个很流行的代码,我把他也贴上来了。压缩文件中有两个文件,LorenzData.mat和PhaSpaRecon.m
运行代码
load LorenzData.mat%将LorenzData.mat中的数据读入
[xn,dn]=PhaSpaRecon(x,6,3)%进行重构
plot(xn(1,:),dn)%绘制相图
即可绘出相图。我想是不是上面我说得那个问题是他通过确定的方程求解出x,y的值,然后也存成一组数据,用我上传的代码的方法来做呢。

[ 本帖最后由 jyxhappy 于 2008-7-13 16:20 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

回复 3楼 的帖子

看到你的相空间重构的程序,我有问题请教:为什么len-1-(m-1)*tau,而不是len-(m-1)*tau,我觉得后者是对的,不知道你的想法是怎样的,能加我QQ:745724181,共同讨论吗?

TOP

地板说得对

地板说的len-(m-1)*tau,我认为是对的,楼主你的程序改改看

TOP

发新话题