Matlab2018b混沌系统李雅普诺夫指数图程序
时间: 2023-08-23 11:03:37 浏览: 166
好的,以下是 Matlab2018b 中绘制混沌系统李雅普诺夫指数图的程序:
```
% 定义混沌系统
function dxdt = myode(t,x)
r = 0.2;
dxdt = [r*x(1)*(1-x(1)) - x(1)*x(2);
x(1)*x(2) - x(2)];
end
% 定义李雅普诺夫指数函数
function lambda = myliap(x)
n = length(x);
A = zeros(n);
for i = 1:n
for j = 1:n
A(i,j) = (myode(0,x(i,:)) - myode(0,x(j,:))) / norm(x(i,:) - x(j,:));
end
end
lambda = max(real(eig(A)));
end
% 计算李雅普诺夫指数并绘制图像
tspan = [0 100];
x0 = [0.1 0.1];
[t,x] = ode45(@myode, tspan, x0);
N = length(x);
L = zeros(N,1);
for i = 1:N
L(i) = myliap(x(i:end,:));
end
plot(t, L);
xlabel('时间');
ylabel('李雅普诺夫指数');
```
以上程序中,定义了一个混沌系统和一个李雅普诺夫指数函数。在计算李雅普诺夫指数时,使用了已有的微分方程函数,使用 ode45 函数求解微分方程,并通过 eig 函数求解李雅普诺夫指数。最后使用 plot 函数绘制李雅普诺夫指数随时间变化的曲线图。
阅读全文