基于matlab的复摆混沌行为研究_毕业论文(编辑修改稿)内容摘要:

i*d*sinsita./lamda。 %计算 β I=(sin(arfa).^2./(arfa.^2)).*... (sin(N.*beita).^2./(sin(beita).^2))。 %相对光强分布 figure。 %开辟图形窗口 plot(x,I)。 %画光强与观察点位置关系图 figure。 view(0,90)。 %新开图形窗口并在 xy平 面内观察 hold on colormap(gray)。 %选择灰度色图 mesh(X,Y,I)。 %绘制衍射图样 运行结果如图 16(a)和图 16(b)所示: 11 图 16(a) 光强与位置的关系 图 16(b) 光栅衍射的模拟图样 质点在万有引力作用下的运动 以万有引力的固定不动的施力质点 0m 所在位置为坐标原点 O , 建立直角坐标系 Oxy ,质点的运动微分方程为 03Gmmmr rr,分量方程为: 002 2 2 22 2 2 2( ) ( )G m G mxyxyx y x yx y x y   , (14) 这两个方程都是二阶常微分方程,定义解矢量为 y ,令 (1 ) ( 2 ) ( 3 ) ( 4 )y x y x y y y y   , , , (15) 可将方程组 (14)化为:   0322203222( 1 )( 1 ) ( 2 )( 2 )( 1 ) ( 3 )( 3 )( 3 ) ( 4 )( 4 )( 1 ) ( 3 )G m yd y d yyd t d t yyG m yd y d yyd t d t yy    , (16) (1)编写微分方程组函数文件 : function ydot=yxlcfun(t,y,flag,p) %函数首行 ,p 为参量 Gm0 ydot=[y(2)。 p*y(1)/sqrt(y(1).^2+y(3).^2).^3。 y(4)。 p*y(3)/sqrt(y(1).^2+y(3).^2).^3]。 %建立微分方程组 (2)解微分方程的主程序 : p=1。 %取 Gm0=1 y0=[10 6。 25 5 0。 25 6 0]。 %三组不同初始条件 plot(0,0, 39。 *r39。 ) %画出 O 点 for i=1:3 %分别以不同初始条件解 3 次方程 12 [t,y]=ode45(39。 yxlcfun39。 ,[0::300],y0(i,:),[ ],p)。 hold on axis([25 25 20 20])。 %指定坐标范围 et(y(:,1),y(:,3)) %绘出质点运动轨迹 (x,y) end %结束循环 解出的结果如图 17 所示: 图 17 万有引力场中质点运动轨迹 由上面例子,我们初步了解了 Matlab 解常微分方程的一般过程,首先是建立微分方程函数文件,文件的格式如下: fuction ydot=filename(t,y,p1,p2) %t,y 是积分区间和解矩阵 p1,p2 是参数 ydot=[关于 t,y 的表达式 ]。 %ydot 表示 dy/dt 下面介绍 ode45 命令的用法, ode45 的一般调用格式为: [T,Y]=ode45(39。 fun39。 ,tspan,y0,options,p1,p2,…) 其中含义如下表: 表 16 ode45 命令含义 Fun 求解的微分方程函数名 Tspan 单调递增(减)的积分区间 [t0:tstep:tfinal] y0 初始条件矢量 Options 用 odeset 建立的优化选项,一般用默认值,为空矢量 “[ ]” 13 p1,p2 传递给 fun 函数的参数 T,Y T 是输出的时间列矢量,矩阵 Y 的每一个列矢量是解的一个分量 各个项在命令中的位置和顺序不能颠倒,否则程序就会出错。 167。 本章小结 本章首先对 Matlab 进行了简单介绍,介绍了 Matlab 的发展及应用前景, 然后详细介绍了基本运算功能,基本绘图功能,数值分析功能,并且简单介绍了 M 文件的编写及 Matlab 的程序调试。 由于 Matlab 是集数值运算、符号运算、数据可视化、数据图文字统一处理、系 统动态仿真等功能于一体的数学软件,所以为了加深对 Matlab 的基本功能的理解,在本章第三节我们列举了几个简单的应用。 例 1 等量异号点电荷的电势分布,应用了 Matlab 三维网格作图命令mesh(x,y,z)和基本函数 数值运算功能。 例 2 光栅衍射, 应用了 Matlab 的 基本运算功能,基本绘图功能,数值分析功能。 例 3 质点在万有引力作用下的运动 , 应用了 Matlab 的 基本运算功能,基本绘图功能,在一个窗口下绘制多条图形,并且利用 Matlab 的 ode45 命令求解常微分方程,最后 总结了 Matlab 的 ode45 命令 解常微 分方程的一般过程。 14 第二章 混沌行为与特性 167。 混沌理论 在现代物理的研究中,混沌理论的建立可能称得上是最重要的成就之一。 混沌的发现被誉为继相对论和量子力学后的第三次物理学革命,混沌的研究一直备受学术界的关注。 经典物理的确定论和近代量子物理的随机论,虽然都非常成功地解决了许多自然现象,但是这两种理论之间似乎存在着对立的矛盾,只适宜于不同的领域。 在宏观领域似乎只应用经典物理理论,而在微观领域中更多是使用量子力学、统计物理的随机性理论。 按照确定性理论,物体运动以后在任何时间状态 只是一个点,而按照随机性理论,物体的状态不是点,而是由点组成的点云,点云的密度就表示物体出现这种状态的概率大小。 随着物理理论的深人研究,人们发现在传统的确定性理论领域中,一定的条件下也可以出现一定的随机性现象。 这种随机性又不同于传统的随机性理论研究的随机性问题,因为它又有一定的确定性。 这种现象的发现和解决从而诞生了混沌理论。 在经典物理中,物体的状态变化规律都是用非线性方程来描述的,只要给出一定初始条件,就可以解出这个非线性方程的解,事实上,如果对这些非线性方程进一步研究,就会发现,初始条件的变化,可以使这 些本来是确定性的解出现随机性。 167。 简单的数学游戏 (1)令 1 2nnXX  ,如果是利用二进制,按 Modell(去掉整数,只留小数的操作)进行迭代 [21],我们来看看其结果如何。 取 0X = 0. 1000100100111001 1X = 2X = 3X = „„ 16X =0 也就是说,其结果最终趋向于零,或者说是趋向于一个点,一般我们把 15 这个点叫“汇”。 而如果取 0X = 001„„如此循环下去,我们就会发现,其结果应该有 16 种稳定的点,我们叫“稳定极限环”。 0X 和 0X 虽然在数学上可以说是非常接近,只存在微小的不同,但是其计算的结果却完全不同。 这就说明,微小的初始条件的变化,可能引起不同的结果,这就是初始条件的敏感性。 (2)令 1 (1 )n n nX X X 。 [0,1]nX  如果取  =2, 0X =,则 1X =, 2X =, 3X =, 4X = 999996,„„ nX =,也就是其结果最终趋向于点 X =0. 50。 如果取  =, 0X =,则 1X =,„„ 8X =, 9X = 565。 如果继续迭代下去,其结果仍然是在 8X 和 9X 上循环,这就是说,其迭代的结果可能是两个,我们就叫“分岔”,像这样有两个结果的就叫“二周期”。 如果取  =, 0X =,则 1X =0. 5648,„„ 13X =, 14X = 8230286, 15X = , 16X =。 如果继续迭代下去,就是进行这四数字的循环,像这样的结果就叫“四周期”。 如果取  =3. 9,那么我们就会发现其结果是无周期的,或者说是有无数的点,也就是进人完全随机状态,我们就叫“混沌”( chaos)。 167。 “蝴蝶效应” 美国的著名气象学家 Edward Lorenz 从旋转的木桶实验 [21],总结出包括12 个方程的方程组,建立了一个仿真的气象模型,他认为尽管气象变化万千,但总是遵循经典的物理定律,只要知道一定的初始条件,那么利用这些方 程总是可以把结果算出来的。 这就是说按照传统的确定性理论,他就可以确定将来的气象变化的规律和任何时间的气象状态。 这里需要说明的是,一般传统的科学家都认为,任何量的测量和获得都不可能是完全精确的,都有一定的近似,所以在进行计算的时候一般都采用一定的近似。 因为他们认为,极小的影响和变化、差别是可以忽略不计的,事物运动之中都具有一定的收敛性,极小的差别不会引起大的影响。 Lorenz 在利用计算机进行计算的时候,一次,为了省时,他就把上次计算打印结果当作初始值输人了,然而,当他一小时以后回来的时候突然发现其结果却偏差 极大。 开始他以为是计算机出了问题,后来经过仔细的研究, 16 发现是由于初始值的微小差别导致其结果的极大偏差。 因为那时候的计算机还很简单,存储只是 6 位,但是打印出来的只是 3 位,例如输入 0. 532020,只能打印出来 ,当时他认为这是极小差别,不会引起大的变化。 但他的方程对这些微小的不同却是极其敏感的,他把这种现象叫作“蝴蝶效应”。 意思就是:巴西的蝴蝶抖动一下翅膀,就可能在德克萨斯引起一场风暴。 蝴蝶效应说明了初始条件的重要性,也说明了科学的严谨。 任何随意的忽略,都可能导致严重的后果。 也正由此导致后来“混沌”理论的诞生。 167。 用 Matlab 演示混沌的基本性质 在自然界中,绝大部分运动都是混沌运动,规则运动只在局部的范围和较短的时间内存在。 从简单的数学游戏入手,我们了解了混沌运动的产生,通过对“蝴蝶效应”的介绍,我们了解了混沌运动的主要特征及性质。 在各种软件中, Matlab 是非常适合混沌的演示和仿真实验的。 本节将对如何使用Matlab 来演示混沌运动特征及性质进行研究。 167。 用 Matlab 产生标准的混沌信号 1963 年,美国气象学家洛伦兹在《大气科学杂志》上发表了著名的论文《确定性的非周期流》,文中指出:三阶非线性自治系统中可能会出现混沌解[12]。 洛伦兹提出了一个简化的天气预报模型,这就是著名的洛伦兹方程组: ()()x a y xy b z x yz xy cz   (21) 这个简化模型是一个完全确定的方程组。 然而,当方程组的三个参数取某些值时 (比较常用的是 a =10,b =28,c =8/3),方程组出现了混沌解。 这是在耗散系统中,一个确定的方程能导出混沌解的第一个实例,它标志着混沌学的涎生。 在 Matlab 中,可以用如下程序 产生洛沦兹信号,在对混沌信号的演示和处理中,洛沦兹信号是最常用到的标准混沌信号。 混沌系统存在混沌吸引子,洛沦兹吸引子就是著名的蝶形图。 如图 21 所示。 (1)洛伦兹函数程序: function dy=lorenz(t,y) 17 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。 (2)给定参数作图程序: [t,y]=ode45(39。 lorenz39。 ,[0 30],[12,2,9])。 plot3(y(:,1),y(:,2),y(:,3)) view([20,42])。 图 21 洛沦兹信号的吸引子 167。 倍周期分岔 —— 通向混沌之路 倍周期分岔是许多非线性动力学过程中常见的现象,也是进人混沌的一种重要方式 [ 12]。 可以用描述虫日模型的 Logistic 方程来演示一个动力学系统是如何通过倍周期分岔从规则运动进人混沌运动的。 Logistic 差分方程为 1 (1 )n n nX X X ,初值 0X 的取值范围为 (0,1),  的取值范围为 [1,4]。 由 Logistic 方程描述的系统的最终状态取决于  值,  在由1 变化到 4 的过程中,该系统通过不断的倍周期分岔从规则运。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。