1、基于Matlab的Lorenz系统仿真研究摘要:本文利用matlab这一数学工具对Lorenz系统进行了研究。首先使用matlab分析求解Lorenz方程,利用matlab的绘图功能,直观地观察了Lorenz混沌吸引子的三维图形,并简单观察了Lorenz混沌系统对初值的敏感性;然后对Lorenz系统进行仿真,比较分析在不同参数下的Lorenz系统仿真结果;最后验证了通过添加反馈控制的方式,可以使Lorenz方程不稳定的平衡点成为稳定的平衡点。关键词:Lorenz系统;matlab;混沌系统1.引言Lorenz方程是由美国著名的气象学家Lorenz在1963年为研究气候变化,通过对对流实验的研究
2、,建立的三个确定性一阶非线性微分方程。这三个方程是混沌领域的经典方程,Lorenz系统也是第一个表现奇怪吸引子的连续动力系统,具有着举足轻重的作用。Lorenz方程的表达式如下: dxdt=(y-x)dydt=-zx-ydzdt=-bz+xy其中,、b为正实常数。 本文利用matlab这一数学工具,对Lorenz系统进行了研究,得到了仿真结果,加深了对Lorenz系统的认识。2.matlab求解Lorenz方程并绘图 首先建立m文件“Lorenz.m”来定义Lorenz方程,固定=10,=30,b=8/3,程序如下所示:function dx=Lorenz(t,x)dx=-10*(x(1)-x
3、(2);30*x(1)-x(2)-x(1)*x(3);x(1)*x(2)-2.6667*x(3);end然后利用ode45命令来求解Lorenz方程并绘制图形,初值取x=y=z=0.1。程序如下所示: clf x0=0.1,0.1,0.1; t,x=ode45(Lorenz,0,100,x0); subplot(2,2,1) plot(x(:,1),x(:,3) title(a) subplot(2,2,2) plot(x(:,2),x(:,3) title(b) subplot(2,2,3) plot(x(:,1),x(:,2) title(c) subplot(2,2,4) plot3(x
4、(:,1),x(:,2),x(:,3) title(d)运行上述程序,可得到如下波形:其中,图(a)为Lorenz混沌吸引子在x-z平面上的投影,图(b)为Lorenz混沌吸引子在y-z平面上的投影,图(c)为Lorenz混沌吸引子在x-y平面上的投影,图(d)为Lorenz混沌吸引子的三维图。可以看到,混沌吸引子在各平面上的投影类似于横写的“8”字形。由于参数=10,=30,b=8/3时为混沌系统,对初值具有敏感性,初值很小的差异会引起系统行为的显著改变。因此,将初值改为x=z=0.1,y=0.11,绘制此时混沌吸引子在x-z平面上的投影,并与初值为x=y=z=0.1时混沌吸引子在x-z平面
5、上的投影放在同一张图中比较。为了区别两者,初值为x=y=z=0.1时混沌吸引子在x-z平面上的投影用蓝色,初值改为x=z=0.1,y=0.11时混沌吸引子在x-z平面上的投影用红色。程序如下所示: clf x0=0.1,0.1,0.1; t,x=ode45(Lorenz,0,100,x0); plot(x(:,1),x(:,3) hold on x0=0.1,0.1,0.1; t,x=ode45(Lorenz,0,100,x0); x0=0.1,0.11,0.1; t,x=ode45(Lorenz,0,100,x0); plot(x(:,1),x(:,3),r*)得到的图形如下所示:可以看到,
6、虽然初值只有0.01的改变,红色与蓝色图形明显不重合,这证明了系统的敏感性。3.matlab对Lorenz系统仿真首先利用matlab的Simulink功能,搭建Lorenz系统的模型,仿真模型如下图所示:在仿真模型中,取参数=10,b=8/3,观察参数取不同值时系统的运行状态。根据文献1的分析,当参数01时,系统有三个平衡点:原点O(0,0,0)和P+,P-。此时原点的特征值中有正值,因此原点为鞍点,是不稳定平衡点。当113.926时,不稳定流形将绕到另一侧,最终趋于与之异侧的P+或P-。可见,是一个同宿分岔点。因此,取初值x=y=z=2,=8,仿真停止时间为50,运行仿真,得到x、y、z的
7、相图以及x-z,y-z,x-y的图形依次如下所示:可以看到,系统趋于与之同侧的平衡点P+或P-。取初值x=y=z=2,=18,仿真停止时间为50,运行仿真,得到x、y、z的相图以及x-z,y-z,x-y的图形依次如下所示:可以看到,系统趋于与之同侧的平衡点P+或P-。为了观察=13.926的同宿分岔点现象,在=13.926附近不断尝试,最终在= 15.39682328时观察到比较明显的过渡迹象。取初值x=y=z=2,=15.39682328,仿真停止时间为50,运行仿真,得到x、y、z的相图以及x-z,y-z,x-y的图形依次如下所示:可以看到,虽然最终轨线趋向于与之同侧的平衡点P+或P-,但
8、有着明显的过渡迹象。可以推测,当取15.39682328到15.39682330间的某一个数值时,会出现同宿轨现象。根据文献1,当24.74时,P+与P-变为不稳定的,也就是说系统进入“混沌区”。此时三个平衡点O、P+、P-都不稳定。取初值x=y=z=2,=30,仿真停止时间为100,运行仿真,得到x、y、z的相图以及x-z,y-z,x-y的图形依次如下所示:可以看到,上述图形中,轨线绕着P+若干圈后,又绕着P-若干圈,如此循环,符合文献1的描述。为了观察由系统趋向于与之异侧的平衡点向系统的混沌状态的过渡现象,在=24.74附近反复不断尝试,最终发现当=23.299时,可以观察到明显的过渡迹象
9、。因此,取初值x=y=z=2,=23.299,仿真停止时间为100,运行仿真,得到x、y、z的相图以及x-z,y-z,x-y的图形依次如下所示:可以看到,在上图中,轨线看起来稳定在一条围绕与之异侧的平衡点的轨道上。仅从仿真运行的这段时间,无法判断系统是处于混沌状态还是会趋向于与之异侧的平衡点,可以看出明显的过渡迹象。4.对Lorenz系统的反馈控制系统的稳定是系统的基本要求。为了使Lorenz系统的不稳定平衡点变为稳定平衡点,根据文献2,可以通过加入反馈控制的方法实现。加入反馈后,Lorenz方程变为: dxdt=(y-x)dydt=-zx-ydzdt=-bz+xy+ky由上式可以看出,第二个
10、方程加入了简单的线性反馈ky。建立加入反馈后的系统仿真模型,如下图所示:根据文献2的分析,当k-35.1时,可以满足使系统稳定的要求。取初值x=y=z=2,=30,仿真停止时间为100,k=-36,运行仿真,得到x、y、z的相图以及x-z,y-z,x-y的图形依次如下所示:可以看到,系统很快趋于原点O(0,0,0)并稳定下来,这验证了通过加入反馈使Lorenz系统变得稳定的这一方法的正确性。5.结论 本文直观地观察了Lorenz混沌吸引子的三维图形,并简单观察了Lorenz混沌系统对初值的敏感性,比较分析了在不同参数下的Lorenz系统仿真结果,最后验证了添加反馈控制这一方法可以使Lorenz
11、方程不稳定的平衡点成为稳定的平衡点。通过使用matlab对Lorenz系统仿真,直观地观察到了Lorenz系统的运行轨迹,加深了对Lorenz方程和混沌现象的理解。参考文献:1刘崇新.非线性电路理论及应用M.西安:西安交通大学出版,2007.201-2082朱少平.Lorenz方程的动力学特性与控制J.陕西教育学院学报,2007,23(4):81-843赖宏慧.基于matlab的Lorenz系统模拟实验仿真J.科技信息.2010,17:18-194柴彩春.关于Lorenz方程的动力学性态研究J.廊坊师范学院学报,2011,11(1):8-105刘庆花.基于Matlab的lorenz混沌系统仿真J.现代商贸工业,2014,02:194-195