Matlab实现混沌系统的控制

  • 格式:doc
  • 大小:468.00 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于MATLAB 的各类混沌系统的计算机模拟

混沌是非线性系统所独有且广泛存在的一种非周期运动形式, 其覆盖面涉及到自然科学和社会科学的几乎每一个分支。1972年12月29日,美国麻省理工学院教授、混沌学开创人之一E.N.洛伦兹在美国科学发展学会第139次会议上发表了题为《蝴蝶效应》的论文,提出一个貌似荒谬的论断:在巴西一只蝴蝶翅膀的拍打能在美国得克萨斯州产生一个龙卷风,并由此提出了天气的不可准确预报性。为什么会出现这种情况呢?这是混沌在作怪!

“混沌”译自英语中“chaos”一词,原意是混乱、无序,在现代非线性理论中,混沌则是泛指在确定体系中出现的貌似无规则的、类随机的运动。

混沌现象是普遍的,就在我们身边,是与我们关系最密切的现象,我们就生活在混沌的海洋中。一支燃着的香烟,在平稳的气流中缓缓升起一缕青烟,突然卷成一团团剧烈搅动的烟雾,向四方飘散;打开水龙头,先是平稳的层流,然后水花四溅,流动变的不规则,这就是湍流;一个风和日丽的夏天,突然风起云涌,来了一场暴风雨。一面旗帜在风中飘扬,一片秋叶从树上落下,它们都在做混沌运动。可见混沌始终围绕在我们的周围,一直与人类为伴。

1.混沌的基本概念

1. 混沌: 目前尚无通用的严格的定义, 一般认为,将不是由随机性外因引起的, 而是由确定性方程(内因)直接得到的具有随机性的运动状态称为混沌。

2. 相空间: 在连续动力系统中, 用一组一阶微分方程描述运动, 以状态变量(或状态向量)为坐标轴的空间构成系统的相空间。系统的一个状态用相空间的一个点表示, 通过该点有唯一的一条积分曲线。

3. 混沌运动: 是确定性系统中局限于有限相空间的高度不稳定的运动。所谓轨道高度不稳定, 是指近邻的轨道随时间的发展会指数地分离。由于这种不稳定性, 系统的长时间行为会显示出某种混乱性。

4. 分形和分维: 分形是 n 维空间一个点集的一种几何性质, 该点集具有无限精细的结构, 在任何尺度下都有自相似部分和整体相似性质, 具有小于所在空间维数 n 的非整数维数。分维就是用非整数维——分数维来定量地描述分形的基本性质。

5. 不动点: 又称平衡点、定态。不动点是系统状态变量所取的一组值, 对于这些值系统不随时间变化。在连续动力学系统中, 相空间中有一个点0x , 若满足当 t →∞时, 轨迹0()x t x →, 则称0x 为不动点。

6. 吸引子: 指相空间的这样的一个点集 s (或一个子空间) , 对s 邻域的几乎任意一点, 当t →∞时所有轨迹线均趋于s, 吸引子是稳定的不动点。

7. 奇异吸引子: 又称混沌吸引子, 指相空间中具有分数维的吸引子的集合。该吸引集由永不重复自身的一系列点组成, 并且无论如何也不表现出任何周期性。混沌轨道就运行在其吸引子集中。

8. 分叉和分叉点: 又称分岔或分支。指在某个或者某组参数发生变化时, 长时间动力学运动的类型也发生变化。这个参数值(或这组参数值)称为分叉点, 在分叉点处参数的微小变化会产生不同性质的动力学特性, 故系统在分叉点处是结构不稳定的。

9. 周期解: 对于系统1()n n x f x += , 当n →∞时,若存在n i n x x ξ+== , 则称该系统有周期i 解ξ 。不动点可以看作是周期为1的解, 因为它满足1n n x x +=。

10. 初值敏感性:对初始条件的敏感依赖是混沌的基本特征,也有人用它来定义混沌:混沌系统是其终极状态极端敏感地依赖于系统的初始状态的系统。敏感依赖性的一个严重后果就在于,使得系统的长期行为变得不可预见。

2.MATLAB 中的龙格—库塔(Runge-Kutta )实现

MATLAB (Matrix Laboratory )是MathWorks 公司开发的,目前国际上最流行应用最广的科学与工程计算机软件之一。MA TLAB 软件以矩阵运算为基础,把计算,可视化,程序设计等有机的融合在一起,具有出色的数值计算能力和强大的图形处理功能。 基于Runge —Kutta 法,MA TLAB 提供了求解微分方程数值解的函数,一般调用格式是:

[,]23(@,,0)[,]45(@,,0)

t y ode fname tspan y t y ode fname tspan y ==

其中fname 是定义的函数文件名,该函数文件必须返回一个列向量。Tspan 形式是[t0,tf],表示求解区间,y0是初始状态向量。这两个函数分别采用“二阶,三阶Runge —Kutta 法”和“四阶,五阶Runge —Kutta 法”,并采用自适应的求解方法,即当解的变化较慢时采用较大的步长,从而使计算速度很快,当解的变化较快时步长会自动变小长,从而使计算精度很高。在MA TLAB 中,一般选取四阶的龙格库塔方法。

3.Lorenz 混沌系统

美国气象学家洛伦兹(E.N.Lorenz )于1963年在大气科学杂志上提出第一个表现奇异吸引子的动力学系统。该混沌系统模型可以用下列微分方程组描述:

)()(z xy b dt

dz

xz y ax dt dy

y x c dt dx

-=--=--= 利用MA TLAB 数学软件对上面微分方程求解,进行数值模拟。首先建立M -文件 Lorenz.m 定义脚本函数,然后编程调用,其中x (1)表示x ,x (2)表示y ,x (3)表示z ,程序如下:

function r=lorenz(t,x) global a; global b; global c;

r=[-c*(x(1)-x(2));a*x(1)-x(2)-x(1)*x(3);b*(x(1)*x(2)-x(3))]; clear; global a; global b; global c; b=8/3;c=10;

t0=[0,100];f0=[1,1,1]; for a=10:30

[t,x]=ode45(@lorenz,t0,f0); a

subplot(3,1,1);

plot(t,x(:,1),'r',t,x(:,2),'g',t,x(:,3),'b');