您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于MATLAB的各类混沌系统的计算机模拟(教学版)
基于MATLAB的各类混沌系统的计算机模拟―――《混沌实验教学平台的设计与实现》初期报告物电05级1A班张丹伟20050003101摘要:本文利用数学软件MATLAB对Lorenz系统等六个重要的混沌模型进行数值计算,同时模拟出各类混沌系统的独特性质,如混沌吸引子,倍周期,初值敏感性,相图,分岔图等。通过观察和分析上述特性,加深了我们对混沌现象的理解。关键词:混沌;微分方程;MATLAB;引言.混沌探秘混沌是非线性系统所独有且广泛存在的一种非周期运动形式,其覆盖面涉及到自然科学和社会科学的几乎每一个分支。1972年12月29日,美国麻省理工学院教授、混沌学开创人之一E.N.洛伦兹在美国科学发展学会第139次会议上发表了题为《蝴蝶效应》的论文,提出一个貌似荒谬的论断:在巴西一只蝴蝶翅膀的拍打能在美国得克萨斯州产生一个龙卷风,并由此提出了天气的不可准确预报性。为什么会出现这种情况呢?这是混沌在作怪!“混沌”译自英语中“chaos”一词,原意是混乱、无序,在现代非线性理论中,混沌则是泛指在确定体系中出现的貌似无规则的、类随机的运动。混沌现象是普遍的,就在我们身边,是与我们关系最密切的现象,我们就生活在混沌的海洋中。一支燃着的香烟,在平稳的气流中缓缓升起一缕青烟,突然卷成一团团剧烈搅动的烟雾,向四方飘散;打开水龙头,先是平稳的层流,然后水花四溅,流动变的不规则,这就是湍流;一个风和日丽的夏天,突然风起云涌,来了一场暴风雨。一面旗帜在风中飘扬,一片秋叶从树上落下,它们都在做混沌运动。可见混沌始终围绕在我们的周围,一直与人类为伴。一.混沌的基本概念1.混沌:目前尚无通用的严格的定义,一般认为,将不是由随机性外因引起的,而是由确定性方程(内因)直接得到的具有随机性的运动状态称为混沌。2.相空间:在连续动力系统中,用一组一阶微分方程描述运动,以状态变量(或状态向量)为坐标轴的空间构成系统的相空间。系统的一个状态用相空间的一个点表示,通过该点有唯一的一条积分曲线。3.混沌运动:是确定性系统中局限于有限相空间的高度不稳定的运动。所谓轨道高度不稳定,是指近邻的轨道随时间的发展会指数地分离。由于这种不稳定性,系统的长时间行为会显示出某种混乱性。4.分形和分维:分形是n维空间一个点集的一种几何性质,该点集具有无限精细的结构,在任何尺度下都有自相似部分和整体相似性质,具有小于所在空间维数n的非整数维数。分维就是用非整数维——分数维来定量地描述分形的基本性质。5.不动点:又称平衡点、定态。不动点是系统状态变量所取的一组值,对于这些值系统不随时间变化。在连续动力学系统中,相空间中有一个点0x,若满足当t时,轨迹0()xtx,则称0x为不动点。6.吸引子:指相空间的这样的一个点集s(或一个子空间),对s邻域的几乎任意一点,当t时所有轨迹线均趋于s,吸引子是稳定的不动点。7.奇异吸引子:又称混沌吸引子,指相空间中具有分数维的吸引子的集合。该吸引集由永不重复自身的一系列点组成,并且无论如何也不表现出任何周期性。混沌轨道就运行在其吸引子集中。8.分叉和分叉点:又称分岔或分支。指在某个或者某组参数发生变化时,长时间动力学运动的类型也发生变化。这个参数值(或这组参数值)称为分叉点,在分叉点处参数的微小变化会产生不同性质的动力学特性,故系统在分叉点处是结构不稳定的。9.周期解:对于系统1()nnxfx,当n时,若存在ninxx,则称该系统有周期i解。不动点可以看作是周期为1的解,因为它满足1nnxx。10.初值敏感性:对初始条件的敏感依赖是混沌的基本特征,也有人用它来定义混沌:混沌系统是其终极状态极端敏感地依赖于系统的初始状态的系统。敏感依赖性的一个严重后果就在于,使得系统的长期行为变得不可预见。二.MATLAB中的龙格—库塔(Runge-Kutta)实现MATLAB(MatrixLaboratory)是MathWorks公司开发的,目前国际上最流行应用最广的科学与工程计算机软件之一。MATLAB软件以矩阵运算为基础,把计算,可视化,程序设计等有机的融合在一起,具有出色的数值计算能力和强大的图形处理功能。基于Runge—Kutta法,MATLAB提供了求解微分方程数值解的函数,一般调用格式是:[,]23(@,,0)[,]45(@,,0)tyodefnametspanytyodefnametspany其中fname是定义的函数文件名,该函数文件必须返回一个列向量。Tspan形式是[t0,tf],表示求解区间,y0是初始状态向量。这两个函数分别采用“二阶,三阶Runge—Kutta法”和“四阶,五阶Runge—Kutta法”,并采用自适应的求解方法,即当解的变化较慢时采用较大的步长,从而使计算速度很快,当解的变化较快时步长会自动变小长,从而使计算精度很高。在MATLAB中,一般选取四阶的龙格库塔方法。三.Lorenz混沌系统美国气象学家洛伦兹(E.N.Lorenz)于1963年在大气科学杂志上提出第一个表现奇异吸引子的动力学系统。该混沌系统模型可以用下列微分方程组描述:)()(zxybdtdzxzyaxdtdyyxcdtdx利用MATLAB数学软件对上面微分方程求解,进行数值模拟。首先建立M-文件Lorenz.m定义脚本函数,然后编程调用,其中x(1)表示x,x(2)表示y,x(3)表示z,程序如下:functionr=lorenz(t,x)globala;globalb;globalc;r=[-c*(x(1)-x(2));a*x(1)-x(2)-x(1)*x(3);b*(x(1)*x(2)-x(3))];clear;globala;globalb;globalc;b=8/3;c=10;t0=[0,100];f0=[1,1,1];fora=10:30[t,x]=ode45(@lorenz,t0,f0);asubplot(3,1,1);plot(t,x(:,1),'r',t,x(:,2),'g',t,x(:,3),'b');title('Lorenz模型变量时域响应');legend('x','y','z');xlabel('t');subplot(3,1,2);plot3(x(:,1),x(:,2),x(:,3));title('Lorenz模型相图');xlabel('x');ylabel('y');zlabel('z');gridon;subplot(3,1,3);plot(x(:,1),x(:,3));title('Lorenz模型X—Z平面相图');xlabel('x');ylabel('z');gridon;pause;end1.固定参数b和c,设置初始值f0和计算时间t0,通过改变参数a可以发现系统逐步进入混沌状态的过程。020406080100051015Lorenz模型的状态变量的时域响应txyz123456024601020xLorenz模型相图yz123456051015Lorenz模型X-Z相图xza=100102030405060708090100-2002040Lorenz模型的状态变量的时域响应t-10-50510-10-5051002040xLorenz模型相图yz-8-6-4-2024680102030Lorenz模型X-Z相图xzxyza=150102030405060708090100-2002040Lorenz模型的状态变量的时域响应t-10-5051015-100102002040xLorenz模型相图yz-8-6-4-202468101202040Lorenz模型X-Z相图xzxyza=230102030405060708090100-50050Lorenz模型的状态变量的时域响应t-10-5051015-20-1001020050xLorenz模型相图yz-10-50510150204060Lorenz模型X-Z相图xzxyza=240102030405060708090100-50050Lorenz模型的状态变量的时域响应t-20-1001020-20-1001020050xLorenz模型相图yz-15-10-50510150204060Lorenz模型X-Z相图xzxyza=282.Lorenz吸引子当a=28时,系统已经完全进入混沌状态,此时出现双涡旋吸引子,如下所示:-20020-20020050xLorenz方程吸引子相图yz-20020-20-1001020Lorenz方程X-Y平面吸引子相图xy-200200204060Lorenz方程X-Z平面吸引子相图xz-200200204060Lorenz方程Y-Z平面吸引子相图yz3.倍周期:通过系数的调试可以得到Lorenz混沌的一个单倍周期和两个多倍周期,如下:-10010-20020050xyz-10010-20-1001020xy-100101020304050xz-200201020304050yz-20020-2002002040xyz-20-10010-20-1001020xy-20-10010010203040xz-20020010203040yz-20020-200200204060xyz-20-10010-15-10-5051015xy-20-1001001020304050xz-20-100102001020304050yz4.初值敏感性:保持初值x0和y0不变,即x0=y0=1,改变z0为1.001,千分之一的变化会引起系统行为的显著改变,如下图所示:-100102001020304050Rossler方程X-Z平面相图(较短时间后)xz-20-100101020304050Rossler方程X-Z平面相图(较短时间后)xz-100102001020304050Rossler方程X-Z平面相图(较长时间后)xz-20-1001001020304050Rossler方程X-Z平面相图(较长时间后)xz四.Rossler混沌系统Rossler系统是化学反应系统的简化模型,是非线性动力学中非常著名的方程,该混沌系统模型可以用下列微分方程组描述)(axzcdtdzxbydtdyzydtdx同样地,利用MATLAB编程求解(程序见附录),可以对该模型进行分析。1.逐步改变参数,观察其进入混沌状态。050100150200-0.08-0.06-0.04-0.0200.020.04x(红),y(绿),z(蓝)随t变化情况t-0.0500.05-0.1-0.05000.020.04xRossler方程相图yza=0050100150200-8-6-4-20246810x(红),y(绿),z(蓝)随t变化情况t-10010-100100123xRossler方程相图yza=0.07050100150200-10-5051015x(红),y(绿),z(蓝)随t变化情况t-20020-10010051015xRossler方程相图yza=0.15050100150200-20-10010203040x(红),y(绿),z(蓝)随t变化情况t-20020-20020010203040xRossler方程相图yza=0.25050100150200-20020406080100x(红),y(绿),z(蓝)随t变化情况t-20020-20020050100xRossler方程相图yza=0.382.Rossler吸引子:-20020-2002002040xRossler方程吸引子相图yz-1001020-20-10010Rossler方程X-Y平面吸引子相图xy-1001001020Rossler方程X-Z平面吸引子相图xz-1001001020Rossler方程Y-Z平面吸引子相图yz3.倍周期:通过调整参数和初始值,可以得到单倍周期和2倍周期,如下图:-101-202012xyz-101-1.5-1-0.500.5xy-10100.511.5xz-2-10100.511.5yz-10010-
本文标题:基于MATLAB的各类混沌系统的计算机模拟(教学版)
链接地址:https://www.777doc.com/doc-1807901 .html