📄 lyapunov.m
字号:
%计算Lyapunov指数
%需引用f1.m文件(迭代函数)
function L=lyapunov(w,b,t)
N=size(w,1); %N为动力系统的维数
A=zeros(N,N); %矩阵A的初始值设为0
k=0;
x1=[1;2;3]; %系统状态向量序列的当前值,x1=f(x)
sum=0; %对数之和
de=1; %两次计算的Lyapunov指数之差,用以判断迭代是否结束
L=0; %函数返回值,即Lyapunov指数
while (de>2e-1) %k循环,每一循环计算计算一次Ak,得到一个新的lyapunov指数
k=k+1;
x=x1;
x1=f1(x,w,b); %f1为向量序列的迭代函数,由函数文件f1.m定义
for j=1:N %j循环,每一循环计算Ak的一列
y=x;
y(j)=x1(j);
df=f1(y,w,b)-f1(x,w,b);
dx=x1(j)-x(j);
for i=1:N %i循环,每一循环计算Ak的一个元素A(i,j)
A(i,j)=df(i)./dx;
end
end
sum=sum+log(det(A));
temp=L; %保存上次的Lyapunov指数值
L=sum./k; %计算新的Lyapunov指数值
de=L-temp; %两次差值,用以判断迭代是否结束
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -