24小时热门版块排行榜    

查看: 2027  |  回复: 2

liuwul000

铁杆木虫 (著名写手)


[交流] 【求助】用Matlab画常微分方程的分支图

我画分支图常常先差分,然后运行很长时间取最后的几百步就可以了,例如以下
clear;
T=1000;dt=0.05;a1=5.0;a2=0.1;b2=2.0;d1=0.4;d2=0.01;e=1.0;r=0;
X=zeros(1,T);Y=zeros(1,T);Z=zeros(1,T);
X(1)=0.4;Y(1)=0.6;Z(1)=5;


hold on

for b1=2:0.02:9
for t=2:T
    X(t)=X(t-1)+(X(t-1)*(1-X(t-1))-a1*X(t-1)*Y(t-1)/(1+b1*X(t-1)))*dt;
    Y(t)=Y(t-1)+(a1*X(t-1)*Y(t-1)/(1+b1*X(t-1))-a2*Y(t-1)^(e)*Z(t-1)/(1+b2*Y(t-1)^(e)+r*Z(t-1))-d1*Y(t-1))*dt;
    Z(t)=Z(t-1)+(a2*Y(t-1)^(e)*Z(t-1)/(1+b2*Y(t-1)^(e)+r*Z(t-1))-d2*Z(t-1))*dt;
end
plot(b1,Z(T-500:T),'k.','MarkerSize',4)
end
但这样做的结果是周期和混沌无法分辨,有人用极值命令做,好像可以解决这方面的问题。
请教一下高手,帮我把上面程序‘plot(b1,Z(T-500:T),'k.','MarkerSize',4) ’这部分用极大值命令代替一下,万分感谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   关注TA 给TA发消息 送TA红花 TA的回帖
你这个精度不是太好,换一个积分格式
2楼2010-11-14 02:09:12
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

wangshaoli2967

金虫 (小有名气)


你好!你的问题解决了吗?

★ ★ ★ ★ ★
wuguocheng(金币+5):多谢帮忙 2010-11-23 17:11:48
我这有个用迭代画的,看对你有帮助没有?
close all;
clear all;
c=0;
y=0.0;  

hold on
while c < 4,
        for i=1:100;
            y = y.^2 -c; %converge the iteration
        end
        for i=1:20

            y = y.^2 - c;
            plot(c,y,'.'); % plot the converged points
        end
        c=c+0.01;
end
3楼2010-11-21 14:25:57
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 liuwul000 的主题更新
信息提示
请填处理意见