lorenz的分岔图,大家快看一下吧
我做的lorenz分岔图,大家帮忙分析一下吧
回复 1 # wangjianbao11 的帖子
用的是什么方法呢,洛伦茨系统不会出现这样的间断吧! 我用的是极大值法,得到了上边的图像,a=10,b=8/3,c=,我做的理论推导,也发现是对的,具体是什么图形,您能帮忙分析一下吗?谢谢了大哥哥 本帖最后由 meiyongyuandeze 于 2011-4-30 19:42 编辑
回复 3 # wangjianbao11 的帖子
感觉不应该出现那样的间断的情况啊!论坛中有很多关于分岔图的做法你可以参考下,洛伦兹系统是比较典型的非线性系统,应该程序比较的多,你试下庞加莱界面方法,截取像平面X=Y试试!
【总结帖】分岔图绘制不同方法的总结、比较
http://forum.vibunion.com/forum-viewthread-tid-60104-fromuid-77817.html
大哥,我看了您推荐的方法,但我的程序有什么缺陷,或者说它有什么不对,麻烦您一下,能帮我看一下吗?我的程序运行结果就是如此。 你把程序贴出来,让大家一起帮你看看吧! function dx=lorze1(t,X)
x=X(1);
y=X(2);
z=X(3);
a=10;
b=8/3;
global c;
dx=zeros(3,1);
dx(1)=-a*(x-y);
dx(2)=-x*z+c*x-y;
dx(3)=-b*z+x*y;
clear;
global c;
range=;
k=0;
YY=[];
for c=range
c
y0=
%rand(1,3);
k=k+1;
tspan=;
=ode45('lorze1',tspan,y0);
count=find(t>0);
Y=Y(count,:);
% 画x的分岔图。
j=1;
n=length(Y(:,1));
for i=2:n-1
if Y(i-1,1)+eps<Y(i,1) && Y(i,1)>Y(i+1,1)+eps
% 简单的取出局部最大值。
YY(k,j)=Y(i,1);
j=j+1;
end
end
if j>1
plot(c,YY(k,),'k.','markersize',1);
end
hold on;
index(k)=j-1;
end
xlabel('r');
ylabel('x max');
给位帮忙看一下吧 用最大方法可能会导致画出的图不连续。可以采用固定截面方法来取点! 谢谢了师哥,但是用庞加莱截面法我连续做了好几天,还是做不成,师哥您能帮我一下吗,教我一下程序该怎么写吗
页:
[1]