承接上一篇二维相图。

如果二维相平面中出现了交叉的轨线,则说明这个系统的维度很可能大于二维。

下面就以几个经典的系统作为示范。本章不涉及太多知识点,以展示为主。主要介绍三个经典的非线性混沌系统。

  • 1 Lorenz系统

Lorenz系统是气象学家洛伦兹发现并提出的一个非线性系统,也是混沌学科的开端。在模拟大气流动时,洛伦兹发现初始的一个小小的误差,都会导致系统未来极大的变化。这种思想在20世纪60年代,给了那些物理学界中决定论者沉重的打击。洛伦兹也将这种不确定性,总结为“蝴蝶效应”。

这个系统可以被写为:

一般系统a=10,b=8/3,变化r值来观察系统的不同样子。下图分别展示了取不同r值所对应的xy平面的二维相轨线图:

其中r=20时,对应系统收敛到定点。r=28对应混沌。r=99.36对应倍周期。

因为二维系统在相平面上不会出现交叉,所以混沌、倍周期等现象都是在三维或者更高维才出现。正如前文所说的,对于混沌来说,三是个神奇的数字。

它们在三维空间中的轨迹图为:

中间的那个图就是经典的洛伦兹吸引子图。

  • 2 Rossler系统

Rossler系统是Rössler本人在70年代提出的一个非线性系统,和前面的Lorenz系统相比更为简单,但是却依然拥有复杂的非线性行为。

它可以写作:

下图绘制了a=0.1,b=0.1,改变不同的c绘制的轨迹图。

其中周期2指的是每两个波形一个循环,系统转2圈回到同一个点。随着c的增大,系统由周期1到了周期2,之后突然增加大周期4,再之后以越来越快的速度增大到周期8甚至更高,最后密密麻麻的周期似乎再也不会循环,变成了混沌。

这种周期越来越多逐渐变为混沌的现象,叫做倍周期分岔现象。是系统由有序变为无序混沌常见的一种方式。

  • 3 duffing方程

duffing方程也是以 Georg Duffing命名的一个非线性方程。它是基于强迫振动的单摆所提出的方程,它提出的时间非常早,但是被拿来做混沌研究还是比较晚的。由于它背后有着非常明显与简单的物理模型,所以甚至可以做实验去观察这个方程的非线性[3]。方程的形式为:

与前面两个方程不同,duffing方程存在一个强迫振动项,带有时间t,所以不属于自治系统。可以看到虽然系统是二阶的,但仍然具有非常复杂的非线性。

如下图,固定激励的振幅频率r和w,改变阻尼d。

可以看到随着阻尼d的增大,系统由混沌变为2周期,又变为了单周期运动。

对于这种一团乱麻的混沌现象,只观察轨迹图并不能看到什么规律。下一章节我们将引入一种新的观测方法——庞佳莱截面法。

后面附上代码:

clc
clear
close all
%% 洛伦兹吸引子
h=1e-3;
x0=0:h:40;
[y1,~]=ODE_RK4_hyh(x0,h,[1;4;20],{'Lorenz',[10,8/3,20]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(1)
subplot(1,3,1)
plot(Lx,Ly);title('r=20')
figure(2)
subplot(1,3,1)
plot3(Lx,Ly,Lz);view([51,30]);title('r=20')[y1,~]=ODE_RK4_hyh(x0,h,[-13;-2;41],{'Lorenz',[10,8/3,28]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(1)
subplot(1,3,2)
plot(Lx,Ly);title('r=28')
figure(2)
subplot(1,3,2)
plot3(Lx,Ly,Lz);view([51,30]);title('r=28')[y1,~]=ODE_RK4_hyh(x0,h,[1;4;67],{'Lorenz',[10,8/3,99.36]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(1)
subplot(1,3,3)
plot(Lx,Ly);title('r=99.36')
figure(2)
subplot(1,3,3)
plot3(Lx,Ly,Lz);view([51,30]);title('r=99.36')%% Rossler吸引子
h=2e-3;
x0=0:h:180;
[y1,~]=ODE_RK4_hyh(x0,h,[4.9;-5;0.07],{'Rossler',[0.1,0.1,4]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(4)
subplot(2,2,1)
plot3(Lx,Ly,Lz);view([51,30]);title('c=4 周期1')[y1,~]=ODE_RK4_hyh(x0,h,[9.1;-5;0.17],{'Rossler',[0.1,0.1,6]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(4)
subplot(2,2,2)
plot3(Lx,Ly,Lz);view([51,30]);title('c=6 周期2')[y1,~]=ODE_RK4_hyh(x0,h,[12.8;-5;0.277],{'Rossler',[0.1,0.1,8.5]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(4)
subplot(2,2,3)
plot3(Lx,Ly,Lz);view([51,30]);title('c=8.5 周期4')[y1,~]=ODE_RK4_hyh(x0,h,[12.8;-5;0.277],{'Rossler',[0.1,0.1,9]});
Lx=y1(1,:);Ly=y1(2,:);Lz=y1(3,:);figure(4)
subplot(2,2,4)
plot3(Lx,Ly,Lz);view([51,30]);title('c=9 混沌')%% Duffing吸引子
h=2e-3;
x0=0:h:180;
[y1,~]=ODE_RK4_hyh(x0,h,[1;0.5],{'Duffing',[1.15,1,1]});
Lx=y1(1,:);Ly=y1(2,:);
figure(6)
subplot(1,3,1)
plot(Lx,Ly);title('d=1.15')[y1,~]=ODE_RK4_hyh(x0,h,[0.8;0.75],{'Duffing',[1.35,1,1]});
Lx=y1(1,:);Ly=y1(2,:);
figure(6)
subplot(1,3,2)
plot(Lx,Ly);title('d=1.35')[y1,~]=ODE_RK4_hyh(x0,h,[0.7;0.73],{'Duffing',[1.5,1,1]});%[0.7;0.73]
Lx=y1(1,:);Ly=y1(2,:);
figure(6)
subplot(1,3,3)
plot(Lx,Ly);title('d=1.5')function [F,Output]=Fdydx(x,y,Input)
%形式为Y'=F(x,Y)的方程,参见数值分析求解常系数微分方程相关知识
%高次用列向量表示,F=[dy(1);dy(2)];y(1)为函数,y(2)为函数导数
switch Input{1}case 'Lorenz'a=Input{2}(1);b=Input{2}(2);r=Input{2}(3);dy(1)=a*(y(2)-y(1));dy(2)=r*y(1)-y(2)-y(1)*y(3);dy(3)=y(1)*y(2)-b*y(3);F=[dy(1);dy(2);dy(3)];case 'Rossler'a=Input{2}(1);b=Input{2}(2);c=Input{2}(3);dy(1)=-y(2)-y(3);dy(2)=y(1)+a*y(2);dy(3)=b+y(3)*(y(1)-c);F=[dy(1);dy(2);dy(3)];case 'Duffing'd=Input{2}(1);r=Input{2}(2);w=Input{2}(3);dy(1)=y(2);dy(2)=-y(1)^3+y(1)-d*y(2)+r*cos(w*x);F=[dy(1);dy(2)];
end
Output=[];
endfunction [y,Output]=ODE_RK4_hyh(x,h,y0,Input)
%4阶RK方法
%h间隔为常数的算法
y=zeros(size(y0,1),size(x,2));
y(:,1)=y0;
for ii=1:length(x)-1yn=y(:,ii);xn=x(ii);[K1,~]=Fdydx(xn    ,yn       ,Input);[K2,~]=Fdydx(xn+h/2,yn+h/2*K1,Input);[K3,~]=Fdydx(xn+h/2,yn+h/2*K2,Input);[K4,~]=Fdydx(xn+h  ,yn+h*K3  ,Input);y(:,ii+1)=yn+h/6*(K1+2*K2+2*K3+K4);
end
Output=[];
end

参考资料:

[1] 微分方程、动力系统与混沌导论[M]

[2] Duffing equation Wiki 

[3] 计算物理基础-第10章第77讲(北京师范大学)(中国大学MOOC)计算物理基础_北京师范大学_中国大学MOOC(慕课) (icourse163.org)

非线性可视化(3)混沌系统相关推荐

  1. 混沌系统matlab仿真,混沌电路仿真。 非线性同步控制,忆阻混沌仿真

    混沌系统matlab仿真,混沌电路仿真. 非线性同步控制,忆阻混沌仿真,混沌图像加密应用. ID:12150672489138544

  2. 用Python Matplotlib实现可视化混沌系统

    二十世纪的三大科学发现分别是:混沌.相对论和量子力学.爱因斯坦创立的相对论统一了时空观,普朗克等科学家发现的量子力学揭示了微观世界的不可观测性,而Lorenz提出的混沌预示着**确定性系统中蕴含着随机 ...

  3. MATLAB常见非线性可视化绘制方法-相图与相空间(二维线性相图与非线性相空间)

    MATLAB常见非线性可视化绘制方法-相图与相空间(二维线性相图与非线性相空间) 0 引言 1 简单二阶微分方程 1.1 最简单的线性系统 1.2 简单的非线性系统 1.3 简单的时变系统 2 线性系 ...

  4. 非线性可视化(5)非线性系统的分岔图

    在前面 非线性可视化(3)混沌系统 这一篇文章中,介绍了一个系统因为某个常数的改变,从而导致整个系统发生变化的例子.比如Duffing系统,随着阻尼d的增大,系统由混沌变为倍周期,又变为周期运动.想要 ...

  5. 非线性可视化(4)庞加莱截面

    上一期介绍了几个经典的非线性系统,并给出了他们在三维相空间的各种表现. 但是随着维度增加到三维甚至更高维,光绘制出相空间已经不足以直观的了解系统的形态.我们也很难对着一坨烂七八糟的轨线在论文里水字数. ...

  6. 混沌系统的matlab仿真可行性,超混沌系统的电路仿真及其自适应同步

    第18卷 V01.18 第7期 No.7 电子设计工程 ElectronicDesignEngineering 2010年7月 Jul.2010 超混沌系统的电路仿真及其自适应同步 龙燕,陈帝伊,杨福 ...

  7. 混沌系统的控制[文献总结](一)

    (线性反馈控制,追踪控制,自适应控制,脉冲控制,滑模控制) ---- 1.Delta算子框架下混沌系统的鲁棒滑膜同步控制(滑模控制) ***针对 非线性耦合系统,提出Delta算子理论,建立Delta ...

  8. 一类6维Lorenz型超混沌系统的有限时间驱动-响应同步

    本文基于Lypunov稳定性定理,通过构造Lyapunov函数以及设计提出一非线性反馈控制输入器uuu,进而实现一类六维Lorenz型混沌系统的有限时间同步. 本文所基于的一类六维Lorenz型超混沌 ...

  9. “蝴蝶效应”也能预测了?看机器学习如何解释混沌系统

    一只南美洲的蝴蝶,偶尔扇动几下翅膀,两周后可以引起美国德克萨斯州的一场飓风-- 极小的扰动,将会引起结果的巨大差异.不可重复.不可预测,这就是混沌现象. 不可预测?那么,有了机器学习之后呢? 半个世纪 ...

最新文章

  1. 为什么HR 20分钟就淘汰了一个前端高级工程师?
  2. oracle job相关
  3. Fiddler抓取HTTPS包
  4. ios pusher使用_如何使用JavaScript和Pusher构建实时图
  5. python修复不了_如何修复Python代码?
  6. C#LeetCode刷题之#575-分糖果​​​​​​​(Distribute Candies)
  7. 目标跟踪_POI算法
  8. openlayers3 根据经纬度 自动画框_自动驾驶定位为什么少不了惯性导航?
  9. Oracle存在gap,发现gap及解决
  10. count(1),count(*)与count(列名)到底有什么区别?
  11. 萤火商城V2.0开源版[uni-app端],轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP
  12. 微加速度计的原理与应用
  13. Source Code Pro一款堪称完美的编程字体
  14. Excel如何随机抽取姓名或其他数据
  15. Spring Boot入门教程(三十八):支付宝集成-电脑网站支付和查询对账单下载地址
  16. 软考信息系统项目管理师考试难度大概是怎样的?
  17. 【上班那点事】TO, CC, BCC-办公室邮件门道知多少
  18. bootstrap-table+bootstrap+font-awesome+layui+jquery+popper+sweetalert2+layer综合应用+图+代码
  19. 新书推荐:《AI 3.0》
  20. Geometric deep learning: going beyond Euclidean data译文

热门文章

  1. 《地狱是上帝不在的地方》
  2. python和c++同时订阅两个话题,在一个回调函数中处理
  3. 网易2019实习生招聘-牛牛的naozhong
  4. Pomodoro方法
  5. 华三防火墙三层逻辑子接口对接华三交换机
  6. 模型预测控制(MPC)解析(六):有约束的MPC简介
  7. 【未完成】常微分实验3.3:解 连续的初值 可微性定理
  8. Java BigDecimal 的舍入模式(RoundingMode)详解
  9. 使用Kubeadm来搭建k8s-v1.18.2(包含所有错误集锦分析)
  10. html文件记事本打开乱码,如何解决记事本打开出现乱码