meicyeve 发表于 2009-4-28 23:03

各位大哥大姐,为何此程序做不出极限环呢,望指教

f= @ (t,x,r1,r2,r3,a11,a12,a13,a21,a22,a23,a31,a32)
[x(1)*(r1-a11*x(1)-a12*x(2)-a13*x(3));
x(2)*(r2-a21*x(1)-a22*x(2)-a23*x(3));
x(3)*(-r3-a31*x(1)+a32*x(2))];
t_final=100;x0=;
a11=0.001;a12=0.001;a13=0.005;r1=1.5;
a21=0.001;a22=0.005;a23=0.005;r2=2;
a31=0.005;a32=0.002;r3=1.2;
=ode45(f,,x0,[],r1,r2,r3,a11,a12,a13,a21,a22,a23,a31,a32);
plot(t,x),figure;
plot3(x(:,1),x(:,2),x(:,3));

我看到别人的论文做出了极限环图,用matlab试着写出如上程序,公式、初值和参数值都是论文中给出的,但是t_final是我自己设定的,作者说用4-5阶龙格库塔法能做出一个三维的极限环的轨迹图,为啥我的这个程序出来的是条奇怪的线呢,望指教,不胜感激。

[ 本帖最后由 meicyeve 于 2009-4-28 23:05 编辑 ]

xiezhh 发表于 2009-4-28 23:25

我认为有两种可能:
1.你输错了某个符号,例如方程或参数值;
2. 如果确定你的输入与别人的论文一致,那就是原作者在造假。
我曾经帮别人解微分方程画极限环,发现这类问题大都对参数和方程表达式比较敏感,
可以说是差之毫厘,谬以千里,你可以看看比较经典的洛伦兹曲线,尝试改改里面的方程或参数,
我相信你的体会会和我一样。

meicyeve 发表于 2009-4-29 00:19

首先,万分感谢您的解答。恩,我已经体会到这点了 稍微改变一点,曲线就会变化很大,但是怎么也做不出极限环,不会要一个一个去试吧,有没有什么理论方法可以确定此微分方程组产生极限环的条件呢
页: [1]
查看完整版本: 各位大哥大姐,为何此程序做不出极限环呢,望指教