马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
%计算最大Lyapunov指数%
clear all
d0=1e-10; %扰动量d0=10^-10
n=2000; %求和次数n
dt=0.1; %每次计算步长dt
tf=300;
y0=[0,0.5,0]; %初始向量
[t,y]=ode45('Rossler',[0 tf],y0); %Rossler系统或者Lorenz系统 即代表待求解方程,用m文件存储
figure(1);
plot3(y(:,1),y(:,2),y(:,3));
a=length(t);
%计算300秒后进入混沌轨道%
y0a=[y(a,1),y(a,2),y(a,3)];
y0b=[y(a,1),y(a,2),y(a,3)+d0];%初始位置扰动
for i=1:n
ya=ode4('Afun',[0:dt/200:dt],y0a);%计算dt时间后新的位置 Afun??是什么方程?
yb=ode4('Afun',[0:dt/200:dt],y0b);%计算dt时间后新的位置
a=length(ya);
b=length(yb);
d(i)=((ya(a,1)-yb(b,1))^2+(ya(a,2)-yb(b,2))^2+(ya(a,3)-yb(b,3))^2)^0.5;%求dt时间长度后两条轨道的距离
y0a=ya(a,:);
y0b=ya(a,:)+(d0/d(i))*(yb(b,:)-ya(a,:));%距离标准化处理
end
LMTmax=0;
for i=1:n
LMTmax=log(d(i)/d0)+LMTmax;%求和
end
LMTmax=LMTmax/(n*dt) %输出结果 |