声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2459|回复: 9

[动力学和稳定性] lorenz的分岔图,大家快看一下吧

[复制链接]
发表于 2011-4-29 22:45 | 显示全部楼层 |阅读模式

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

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

x
11.jpg
我做的lorenz分岔图,大家帮忙分析一下吧
回复
分享到:

使用道具 举报

发表于 2011-4-29 23:10 | 显示全部楼层
回复 1 # wangjianbao11 的帖子

用的是什么方法呢,洛伦茨系统不会出现这样的间断吧!
 楼主| 发表于 2011-4-30 08:01 | 显示全部楼层
我用的是极大值法,得到了上边的图像,a=10,b=8/3,c=[0,30],我做的理论推导,也发现是对的,具体是什么图形,您能帮忙分析一下吗?谢谢了大哥哥
发表于 2011-4-30 19:13 | 显示全部楼层
本帖最后由 meiyongyuandeze 于 2011-4-30 19:42 编辑

回复 3 # wangjianbao11 的帖子

感觉不应该出现那样的间断的情况啊!论坛中有很多关于分岔图的做法你可以参考下,洛伦兹系统是比较典型的非线性系统,应该程序比较的多,你试下庞加莱界面方法,截取像平面X=Y试试!
【总结帖】分岔图绘制不同方法的总结、比较
http://forum.vibunion.com/forum-viewthread-tid-60104-fromuid-77817.html

 楼主| 发表于 2011-4-30 19:26 | 显示全部楼层
大哥,我看了您推荐的方法,但我的程序有什么缺陷,或者说它有什么不对,麻烦您一下,能帮我看一下吗?我的程序运行结果就是如此。
发表于 2011-4-30 19:42 | 显示全部楼层
你把程序贴出来,让大家一起帮你看看吧!
 楼主| 发表于 2011-4-30 21:21 | 显示全部楼层
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=[0:0.1:30];
k=0;
YY=[];
for c=range
    c
     y0=[0.05;0.05;0.05]
     %rand(1,3);
     k=k+1;
    tspan=[0:0.1:50];
     [t,Y]=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,[1:j-1]),'k.','markersize',1);
     end
    hold on;
    index(k)=j-1;
end
xlabel('r');
ylabel('x max');
 楼主| 发表于 2011-5-3 09:17 | 显示全部楼层
给位帮忙看一下吧
发表于 2011-5-3 09:48 | 显示全部楼层
用最大方法可能会导致画出的图不连续。可以采用固定截面方法来取点!
 楼主| 发表于 2011-5-3 09:54 | 显示全部楼层
谢谢了师哥,但是用庞加莱截面法我连续做了好几天,还是做不成,师哥您能帮我一下吗,教我一下程序该怎么写吗
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-7 03:09 , Processed in 0.092607 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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