1、洛伦兹方程的求解洛伦兹吸引子是混沌理论重要的标志,而它是由洛伦兹方程求解得来的。洛伦兹方程是一组常微分方程,而 Runge-Kutta 方法是求解常微分方程的经典方法,Matlab 提供了多个采用该方法的函数命令,比如 ode23,ode45 等等,采用 ode45 命令求解Lorenz 在研究大气对流模型时得到的洛伦兹方程:dx/dt=A*(-x+y)dy/dt=B*x-y-x*zdz/dt=x*y-C*z经常引用的具体参数是 A=10,B=28,C=8/3 相空间维数为三。为了用 matlab 求解,将 x,y,z,表示为 y(1),y(2),y(3),即为列向量中的三个分量。1 .建立自
2、定义函数,在 edit 中建立“Lorenz.m”的 M 文件.程序如下:function dy = Lorenz(,y)dy=zeros(3,1);dy(1)=10*(-y(1)+y(2);dy(2)=28*y(1)-y(2)-y(1)*y(3);dy(3)=y(1)*y(2)-8*y(3)/3;end2.在 edit 中建立“Lzdis.m ”的 M 文件,用来求解和绘图。程序如下:t,y=ode45(Lorenz,0,30,12,2,9);figure(1)plot(t,y(:,1)figure(2)plot(t,y(:,2)figure(3)plot(t,y(:,3)figure(4)
3、plot3(y(:,1),y(:,2),y(:,3)3.运行得到如下的结果:0 5 10 15 20 25 30-20-15-10-505101520Figure(1)是 y(1) 即 x 关于 t 的变化关系图0 5 10 15 20 25 30-25-20-15-10-50510152025Figure(2)是 y(2) 即 y 关于 t 的变化关系图0 5 10 15 20 25 3051015202530354045Figure(3)是 y(3) 即 z 关于 t 的变化关系图-20-1001020-40-200204001020304050Figure(4)为)X,y,z 的空间关系
4、图,由于角度问题,不太清楚,更改观察角度。输入:view(20,32)运行得到 Lorenz 方程在三维相空间中的轨迹图形:-20 -100 1020 -50050010203040504验证“蝴蝶效应”洛伦兹方程的解对初始值十分敏感,现对 y 的初始值稍加修改,将 2 改为 2.01 和 1.99,让后求解 z 的数值解。用 edit 命令建立 “lzsensi.m”的 M 文件,程序如下:clfholdt,u=ode45(Lorenz,0 15,12,2,9);plot(t,u(:,3),Color,r);t,v=ode45(Lorenz,0 15,12,2.01,9);plot(t,v(:,3),Color,b);t,w=ode45(Lorenz,0 15,12,1.99,9);plot(t,w(:,3),Color,k);运行得到不同初始条件下的 z 关于 t 的图形:黑色线(k)表示初值条件为12,1.99,9 时的 z-t 图形绿色线(b)表示初值条件为 12,2,9时的 z-t 图形红色线(r)表示初值条件为12,2.01,9 时的 z-t 图形容易看出:随着时间的推移,三条曲线的吻合程度越来越差,差距越来越大,变化也越来越不明显,成为混沌状态。0 5 10 1551015202530354045