前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab计算李雅普诺夫指数方法-jac矩阵方法

matlab计算李雅普诺夫指数方法-jac矩阵方法

作者头像
用户9925864
发布2024-04-15 18:24:49
3261
发布2024-04-15 18:24:49
举报
文章被收录于专栏:算法工程师的学习日志

之前分享过Matlab求解混沌系统最大李雅普诺夫指数

Matlab求解混沌系统最大李雅普诺夫指数

这次分享通过jac矩阵的方法来求解李雅普诺夫指数。

假定研究系统为:某二维非线性动力系统方程组合

这其jac矩阵的为2*2矩阵,

第一行为x(n+1)分别对xn和yn求导;

第二行为y(n+1)分别对xn和yn求导

则jac矩阵表达式为[-2*a*x,1; b 0];

完整代码实现:

代码语言:javascript
复制
clc
close all
clear
N = 1000; 
a = (0:0.001:1.4)'; 
b = 0.3; 
na = length(a); 
LE1 = zeros(na,1); 
LE2 = zeros(na,1); 
x = 0.2; y = 0.3; 
for i = 1:na 
    LCEvector = zeros(2,1); 
    Q = eye(2); 
    for j=1:N 
        xprev = x; 
        yprev = y; 
        x = 1-a(i)*xprev*xprev+yprev; 
        y = b*xprev; 
        Ji = [-2*a(i)*x,1;b 0];
        B = Ji*Q;
        [Q,R] = qr(B); 
        LCEvector = LCEvector+log(diag(abs(R))); 
    end 
    LE = LCEvector/N; 
    LE1(i) = LE(1); 
    LE2(i) = LE(2); 
end 
 
figure(1);
plot([0,1.4],[0,0],'--','LineWidth',1);
hold on
plot(a,LE1,'g',a,LE2,'b','linewidth',1) ; 
set(gca,'XLim',[0 1.4]);
set(gca,'YLim',[-2 1]);
legend('line1=0','\lambda1','\lambda2');
xlabel('a');ylabel('LE');
set(gca,'fontsize',10)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档