洛伦兹方程是一组典型的非线性方程,来源于大气物理研究
在一定的参数下,方程的解表现出了非常复杂而又有趣的现象
本专题要求采用数值积分的方法,求解如下洛伦兹方程: 其中,
为从0 开始的时间变量,积分初值为任意的不全为零的数值即可
要求:(1)编写程序求解上述方程(采用C/C++、Matlab/SImulink 均可);(2)绘制三维运动轨道;(3)观察不同初值的影响,观察最终运动状态
(分组进行,同以前的专题研究要求一样) 提交:(1)程序源码;(2)1~2 幅三维截图;(3)描述你的心得和体会
提示:可以采用欧拉法或 4 阶龙格-库塔法等数值积分的方法
我们用MATLAB 编程,基于4 阶 Runge-Kutta 方法的迭代作出了洛伦玆吸引子的求解 程序主体: a=1:1:3000;b=1:1:3000;c=1:1:3000; x1=20;y1=30;z1=40; x2=0;y2=0;z2=0; h=0
1; kfx=0;ksx=0;ktx=0;kfhx=0;kfy=0;ksy=0;kty=0;kfhy=0;kfz=0;ksz=0;ktz=0;kfhz=0; for i=1:1:3000 abx=sym('10*(y0-x0)'); aby=sym('x0*(28-z0)-y0'); abz=sym('x0*y0-8/3*z0'); x0=x1;y0=y1;z0=z1; kfx=eval_r(abx);kfy=eval_r(aby);kfz=eval_r(abz); x0=x1+1/2*h*kfx;y0=y1+1/2*h*kfy;z0=z1+1/2*h*kfz; ksx=eval_r(abx);ksy=eval_r(aby);ksz=eval_r(abz); x0=x1+1/2*h*ksx;y0=y1+1/2*h*ksy;z0=z1+1/2*h*ksz; ktx=