什么意思代码clear;%奇异值分解法计算ouhe系统的李雅普诺夫指数谱 clc; Z1=[]; Z2=[]; Z3=[]; x=1; y=1; z=1; h=0.002; u=2; %a=3; k=10000; for a=linspace(0.5,10.5,1000); V=eye(3); S=V; b1=0; lp=0; for i=1:k x1=x+h*(-u*x+y*(z+a)); y1=y+h*(-u*y+x*(z-a)); z1=z+h*(z-x*y); x=x1;y=y1;z=z1; J=[-u a+z y z-a -u x -y -x 1]; J=eye(3)+h*J; B=J*V*S; [V,S,U]=svd(B); a_max=max(diag(S)); S=(1/a_max)*S; b1=b1+log(a_max); end lp=(log(diag(S))+b1)/(k*h); Z1=[Z1 lp(1)]; Z2=[Z2 lp(2)]; Z3=[Z3 lp(3)]; end a=linspace(0.5,10.5,1000); plot(a,Z1,'-',a,Z2,'-',a,Z3,'-'); title('Lyapunov exponents of ouhe'); xlabel('parameter a'),ylabel('lyapunov exponents'); grid on
时间: 2024-04-12 20:32:47 浏览: 151
这段代码使用奇异值分解法计算了Ouhe系统的李雅普诺夫指数谱。代码中的主要步骤如下:
1. 清除之前的变量 clear;
2. 设置初始变量和参数,包括 x, y, z, h, u, k, a。
3. 使用 for 循环遍历参数 a 的范围。
4. 在每次循环中,计算更新后的 x, y, z 的值。
5. 构建雅可比矩阵 J,并更新 V 和 S。
6. 计算最大奇异值 a_max,并将 S 进行归一化处理。
7. 计算 b1 和 Lyapunov 指数 lp。
8. 将 lp 的值存储到 Z1、Z2 和 Z3 中。
9. 绘制 Lyapunov 指数随参数 a 的变化曲线。
最后,绘制了 Lyapunov 指数随参数 a 的变化曲线,并给出了相应的标题和轴标签。
阅读全文