声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2557|回复: 1

[稳定性与分岔] 关于连续微分动力系统分叉图程序得算法

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

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

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

x
不知道那位仁兄可以提供以下关于连续微分动力系统分叉图程序得算法,在网上看到有人贴出来lorenz分叉程序,但是始终没有看到理论依据!
还有只是看到过虫口模型 x_{n+1}= lambda * x_n*(1-x_n)的倍周期分支通向浑沌图的做法,可以详细参阅《浑沌动力学初步》陈士华的,上面对做法很详细,但是我怎么也找不到关于作lorenz或者chen系统的地分叉图的方法阿,不知道谁能提供在哪本书上有或者论文上有阿!
万分感谢!


function mainbirloren
clear all
global r
t0=[0 150];%积分时间
y0=[1,0,0];
%bifurcation
for r=20:0.05:30 %r的变化精度
[t,y]=ode45(@Lorenz,t0,y0);
[Xmax]=getmax(y);
plot(r,Xmax,'b','markersize',1)
hold on
clear Xmax
end
xlabel('r')
ylabel('Xmax')

function [Xmax] = getmax(y)
a=length(y);
j=1;
for i=(a-1)/2:a
b=(y(i,1)-y(i-2,1))/2;
c=(y(i,1)+y(i-2,1))/2-y(i-1,1);
if y(i-2,1)<=y(i-1,1)&y(i-1,1)>=y(i,1)&c==0
Xmax(j)=y(i-1,1);
j=j+1;
elseif y(i-2,1)<=y(i-1,1)&y(i-1,1)>=y(i,1)
Xmax(j)=y(i-1,1)-b^2/(4*c);
j=j+1;
end
end
function dy = Lorenz(t,y)
global r
dy=zeros(3,1);
dy(1)=-10*(y(1)-y(2));
dy(2)=-y(1)*y(3)+r*y(1)-y(2);
dy(3)=y(1)*y(2)-8*y(3)/3;

上面是我在论坛中看到的关于lorenz的分叉程序,只是里面看不懂啊对于提取数据,不知道那位可以解释一下哈?
回复
分享到:

使用道具 举报

发表于 2008-6-13 14:28 | 显示全部楼层

回复 楼主 的帖子

主要三个函数

function mainbirloren
clear all
global r
t0=[0 150];%积分时间
y0=[1,0,0];
%bifurcation
for r=20:0.05:30 %r的变化精度
[t,y]=ode45(@Lorenz,t0,y0);
[Xmax]=getmax(y);
plot(r,Xmax,'b','markersize',1)
hold on
clear Xmax
end
xlabel('r')
ylabel('Xmax')

求解微分方程并调用gmax找出最大值。并做出Poincare图、分岔图;
function [Xmax] = getmax(y) 这个就是找最值得函数

然后最后一个是你微分方程的m函数
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-19 22:55 , Processed in 0.060012 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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