声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2222|回复: 5

[稳定性与分岔] 非自治系统的分岔图问题

[复制链接]
发表于 2014-6-11 17:26 | 显示全部楼层 |阅读模式

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

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

x
各位大牛,请教一下下面这个系统选择怎样的方法来画分岔图呢?
系统:
dy(1)=y(2);  
dy(2)=p*y(1)^3+q*y(1)+r*w*sin(k*t);
我采用最大值法,结果画出来图感觉不对,大家帮我看一下程序
%定义求解的系统
function dy=ssfunbif(t,y)
global w
dy=zeros(2,1);
p=-0.04;
q=0.0575;
r=0.0032;
k=-0.25;
dy(1)=y(2);  
dy(2)=p*y(1)^3+q*y(1)+r*w*sin(k*t);

%求最大值程序的m文件
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

%运行的程序
clear all
global w
% 最大值法求解分岔图
t0=[0 1000];%积分时间
y0=[1,0];
%bifurcation
for w=0:0.001:1;  %r的变化精度
    [t,y]=ode45('ssfunbif',[0,100],y0);
    [t,y]=ode45('ssfunbif',t0,y(length(y),:));
    [Xmax]=getmax(y(:,1));
    plot(w,Xmax,'b','markersize',1)
    hold on
    clear Xmax
end
xlabel('w')
ylabel('Xmax')

回复
分享到:

使用道具 举报

 楼主| 发表于 2014-6-14 16:24 | 显示全部楼层
为什么没有人回复呢?
 楼主| 发表于 2014-6-16 18:17 | 显示全部楼层
还有在什么情况下,分岔图对初值选取很敏感呢,当我选取系统中系数很小时,改变初值后系统分岔图会发生很大改变,而且相图也发生改变
 楼主| 发表于 2014-6-16 18:49 | 显示全部楼层
本帖最后由 micheller85@126 于 2014-6-16 19:00 编辑

file:///C:/Users/LiMin/Documents/Tencent%20Files/383326929/Image/@ZY%60KVIXQ1H3]J3Q6NWQ%7B94.jpg
这是我按照上面的程序得到的两种参数取法下的分岔图,大家帮我看看

第一个参数是p=-0.04; q=0.0575; r=0.0032; k=-0.25;这种对初值就很敏感。而且,初值不同相轨线也不同。
第二种是参数选取为p=-1; q=-0.25; r=6; k=0.5;这种情况对初值就不会敏感。

不知道为什么会这样,还有大家见过这样的分岔图吗?

 楼主| 发表于 2014-6-16 19:00 | 显示全部楼层
额。。。不好意思,传图失败,由于刚刚注册没多久,级别不够啊。。。。
 楼主| 发表于 2014-6-17 15:06 | 显示全部楼层
有没有人帮忙看看啊。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-14 21:08 , Processed in 0.047929 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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