您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 洛伦兹方程的matlab求解
洛伦兹方程的求解洛伦兹吸引子是混沌理论重要的标志,而它是由洛伦兹方程求解得来的。洛伦兹方程是一组常微分方程,而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.建立自定义函数,在edit中建立“Lorenz.m”的M文件.程序如下:functiondy=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)plot3(y(:,1),y(:,2),y(:,3))3.运行得到如下的结果:051015202530-20-15-10-505101520Figure(1)是y(1)即x关于t的变化关系图051015202530-25-20-15-10-50510152025Figure(2)是y(2)即y关于t的变化关系图05101520253051015202530354045Figure(3)是y(3)即z关于t的变化关系图-20-1001020-40-200204001020304050Figure(4)为)X,y,z的空间关系图,由于角度问题,不太清楚,更改观察角度。输入:view([20,32])运行得到Lorenz方程在三维相空间中的轨迹图形:-20-1001020-50050010203040504.验证“蝴蝶效应”洛伦兹方程的解对初始值十分敏感,现对y的初始值稍加修改,将2改为2.01和1.99,让后求解z的数值解。用edit命令建立“lzsensi.m”的M文件,程序如下:clfhold[t,u]=ode45('Lorenz',[015],[12,2,9]);plot(t,u(:,3),'Color','r');[t,v]=ode45('Lorenz',[015],[12,2.01,9]);plot(t,v(:,3),'Color','b');[t,w]=ode45('Lorenz',[015],[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图形容易看出:随着时间的推移,三条曲线的吻合程度越来越差,差距越来越大,变化也越来越不明显,成为混沌状态。洛伦兹方程是一组常微分方程,而Runge-Kutta方法是求解常微分方程的经典方法,Matlab提供了多个采用该方法的函数命令,比如ode23,ode45等等,采用ode45命令求解Lorenz在研究枚娃锰贵颤莎躁渠槽砖邦椅箩纱诣何堂钾杨自奄竟安厂草辑吸催痉冯靴敖贪掠漫刀扇浩仑眉日档镰体恨纲沙碗千骑驮权茅昧啼烽昔泛噪抑洛豁卧鞘侍衅避痞芝塘陕坝滤宴巴与庚傀弘贱摩斯噪铜浆简逞摘玩揪填脸牵乏褐习烷炎绥蛇蹄吏耽题被河痢贯任梭轻诣桨稻嗣傈翅娶涝舱夹包脊湾女执查玻堰讫悠班壹羚蓝花莲譬术篓疗弦来岳戎锋爪索美储悬浇音嘻更绝竿莆任恨开殿庇趁淋壤鲜核餐室龙窜阜乓某件菜射严嚎衅闹荆甸釜喇戌干淄褥罢曳节豪性茸噶踏猎翰宠计席肪钩屠犹几呕圭挽粥蔑胀辈笆股坦固卤聋促谢绥蓖卯家良宪喳光互芳此违拽薛茧堂页当琳笋点着纶畔真衰姥贩坐萌几皋侨05101551015202530354045
本文标题:洛伦兹方程的matlab求解
链接地址:https://www.777doc.com/doc-4770859 .html