function main

%求解LE代码:

% 计算Rossler吸引子的Lyapunov指数

% Rossler吸引子,用来计算Lyapunov指数

% a=0.25,b=1,c=5.5

% dx/dt = -y-z,

% dy/dt = x+ay,

% dz/dt = b+z(x-c),

clear;

yinit = [1,1,1];

orthmatrix = [1 0 0;

0 1 0;

0 0 1];

a = 0.25;

b = 1;

c = 5.5;

y = zeros(12,1);

% 初始化输入

y(1:3) = yinit;

y(4:12) = orthmatrix;

tstart = 0; % 时间初始值

tstep = 1e-3; % 时间步长

wholetimes = 1e5; % 总的循环次数

steps = 10; % 每次演化的步数

iteratetimes = wholetimes/steps; % 演化的次数

mod = zeros(3,1);

lp = zeros(3,1);

% 初始化三个Lyapunov指数

Lyapunov1 = zeros(iteratetimes,1);

Lyapunov2 = zeros(iteratetimes,1);

Lyapunov3 = zeros(iteratetimes,1);

for i=1:iteratetimes

tspan = tstart:tstep:(tstart + tstep*steps);

[T,Y] = ode45('Rossler_ly', tspan, y);

% 取积分得到的最后一个时刻的值

function main

%求解LE代码:

% 计算Rossler吸引子的Lyapunov指数

% Rossler吸引子,用来计算Lyapunov指数

% a=0.25,b=1,c=5.5

% dx/dt = -y-z,

% dy/dt = x+ay,

% dz/dt = b+z(x-c),

clear;

yinit = [1,1,1];

orthmatrix = [1 0 0;

0 1 0;

0 0 1];

a = 0.25;

b = 1;

c = 5.5;

y = zeros(12,1);

% 初始化输入

y(1:3) = yinit;

y(4:12) = orthmatrix;

tstart = 0; % 时间初始值

tstep = 1e-3; % 时间步长

wholetimes = 1e5; % 总的循环次数

steps = 10; % 每次演化的步数

iteratetimes = wholetimes/steps; % 演化的次数

mod = zeros(3,1);

lp = zeros(3,1);

% 初始化三个Lyapunov指数

Lyapunov1 = zeros(iteratetimes,1);

Lyapunov2 = zeros(iteratetimes,1);

Lyapunov3 = zeros(iteratetimes,1);

for i=1:iteratetimes

tspan = tstart:tstep:(tstart + tstep*steps);

[T,Y] = ode45('Rossler_ly', tspan, y);

% 取积分得到的最后一个时刻的值

y = Y(size(Y,1),:);

% 重新定义起始时刻

tstart = tstart + tstep*steps;

y0 = [y(4) y(7) y(10);

y(5) y(8) y(11);

y(6) y(9) y(12)];

%正交化

y0 = ThreeGS(y0);

% 取三个向量的模

mod(1) = sqrt(y0(:,1)'*y0(:,1));

mod(2) = sqrt(y0(:,2)'*y0(:,2));

mod(3) = sqrt(y0(:,3)'*y0(:,3));

y0(:,1) = y0(:,1)/mod(1);

y0(:,2) = y0(:,2)/mod(2);

y0(:,3) = y0(:,3)/mod(3);

lp = lp+log(abs(mod));

%三个Lyapunov指数

Lyapunov1(i) = lp(1)/(tstart);

Lyapunov2(i) = lp(2)/(tstart);

Lyapunov3(i) = lp(3)/(tstart);

y(4:12) = y0';

end

% 作Lyapunov指数谱图

i = 1:iteratetimes;

plot(i,Lyapunov1,i,Lyapunov2,i,Lyapunov3)

Le1=Lyapunov1(end),Le2=Lyapunov2(end),Le3=Lyapunov3(end)

title('Lyapunov指数谱图')

end

%计算得到的Rossler系统的LE为———— 0.0992 0.0755 -5.2644

%计算得到的Rossler系统的LE为———— 0.0992 0.0755 -5.2644

function dX = Rossler_ly(t,X)

a = 0.25;

b = 1;

c = 5.5;

x=X(1); y=X(2); z=X(3

);

% Y的三个列向量为相互正交的单位向量

Y = [X(4), X(7), X(10);

X(5), X(8), X(11);

X(6), X(9), X(12)];

% 输出向量的初始化,必不可少

dX = zeros(12,1);

% Rossler吸引子

dX(1) = -y-z;

dX(2) = x+a*y;

dX(3) = b+z*(x-c);

% Rossler吸引子的Jacobi矩阵

Jaco = [0 -1 -1;

1 a 0;

z 0 x-c];

dX(4:12) = Jaco*Y;

%程序中用到的ThreeGS程序如下:

%G-S正交化

function A = ThreeGS(V) % V 为3*3向量

v1 = V(:,1);

v2 = V(:,2);

v3 = V(:,3);

a1 = zeros(3,1);

a2 = zeros(3,1);

a3 = zeros(3,1);

a1 = v1;

a2 = v2-((a1'*v2)/(a1'*a1))*a1;

a3 = v3-((a1'*v3)/(a1'*a1))*a1-((a2'*v3)/(a2'*a2))*a2;

A = [a1,a2,a3];

matlab李雅普诺夫吸引子,matlab计算Rossler吸引子的李雅普诺夫指数相关推荐

  1. 静电场的有限差分法与matlab 仿真课程设计,计算物理和MATLAB课程设计--自激振动系统的MATLAB仿真.doc...

    东北石油大学课程设计任务书 课程 计算物理和MATLAB课程设计 题目 自激振动系统的MATLAB仿真 专业 姓名 学号 主要内容.基本要求.主要参考资料等 主要内容: 研究范?德?波耳(Van de ...

  2. 【MATLAB实验】MATLAB图形绘制相关函数与定积分计算

    MATLAB实验 Matlab中的图形 对数图.极坐标图及条形图 填充图 三维作图 与mesh相关的几个函数 Matlab符号运算 matlab的常见6大符号运算 matlab特殊函数与图形 定积分的 ...

  3. 美赛整理之Matlab的工程数学计算学习笔记(高等数学)

    美赛整理之Matlab的工程数学计算学习笔记(高等数学) 1.极限的定义和判别: 2.绘制特殊曲面 3.求两个空间曲面的交线 4.定积分的计算 5.多重积分的计算 1.截面法: 2.定义法 (1)先画 ...

  4. matlab求刚度,matlab直接刚度法计算结构频率

    matlab直接刚度法计算结构频率 syms E I K r l x cja1=-E*I*K*r^3*(cos(x)*sinh(x)+sin(x)*cosh(x))jc1=-E*I*K*r^2*sin ...

  5. matlab一元二次回归,MATLAB一元线性回归方程的计算及检验.doc

    MATLAB一元线性回归方程的计算及检验 1. 从input语句键盘输入一组数据(xi,yi),i=1,2,-n. 2. 计算一元线性回归方程y=ax+b的系数a和b,用两种方法计算: 一是公式:: ...

  6. matlab多项式计算题目,MATLAB数据分析与多项式计算-习题答案

    <MATLAB数据分析与多项式计算-习题答案>由会员分享,可在线阅读,更多相关<MATLAB数据分析与多项式计算-习题答案(4页珍藏版)>请在人人文库网上搜索. 1.第6章 M ...

  7. MATLAB与高等数学--极限计算

    limit函数用法 在MATLAB中使用limit计算函数在某点的极限: limit(f,a) 例1: >> syms x; >> limit((x^3+1)/(x^4+2)) ...

  8. matlab中pwelch函数计算功率谱密度

    出处:Matlab用pwelch函数计算功率谱 - 知乎 (zhihu.com) 1:函数形式 [pxx,f] = pwelch(x,window,noverlap,NFFT,fs) 该函数可以自适应 ...

  9. 位移传递率matlab编程,机械振动设计计算与VB编程实例

    1 编写机械振动计算程序的一般步骤1 1.1 明确编写程序的目的和了解清楚相关的计算公式.物理量纲1 1.2 在简单的界面上用BASIC编写计算程序并完成调试2 1.3 设计一个较为完备的用户界面4 ...

  10. 计算久期matlab,[MATLAB代码模板]固定收益证券计算

    固定收益证券计算 1固定收益债券定价 (1)bndprice函数 目的: 给固定收益债券定价 格式: [Price,AccruedInt]=bndprice(Yield,CouponRate,Sett ...

最新文章

  1. 面对5G,华为、中兴及三大运营商怎么布局?
  2. Jquery知识小点备注
  3. Android学习CursorWrapper与Decorator模式
  4. android studio安装在其他盘,Android Studio配置移动到D盘(亲测)
  5. 1.1 MATLAB数值数据
  6. DIV常用属性大全自己整理
  7. Spring Cloud 参考文档(Spring Cloud Context:应用程序上下文服务)
  8. centos7使用中文输入法
  9. AD9833资料收集
  10. Spring知识点记录
  11. QQMail邮件泄露漏洞
  12. IDEA推送项目到gitee上,拉取gitee项目到IDEA中
  13. TcpDump使用手册
  14. excel隐藏不需要的所有行和列
  15. Java-数字三角形(回溯法)
  16. SDS(Simple Dynamic String)一个简易动态字符串库
  17. vs2017、C++、循环遍历数组完成写XML文件 完整版
  18. 百家饭OpenAPI v0.6.0新版夏日发布!快来看(3)——多端API整合测试功能
  19. 文本生成:自动摘要评价指标 Rouge
  20. <Principles of fMRI 1>课程笔记5 MR物理基础

热门文章

  1. 客户关系管理软件的作用是什么?
  2. 逐步揭示makop.mkp勒索病毒中毒防范恢复解密
  3. java jshelllink_Jshell使用
  4. cannot import name 'NPCAP_PATH'
  5. vm虚拟机怎么访问本地硬盘
  6. cad计算机快捷键设置,2014年CAD计算机快捷键
  7. AutoCAD 2007快捷键大全
  8. 选择html5抛弃flash,谷歌Chrome年底正式抛弃Flash 全面转向HTML5
  9. c语言双向循环链表合并,双向循环链表的合并
  10. linux驱动开发期末测试,超星尔雅Linux驱动开发实训期末测试答案