最近在研究混沌时间序列,想了解基本知识,看的一本书叫做《混沌时间序列分析及其应用》(作者:吕金虎)(是中文书籍,不是翻译的书籍)

书中第二章 混沌动力学 提到了几个典型的混沌的例子

1.虫口模型 Logistics

1.1 原理

虫口模型---昆虫变化的简单数学模型。(昆虫一次产卵的数量极大,子代出生后,其亲代的数量可以忽略不计)认为昆虫的种群是由单一的世代构成,在历代之间没有重叠。因此,昆虫种群的增长(虫口数)是分步进行的,例如,每个3年、5年或7年出现一次成虫期的蝉就是这样。

1.2 代码

说明:首先进行一些迭代,使之大概达到一种有迹可循的状态;然后就记录结果。
横轴可以看做是迭代次数,横轴上的一点,对应的纵轴上很多个点的叠加。
%% -------------------虫口模型-分岔图-----------
% 虫口模型 x(n+1) = lambda * x(n) * (1 - x(n)) 
% 当 lambda 从 3 到 4 的过渡图像
% 参见<<混沌动力学初步>>陈士华,陆君安编著 P46
clc
clear
close all
lambda = 0:5e-4:4;%原来是3:4
x = 0.4*ones(1,length(lambda));
N1 = 800;                   % 前面的迭代点数(原来是400)
N2 = 200;                   % 后面的迭代点数(原来是100)
f = zeros(N1+N2,length(lambda));
for i = 1:N1+N2
    x = lambda .* x .* (1 - x);
    f(i,:) = x;
end
f = f(N1+1:end,:);
plot(lambda,f,'k.','MarkerSize',1)
xlabel('\lambda')
ylabel('x');
title('Logistic虫口模型-虫口随着λ的变化')

1.3 结果

2.洛伦兹方程-天气对流模型

2.1 原理

1963年,美国著名气象学家洛伦兹在研究天气预报问题时,发现确定性方程中出现混沌现象。

振荡曲线与完全随机的噪声不一样,它似乎有一定的规律:无论时间多长,它都不会完全重复以前某时刻的振荡,即此时振荡具有非周期性和随机性。这些轨迹被限制在相平面(空间)的有限区域内,这样的有限区域称为动力系统的吸引子(attractor)。对于周期运动,吸引子是一条简单的闭曲线。但形如洛伦兹系统这样的具有随机性的费周期运动,其吸引子远非什么复杂的闭曲线,其轨线往往是反复折叠和相互交叉而形成的密集的带。这种具有复杂结构的吸引子称为奇怪吸引子(strange attractor)。具有奇怪吸引子的运动就是混沌的。

2.2 代码

2.2.1 主函数

%本程序的作用:求解&绘图
[t,y]=ode45('Lorenz',[0 30],[12,2,9]);
(可以写作: [t,y]=ode45(@Lorenz,[0 30],[12,2,9]) )
figure(1)
plot(t,y(:,1));
title('x关于t的变化图');
xlabel('t');
ylabel('x(t)');

figure(2)
plot(t,y(:,2));
title('y关于t的变化图');
xlabel('t');
ylabel('y(t)');

figure(3)
plot(t,y(:,3));
title('z关于t的变化图');
xlabel('t');
ylabel('z(t)');

figure(4)
plot3(y(:,1),y(:,2),y(:,3))
title({'x,y,z的空间关系图','Lorenz方程在三维相空间中的轨迹图形'}');
xlabel('x');ylabel('y'),zlabel('z');
view([20,32]);

%% ----验证“蝴蝶效应”----------
%解释:洛伦兹方程的解对初始值十分敏感,现在对y的初始值稍加修改,将2改为2.01和1.99,
%           然后求解z的数值解。
%结果说明:随着时间的推移,三条曲线的吻合程度越来越差,差距越来越大,变化也越来越不明显,成为混沌状态、。
%                   前面一部分(t<5),三条曲线几乎完全重合。

% clf %清楚当前figure内的图形
figure(5)
hold on
[t,u]=ode45('Lorenz',[0 15],[12,2,9]);
plot(t,u(:,3),'Color','r');
[t,v]=ode45('Lorenz',[0 15],[12,2.01,9]);
plot(t,v(:,3),'Color','b');
[t,w]=ode45('Lorenz',[0 15],[12,1.99,9]);
plot(t,w(:,3),'Color','k');
hold off
legend('y(t=0)=2','y(t=0)=2.01','y(t=0)=1.99');
xlabel('t');
ylabel('z(t)');
title('蝴蝶效应-y的不同的初始值下,z的取值变化');

2.2.2 函数 Lorenz.m

% (1)洛伦兹方程是一组常微分方程,Runge-Kutta方法是求解常微分方程的经典方法,
% Matlab提供了多个采用该方法的函数命令:ode23 ,ode45 等。
% (2)下面采用ode45命令求解Lorenz在研究大气对流模型时得到的洛伦兹方程:
% dx/dt=A*(-x+y)
% dy/dt=B*x-y-x*z
% dz/dt=x*y-C*z
% 经常引用的参数是: A=10,B=2,C=8/3   相空间维数为3
% (3)为了用Matlab求解,将x,y,z表示为y(1),y(2),y(3),即为列向量中的三个分量
function dy=Lorenz(t,y)
A=10;
B=28;
C=8/3;
dy=zeros(3,1);
dy(1)=A*(-y(1)+y(2));
dy(2)=B*y(1)-y(2)-y(1)*y(3);
dy(3)=y(1)*y(2)-C*y(3);
end

3.Chen's吸引子

3.1 微分方程求解

3.1.1定义函数Chens.m

function dy=Chens(t,y)
dy=zeros(3,1);%一个三行的矢量
A=35;
B=3;
C=28;
dy(1)=A*(y(2)-y(1));
dy(2)=(C-A)*y(1)-y(1)*y(3)+C*y(2);
dy(3)=y(1)*y(2)-B*y(3);
end

3.1.2求解方程

%二阶、三阶Runge-Kutta法积分,采用函数:ode23
%四阶、五阶Runge-Kutta法积分,采用函数:ode45

[T,Y]=ode45(@Chens,[0 200],[0 1 0]);
plot3(Y(:,1),Y(:,2),Y(:,3));
xlabel('x axis');ylabel('y axis');zlabel('z axis');

view(0,90);%在xoy面的投影
view(90,0);%在yoz面的投影
view(0,0);%在xoz面的投影

3.2 线性方程组求解

%% ---------求解平衡点---------------
syms x y z
[solx,soly,solz]=solve(35*(y-x)= =0,-7*x-x*z+28*y==0,x*y-3*z==0,x,y,z)
solutions=[solx,soly,solz]

求得的解如下:
solutions =
 
[          0,          0,  0]
[ -3*7^(1/2), -3*7^(1/2), 21]
[  3*7^(1/2),  3*7^(1/2), 21]


混沌时间序列的几个例子相关推荐

  1. 混沌时间序列知识自学

    混沌时间序列预测的基本思想:构造一个非线性映射来近似地还原原系统,这一非线性映射即为要建立的预测模型 怎么做 研究如何由时间序列通过向空间重构,从另一个维度和视角来辨识系统,挖掘系统中蕴藏的规律,并预 ...

  2. c语言混沌序列,混沌时间序列的C-C法计算太阳黑子月度数据的tau和tw与书上的不同,咋么办?...

    %C-C法子函数 function [Smean,Sdeltmean,Scor,tau,tw]=C_CMethod(data,max_d)               %原理参考:吕金虎-混沌时间序列 ...

  3. 【RBF预测】基于时空 RBF-NN 实现混沌时间序列预测附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  4. 模糊神经网络2--基于ANFIS的混沌时间序列预测

    预测序列模型方程: 该预测模型常用于神经网络的训练: 1. 输入输出数据及处理 load mgdata.dat time = mgdata(:,1); x = mgdata(:, 2); figure ...

  5. 混沌性时间序列的分析方法:EEMD+相空间重构

    一.引言 上一篇文章中,我们理解了混沌理论的发展.定义以及特点. 接下来,要结合我的研究方向,在机械振动时间序列信号的基础上,做出故障的诊断和预判. 时间序列也是结构化的数据,每一个时间戳下就有一个值 ...

  6. 混沌模型时间序列预测

    一.混沌理论 混沌现象是介于确定和随机之间的一种不规则运动,是一种由确定的非线性动力学系统生成的复杂行为,广泛存在于自然系统和社会系统中.混沌是确定性系统中由于随机性行为而产生的一种外在的.复杂的.貌 ...

  7. 【matlab】几个混沌系统时间序列数据的Matlab程序(chen、logistic、Lorenz、rossrossler)

    -----------------**********************************************************--------------- 找几个混沌时间序列 ...

  8. MATLAB1770太阳黑子,基于MATLAB的太阳黑子时间序列与仿真

    2012.3 26 基于MATLAB 的太阳黑子时间序列 分析与仿真 周园 肖洪祥 董俊飞 桂林理工大学信息科学与工程学院 广西 541004 摘要:本文研究了时间序列的分析方法,具体分析了基于最大L ...

  9. 怎么把series变为datamate_如何把时间序列问题转化为监督学习问题?通俗易懂的 Python 教程...

    雷锋网按:本文作者 Jason Brownlee 为澳大利亚知名机器学习专家,对时间序列预测尤有心得.原文发布于其博客.雷锋网编译. Jason Brownlee 机器学习方法,比如深度学习,是可以用 ...

最新文章

  1. WEB 测试点总结
  2. mxGraph改变图形大小重置overlay位置
  3. [转]PHP: 深入pack/unpack
  4. python计算每月工资-Python实现扣除个人税后的工资计算器示例
  5. aba会导致问题_护发素会导致掉发?这个纠结多年的问题,真相原来是这回事
  6. matlab中的tfrwv函数,求助,关于时频分布的
  7. 一文读懂vuex4源码,原来provide/inject就是妙用了原型链?
  8. bootstrap 解决弹出窗口(modal) 常见问题
  9. Leetcode--231. 2的幂
  10. js网页顶部线性页面加载进度条,jquery头部线性进度条总结
  11. UE4 Slate Architecture
  12. linux vim看最低,linux vim
  13. 程序员修炼之道 通往务实的最高境界
  14. Apache 绿色版本官方版本下载
  15. 用计算机和电视机组成家庭影院,用电脑组建家庭影院:  最方便最实惠的玩法...
  16. 51单片机按键计数c语言程序,利用AT89C51单片机制作的按键次数计数器
  17. 解决:Establishing SSL connection without server‘s identity verification is not recommended警告
  18. [论文笔记]Arbitrary-Oriented Scene Text Detection via Rotation Proposals
  19. AI论文下载-AAAI ACCV AISTATS COLT CVPR ECCV ICCV ICLR ICML IJCAI JMLR NeurIPS WACV等
  20. 第三方qq登录(获取头像和昵称)

热门文章

  1. Chakra-UI组件库介绍
  2. 触摸按键控制LED灯
  3. Unity 使用柏林噪声(Perlin Noise)生成网格地图
  4. 关于LED电视机视频编码H.264,MPEG4,MPEG2能支持哪些格式的视频文件
  5. note_35:Image Asset和mipmap-anydpi-v26
  6. 3.3V与5V单片机通讯电路原理图
  7. 联发科MT6589参考设计,MT6589芯片原理设计资料下载
  8. 如何获取文件的MD5,来这里看看
  9. 打印机共享(一台打印机连接多台设备进行远程打印)
  10. ubuntu下使用.deb安装显卡驱动+cuda8.0