常见混沌系统—Lorenz模型

2023-11-01

1963年,Lorenz发现了第一个混沌吸引子——Lorenz系统,从此揭开了混沌研究的序幕。

概念

在数学中,一个动力系统被称为自治的,当且仅当这个系统由一组常微分方程组成,并且这些方程的表达式与动力系统的自变量无关。在有关物理的动力系统中,自变量通常是时间。这时自治系统通常表示其中的物理规律不再随时间变化的系统,也就是说空间中每一点的性质在过去、现在和将来都是一样的。自治系统是动力系统中很重要的一个组成部分。理论上来说,所有的动力系统都可以转化为自治系统。对于自治微分系统来说,要出现混沌现象,其维数必须要大于2.典型的一个例子就是Lorenz模型,它是由美国气象学家Lorenz在研究大气运动的时候,通过对对流模型简化,只保留三个变量提出的一个完全确定性的三阶自治常微分方程组,其方程形式如下:
{ d x d t = σ ( y − x ) d y d t = ρ x − y − x z d z d t = x y − β z {} \left\{ \begin{array}{lr} \frac{dx}{dt} =\sigma(y-x) \\ \frac{dy}{dt}=\rho x -y -xz \\ \frac{dz}{dt}=xy-\beta z \end{array} \right . {} dtdx=σ(yx)dtdy=ρxyxzdtdz=xyβz
其中,三个参数分别为: σ \sigma σ为普朗特数, ρ \rho ρ是瑞利数, β \beta β是方向比。

Lorenz模型已经成为混沌领域的经典模型,系统中三个参数的选择对系统会不会进入混沌状态起着重要的作用。

混沌图像

如图给出了Lorenz模型在 σ = 10 , ρ = 28 , β = 8 / 3 \sigma=10,\rho=28,\beta=8/3 σ=10,ρ=28,β=8/3时系统的三维演化轨迹。
在这里插入图片描述

由图可见,经过长时间运行后,系统只在三维空间的一个有限区域内运动,系统在此区域中的运动是混沌状态。我们从两个靠的很近的初值条件出发(zt只相差0.0001)给出了x(t)轨道的演化图如下
在这里插入图片描述

随着时间的演化,可以看到原本靠得很近的轨道迅速地分开,最后两条轨道变得毫无关联,这正是动力学系统对初值敏感性的直观表现,因此我们说此系统的这种状态为混沌态。

实验代码(python)

import matplotlib.pyplot as plt
#绘制三维图像
import mpl_toolkits.mplot3d as p3d

'''
Lorenz吸引子生成函数
参数为三个初始坐标,三个初始参数,迭代次数
返回三个一维list
'''
def Lorenz(x0,y0,z0,p,q,r,T):
  #微分迭代步长
  h=0.01
  x=[]
  y=[]
  z=[]
  for t in range(T):
    xt=x0+h*p*(y0-x0)
    yt=y0+h*(q*x0-y0-x0*z0)
    zt=z0+h*(x0*y0-r*z0)
    #x0、y0、z0统一更新
    x0,y0,z0=xt,yt,zt
    x.append(x0)
    y.append(y0)
    z.append(z0)
  return x,y,z

def main():
  #设定参数
  p=10
  q=28
  r=8/3
  #迭代次数
  T=10000
  #设初值
  x0=-16
  y0=-21
  z0=33
  # fig=plt.figure()
  # ax=p3d.Axes3D(fig)
  x,y,z=Lorenz(x0,y0,z0,p,q,r,T)
  ax=plt.subplot(121,projection="3d")
  ax.scatter(x,y,z,s=5)
  ax.set_xlabel('x(t)')
  ax.set_ylabel('y(t)')
  ax.set_zlabel('z(t)')
  ax.set_title('x0=-16 y0=-21 z0=33')
  # plt.axis('off')
  #消除网格

  ax.grid(False)
  #初值微小的变化
  x0=-16
  y0=-21
  z0=33.00001
  xx,yy,zz=Lorenz(x0,y0,z0,p,q,r,T)
  ax=plt.subplot(122,projection="3d")
  ax.scatter(xx,yy,zz,s=5)
  ax.set_xlabel('x(t)')
  ax.set_ylabel('y(t)')
  ax.set_zlabel('z(t)')
  ax.set_title('x0=-16 y0=-21 z0=33.00001')
  ax.grid(False)
  plt.show()

  t=np.arange(0,T)
  plt.scatter(t,x,s=1)
  plt.scatter(t,xx,s=1)
  plt.show()


if __name__=='__main__':
  main()

扩展

吸引子是状态空间中的一个子集,从其中任意点出发的系统轨迹全都包括在其中。

参考

Lorenz混沌吸引子以及初始条件敏感性和不敏感性

几个混沌系统时间序列数据的Matlab程序

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常见混沌系统—Lorenz模型 的相关文章

  • 无法在 Jupyter Notebook 中安装 arcpy

    我安装了 ArcGIS Pro 其中包括已安装的 Python 包 我正在尝试学习 Python 并且想使用 ArcPy 函数 我以前从未使用过 Jupyter Notebook 但为了开始使用 我创建了一个新的 Python 3 文件 我
  • 使用 pdfkit 和 FastAPI 下载 PDF 文件

    我将使用 FastAPI 创建一个 API 将HTML页面到 PDF 文件 使用pdfkit 但是 它将文件保存到我的本地磁盘 当我在线提供此API后 用户如何将该PDF文件下载到他们的计算机上 from typing import Opt
  • 从 Excel 获取输入并在 python 脚本中使用这些输入

    如何从 excel 获取输入并在 python 中使用这些输入 看一眼xlrd http pypi python org pypi xlrd 这是我发现的学习如何使用它的最佳参考 http www dev explorer com arti
  • 在 Python 中比较浮点数是否几乎相等的最佳方法是什么?

    众所周知 由于舍入和精度问题 比较浮点数是否相等有点繁琐 例如 比较浮点数 2012 年版 https randomascii wordpress com 2012 02 25 comparing floating point number
  • 让 Django 提供可下载文件

    我希望网站上的用户能够下载路径被遮挡的文件 因此无法直接下载它们 例如 我希望 URL 是这样的 http example com download f somefile txt 在服务器上 我知道所有可下载的文件都位于该文件夹中 home
  • Python 错误:将 statsmodels 与一行数据一起使用时,对象的 len() 未调整大小

    我可以使用 statsmodel 的 WLS 加权最小二乘回归 http statsmodels sourceforge net devel generated statsmodels regression linear model WLS
  • 绘制对数轴

    我想使用 matplotlib 绘制一张带有一个对数轴的图 我一直在阅读文档 但无法弄清楚语法 我知道这可能很简单 scale linear 在情节争论中 但我似乎无法正确理解 示例程序 import pylab import matplo
  • python:numpy 运行脚本两次

    当我将 numpy 导入到 python 脚本中时 该脚本会执行两次 有人可以告诉我如何阻止这种情况 因为我的脚本中的所有内容都需要两倍的时间 这是一个例子 usr bin python2 from numpy import print t
  • 如何使用格式保存 Tkinter 文本小部件的内容

    我在 python 中使用 Tkinter 在文本窗口中显示输出 我发现使用 get 功能我可以从此窗口检索文本内容 但我有用不同背景颜色标记的文本部分 是否可以将内容与这些颜色一起复制到文件 例如 html 或 doc 中 没有对你想要的
  • 使用 scipy、python、numpy 进行非线性 e^(-x) 回归

    下面的代码为我提供了一条最佳拟合线的平坦线 而不是沿着 e x 模型的一条适合数据的漂亮曲线 谁能告诉我如何修复下面的代码以使其适合我的数据 import numpy as np import matplotlib pyplot as pl
  • 我可以在pycharm中的断点处进入交互模式吗

    我是一个相当新的 Pycharm 3 用户 正在从事 django 项目 我可以在 pycharm3 中的断点处进入交互模式吗 这可能吗 当程序在断点处停止时 我尝试过工具 gt 打开调试命令行 但我没有看到控制台打开 我怎样才能让它发挥作
  • 在python中检测按下了哪些键

    我需要知道现在按下的是哪个键 我不想捕获一些特定的按键来触发事件或类似的事情 我想知道现在按下了哪些键并显示它们的列表 我还需要捕获特殊键 如 F1 F12 shift alt home windows 等 基本上是键盘上的所有键 我如何在
  • AppEngine 警告 - OpenBLAS 警告 - 无法确定该系统上的 L2 缓存大小

    我尝试在 GC AppEngine 上部署应用程序 部署过程中没有错误 但应用程序无法运行 仅显示加载页面 日志中唯一一个奇怪的原始日志 OpenBLAS WARNING could not determine the L2 cache s
  • Python-使用元组作为列表索引[重复]

    这个问题在这里已经有答案了 我有一个元组列表 tuples list 1 0 2 3 3 2 2 0 我想访问二维数组的元素a例如 使用其中一些元组 for i in range 3 print a tuples list i 应该输出的值
  • Django - 渲染到字符串无法加载 CSS

    我正在尝试使用 Django 1 8 render to string 通过管理命令将 html 转换为 pdf 而不是使用 View request 以下代码可以将模板转换为 pdf 但它无法将 CSS 加载到模板中 def html t
  • 如何将 Django 数据库中的模板标签解释/渲染为 HTML

    我正在尝试添加带有来自 Django 管理站点的图像的帖子 但安全 自动转义关闭过滤器无法解释 Django 的模板标签 My input and page look like 复制图像地址 给出http 127 0 0 1 8000 7B
  • Python struct.pack() 'struct.error: bad char in struct format' 尝试保存字节顺序时

    我正在尝试打包一个字符串和字符串的长度 fmt
  • 类unix系统中的python和python3命令有什么区别?

    我通读了每个命令的描述 但每个命令的描述都是完全相同的 所以我不明白这两个命令在类 Unix 系统中的工作方式有何不同 谁能解释其中的区别吗 Python3命令的引入是因为python命令指向了python2 从那时起 Python3 已成
  • 如何使用 PySpark 预处理图像?

    我有一个项目 需要为 1 设置大数据架构 AWS S3 SageMaker 的概念验证使用 PySpark 预处理图像 2 执行 PCA and 3 训练一些机器或深度学习模型 我的问题是了解如何使用 PySpark 操作图像数据 但无法在
  • 收到 Python 错误“来自:无法读取 /var/mail/Bio”

    我正在运行一个 bio python 脚本 这会导致以下错误 from can t read var mail Bio 由于我的脚本与邮件没有任何关系 我不明白为什么我的脚本在 var mail 中查找 这里似乎有什么问题 我怀疑这会有帮助

随机推荐

  • DC-DC自举电容(BOOT)几个问题

    在BUCK电路中 经常会看到一个电容连接在芯片的SW和boot管脚之间 这个电容称之为自举电容 关于这个电容 有以下几个问题 自举电容有什么用 以MPS的buck芯片MP1484为例 规格书中芯片的BS管脚说明如下 在BS和SW之间接一个0
  • 数字信号处理知识点

    数字信号处理知识点 1 频谱图中 横坐标取值范围的含义 2 MATLAB常用函数 2 1 波形产生 2 2 滤波器分析 2 3 滤波器实现 2 4 线性系统变换 2 5 滤波器设计 2 5 1 FIR滤波器 2 5 2 IIR滤波器 2 6
  • vue Cannot create property ‘xxx字段‘ on string

    看一下入参格式是否正确
  • const char *、char const*、char *const三者的区别

    一 const char 对于const char s来说 const char 是指向常量的指针 而不是指针本身为常量 可以不被初始化 该指针可以指向常量也可以指向变量 只是从该指针的角度而言 它所指向的是常量 s是不变的 s是可以改变的
  • git如何提交功能分支代码

    1 当你要写一个功能之前 先创建一个分支 在项目的终端输入 例如 git checkout b login 现在我们就创建了一个login登录分支 输入git branch 可以看到我们正处在login这个分支上面 2 当你写完这个登录功能
  • 数组越界访问会发生什么错误?怎样避免该错误?_SEGMENTATION FAULT IN LINUX 原因与避免...

    原作者 ZX WING xing5820 163 com 写得很好 加上之前的确遇到过很多信号问题 产生了很多疑问 1 什么是 Segmentation fault in Linux 我们引用wiki上的一段话来回答这个问题 A segme
  • vue 3.x 的生命周期函数与vue2的变化

    vue3 中取消了 beforeCreate与 created 这两个生命周期函数 其他的生命周期函数也发生了改变 图标中左侧是vue2中的名称 右侧是对应的vue3中的名称 beforeMount onBeforeMount mounte
  • Kibana介绍、安装和使用

    ELK中的K Kibana 下面就Kibana对ES的查询监控作介绍 就是常提到的大数据日志处理组件ELK里的K 什么是Kibana 现引用园友的一段对此的介绍 个人觉得比较全 Kibana是一个针对Elasticsearch的开源分析及可
  • Linux网络编程——TCP编程

    文章目录 前言 tcp编程相关函数 1 socket函数 2 bind函数 3 listen函数 4 accept函数 5 connect函数 6 send函数 7 recv函数 8 close函数 总结 前言 tcp编程的实现流程 tcp
  • IOException parsing XML document from class path resource [applicationContext.xml]

    今天在学习Spring框架时遇到了错误 经过报错分析发现是applicationContext xml文件位置放错了 在本地测试时 applicationContext xml文件应该放在src目录下 在服务端测试时放在WEB INF目录下
  • unity dll 位置

    在unityengine里面加 cs 然后在vs里面中看 C Program Files x86 Reference Assemblies Microsoft Framework NETFramework v3 5 Profile Unit
  • linux性能监控工具

    这本阿里P8撰写的算法笔记 再次推荐给大家 身边不少朋友学完这本书最后加入大厂 Github 疯传 史上最强悍 阿里大佬 LeetCode刷题手册 开放下载了 引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的
  • 虚拟机安装Kali Linux操作系统

    博主主站地址 微笑涛声 www cztcms cn Kali Linux是基于Debian的Linux发行版 设计用于数字取证操作系统 每一季度更新一次 由Offensive Security Ltd维护和资助 最先由Offensive S
  • 超详细!Win10(UEFI启动)安装Ubuntu18.04双系统

    UEFI模式 首先必须说明的是 有两种不同的启动模式 在安装双系统的时候的操作也不尽相同 本文是针对UEFI启动模式的安装双系统的成功案例 如果您的计算机的启动模式是Legacy 请参考其他文章 如何知道自己的电脑是哪种启动模式 找到 运行
  • VoiceChat使用心得:探索沟通的全新维度

    在数字时代 沟通方式的多样性为我们提供了更多选择 最近 我发现了一个令人兴奋的新工具 它让我重新审视了沟通的全新维度 VoiceChat 作为一个热衷于技术和交流的人 我迫不及待地想分享一下我的使用心得 VoiceChat是一种即时语音通话
  • c语言实现等价关系的判断以及等价类的输出

    原理 设X 1 2 3 n 关系R的关系矩阵是M mij 判断等价关系 1 R是自反的 lt gt m11 m22 mnn 1 2 R是对称的 lt gt lt gt mij mji 3 R是传递的 lt gt tr R R 求等价类 如果
  • C#语言参考

    C 语言参考 注意 本文并非最终文档 在最终的商业版本发布前 可能会有重大修改 而且 它属微软公司所有 它是根据接受者和微软公司间的非公开协议公布的 本文档只是为了报告的目的提供的 并且 在本文档中 微软公司并没有作任何明示或暗示的担保 对
  • Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution论文阅读笔记

    题目 Deep Laplacian Pyramid Networks for Fast and Accurate Super Resolution 中文 深度拉普拉斯金字塔网络 可实现快速 准确的超分辨率 参考 摘要 本文提出了拉普拉斯金字
  • virtual,override,new ,extern,abstract修饰符

    方法定义中可以使用的修饰符有 a new b public c protected d internal e private f static g virtual h override i extern j abstract 对于virtu
  • 常见混沌系统—Lorenz模型

    1963年 Lorenz发现了第一个混沌吸引子 Lorenz系统 从此揭开了混沌研究的序幕 概念 在数学中 一个动力系统被称为自治的 当且仅当这个系统由一组常微分方程组成 并且这些方程的表达式与动力系统的自变量无关 在有关物理的动力系统中