各位大哥大姐,为何此程序做不出极限环呢,望指教
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 编辑 ] 我认为有两种可能:
1.你输错了某个符号,例如方程或参数值;
2. 如果确定你的输入与别人的论文一致,那就是原作者在造假。
我曾经帮别人解微分方程画极限环,发现这类问题大都对参数和方程表达式比较敏感,
可以说是差之毫厘,谬以千里,你可以看看比较经典的洛伦兹曲线,尝试改改里面的方程或参数,
我相信你的体会会和我一样。 首先,万分感谢您的解答。恩,我已经体会到这点了 稍微改变一点,曲线就会变化很大,但是怎么也做不出极限环,不会要一个一个去试吧,有没有什么理论方法可以确定此微分方程组产生极限环的条件呢
页:
[1]