李雅普诺夫指数 matlab,Matlab画Lorenz系统的最大李雅普诺夫指数图

自己改写的matlab程序,画Lorenz系统的最大L指数图,判断混沌 运行无误,结果精确 附结果图!

Lorenz 系统

文档分两个文件方程m文件和计算L指数m文件分开写,复制粘贴即可运行matlab2012a,改写方程文件和参数即可算自己的系统,其中最大L指数用的是经典的柏内庭(G.Benettin)计算方法,准确快速无误!附计算结果图!!

方程m文件:

function dX = Loren(t,X)

global a; % 变量不放入参数表中

global b;

global c;

x=X(1); y=X(2); z=X(3);

% Y的三个列向量为相互正交的单位向量

% 输出向量的初始化

dX = zeros(6,1);

% Lorenz吸引子

dX(1)=a*(y-x);

dX(2)=x*(b-z)-y;

dX(3)=x*y-c*z;

end

计算最大L指数文件

Z=[];

global a;

global b;

global c;

a=10;

c=8/3;

d0=1e-7;

for b=linspace(0,500,500)

lsum=0;

x=1;y=1;z=1;

x1=1;y1=1;z1=1+d0;

for i=1:100

[T1,Y1]=ode45('Loren',1,[x;y;z;16;b;4]);

[T2,Y2]=ode45('Loren',1,[x1;y1;z1;16;b;4]);

n1=length(Y1);n2=length(Y2);

x=Y1(n1,1);y=Y1(n1,2);z=Y1(n1,3);

x1=Y2(n2,1);y1=Y2(n2,2);z1=Y2(n2,3);

d1=sqrt((x-x1)^2+(y-y1)^2+(z-z1)^2);

x1=x+(d0/d1)*(x1-x);

y1=y+(d0/d1)*(y1-y);

z1=z+(d0/d1)*(z1-z);

if i>50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值