基于 Matlab 的 Lorenz 系统仿真讨论摘要: 本文利用 matlab 这一数学工具对 Lorenz 系统进行了讨论。首先使用 matlab 分析求解 Lorenz 方程, 利用 matlab 的绘图功能, 直观地观察了 Lorenz 混沌吸引子的三维图形, 并简单观察了 Lorenz 混沌系统对初值的敏感性 ; 然后对Lorenz 系统进行仿真, 比较分析在不同参数下的 Lorenz 系统仿真结果; 最后验证了经过添加反馈控制的方式, 能够使 Lorenz 方程不稳定的平衡点成为稳定的平衡点。关键词: Lorenz 系统; matlab; 混沌系统1.引言Lorenz方程是由美国著名的气象学家Lorenz在1963年为讨论气候变化, 经过对对流实验的讨论, 建立的三个确定性一阶非线性微分方程。这三个方程是混沌领域的经典方程, Lorenz系统也是第一个表现奇怪吸引子的连续动力系统, 具有着举足轻重的作用。Lorenz方程的表示式如下: 其中, σ、 μ、 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(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(:,1),x(:,2),x(:,3))>> title('(d)')运行上述程序, 可得到如下波形: -20-1001020300204060(a)-40-20020400204060(b)-20-100102030-40-2002040(c)-20020-40-20020401020304050(d)其中, 图( a) 为 Lorenz 混沌吸引子在 x-z 平面上的投影, 图( b) 为 Lorenz 混沌吸引子在 y-z 平面上的投影, 图( c) 为 Lorenz混沌吸引子在 x-y 平面上的投影, 图( d) 为 Lorenz 混沌吸引子的三维图。能够看到, 混沌吸引子在各平面上的投影类似于横写的”8”字形。由于参数 σ=10, μ=30, b=8/3 时为混沌系统, 对初值具有敏感性, 初值很小的差异会引起系统行为的显著改变。因此, 将初值改为 x...