Julia和Python蛛网图轨道图庞加莱截面曲面确定性非线性系统

🎯要点

  1. 🎯确定性混沌系统计算和视图:🖊庞加莱截面曲面,赫农-海尔斯系统和洛伦兹 63 系统。
  2. 🎯零斜线演示可激发系统计算和视图:🖊 庞加莱-本迪克松定理求解二维连续系统常微分方程 | 🖊绘制菲茨休-南云模型状态空间静态图 | 🖊绘制二阶准周期运动轨迹静态图和动画 | 🖊计算赫农-海尔斯系统三个特征轨迹的归一化功率谱。
  3. 🎯敏感依赖性计算和视图​:🖊模拟洛伦兹 63 系统敏感依赖性 | 🖊绘制三维收敛轨迹静态图和演变动画 | 🖊绘制最大李亚普诺夫指数为特征的相邻轨迹的指数散度 | 🖊无穷小二维离散系统轨迹的演化动画 | 🖊计算动态系统李亚普诺夫指数 | 🖊 绘制海尔斯离散系统中拉伸和折叠静态图和动画 | 🖊计算庞加莱截面曲面和李亚普诺夫指数,绘制赫农-海尔斯系统混沌度图。
  4. 🎯系统行为分叉静态视图和动画:🖊绘制一维能量平衡的交互式分叉静态图和动画 | 🖊一维离散系统动力学蛛网图可视化倍周期分岔 | 🖊计算和绘制逻辑图和罗斯勒系统的轨道图 | 🖊计算动态系统蛛网图中间歇性。
  5. 🎯概率描述确定性动态系统:🖊计算雷尼熵 | 🖊计算和绘制磁摆吸引力的分形边界 | 🖊计算分形维数估计 | 🖊计算无噪估计分形维数。
  6. 🎯延迟坐标嵌入非线性时间序列分析 | 🎯定向信息流 | 🎯动态台球 | 🎯周期性强制振荡器 | 🎯反应扩散系统和图灵模式

🍇Python动画洛伦兹系统轨迹图

洛伦兹方程是三个耦合的一阶非线性微分方程组,描述粒子随时间的轨迹。 该系统最初是由洛伦兹作为大气对流模型推导出来的,但方程看似简单,使其成为大气物理学以外领域中经常使用的示例。

这些方程通过指定时间导数,在给定控制参数 σ \sigma σ β \beta β ρ \rho ρ 的情况下描述空间变量 x x x y y y z z z 的演化空间变量:
d x / d t = σ ( y − x ) {\rm d}x/{\rm d}t = \sigma(y - x) dx/dt=σ(yx)

d y / d t = x ( ρ − z ) − y {\rm d}y/{\rm d}t = x(\rho - z) - y dy/dt=x(ρz)y

d z / d t = x y − β z {\rm d}z/{\rm d}t = xy - \beta z dz/dt=xyβz
给出起始点 ( x 0 , y 0 , z 0 ) (x_0, y_0, z_0) (x0,y0,z0) 和时间间隔 t t t 后,所得到的动态是完全确定性的。 虽然看起来很简单,但对于参数 ( σ , ρ , β ) (\sigma, \rho, \beta) (σ,ρ,β)​ 的某些选择,轨迹会变得混乱,并且所得轨迹显示出一些令人惊讶的特性。

尽管该系统不存在通用解析解,但可以通过数值方法计算解。 Python 使此类问题非常容易解决:只需使用 Scipy 的 ODEPACK 接口即可,ODEPACK 是一种用于求解常微分方程的优化 Fortran 包。 问题的设置方法如下:

import numpy as np
from scipy import integratedef lorentz_deriv((x, y, z), t0, sigma=10., beta=8./3, rho=28.0):return [sigma * (y - x), x * (rho - z) - y, x * y - beta * z]x0 = [1, 1, 1]  # starting vector
t = np.linspace(0, 3, 1000) 
x_t = integrate.odeint(lorentz_deriv, x0, t

现在我们已经计算了这些结果,我们可以使用 matplotlib 的动画和 3D 绘图工具包来可视化多个粒子的轨迹。

import numpy as np
from scipy import integratefrom matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.colors import cnames
from matplotlib import animationN_trajectories = 20def lorentz_deriv((x, y, z), t0, sigma=10., beta=8./3, rho=28.0):return [sigma * (y - x), x * (rho - z) - y, x * y - beta * z]np.random.seed(1)
x0 = -15 + 30 * np.random.random((N_trajectories, 3))t = np.linspace(0, 4, 1000)
x_t = np.asarray([integrate.odeint(lorentz_deriv, x0i, t)for x0i in x0])fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1], projection='3d')
ax.axis('off')colors = plt.cm.jet(np.linspace(0, 1, N_trajectories))lines = sum([ax.plot([], [], [], '-', c=c)for c in colors], [])
pts = sum([ax.plot([], [], [], 'o', c=c)for c in colors], [])def init():for line, pt in zip(lines, pts):line.set_data([], [])line.set_3d_properties([])pt.set_data([], [])pt.set_3d_properties([])return lines + ptsdef animate(i):for line, pt, xi in zip(lines, pts, x_t):x, y, z = xi[:i].Tline.set_data(x, y)line.set_3d_properties(z)pt.set_data(x[-1:], y[-1:])pt.set_3d_properties(z[-1:])ax.view_init(30, 0.3 * i)fig.canvas.draw()return lines + ptsanim = animation.FuncAnimation(fig, animate, init_func=init,frames=500, interval=30, blit=True)plt.show()

请注意,空间中有两个位置似乎吸引了所有路径:这些是所谓的“洛伦兹吸引子”,并且具有一些有趣的属性。 随着参数 ( σ , ρ , β ) (\sigma, \rho, \beta) (σ,ρ,β) 的变化,这些洛伦兹吸引子的定性特征会以有些令人惊讶的方式变化。

参阅一:计算思维

参阅二:亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32中断之TIM定时器详解

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. TIM简述 2. 定时器类型 2.1 基本定时器 2.2 通用定时器 2.3 高级定时器 3. 定时中断 4. 代码示例1 5. 代码示例2 1. TIM简述 定时器的基本功能:定时器可以在预定的时间间隔内产生周…

谷歌研发“SEEDS”新型天气预报模型:更准确地报道极端事件

谷歌科技近日公布了一项震撼业界的天气预报研究成果,这一成果不仅标志着天气预测技术的重大突破,更是人工智能技术在传统领域应用的又一里程碑。他们成功研发了名为SEEDS(Scalable Ensemble Envelope Diffusion Sampler)的新型预报…

【AIGC】深入探索AIGC技术在文本生成与音频生成领域的应用

🚀文章标题 🚀AIGC之文本生成🚀应用型文本生成🚀创作型文本生成🚀文本辅助生成🚀重点关注场景 🚀音频及文字—音频生成🚀TTS(Text-to-speech)场景🚀乐曲/歌曲生成&#x…

访问jwt生成token404解决方法

背景: 1.在部署新的阿里云环境后发现调用jwt生成token的方法404,前端除了404,台不报任何错误 在本地好用,在老的阿里云环境好用, 2.缩短生成私钥的参数报错,以为私钥太长改了tomcat参数也无效&#xff0…

手撕C语言题典——合并两个有序数组(顺序表)

搭配食用更佳哦~~ 数据结构之顺顺顺——顺序表-CSDN博客 数据结构之顺序表的基本操作-CSDN博客 继续来做一下关于顺序表的经典算法题叭~ 前言 88. 合并两个有序数组 - 力扣(LeetCode) 合并数组也是力扣上关于顺序表的一道简单题,继续来加深…

YARN详解

YARN 简介 YARN 是Yet Another Resource Negotiator的缩写。 YARN是第二代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性较差,不支持多计算框架而提出的;通俗讲就是资源管理器. YARN核心思想: 将 MR1 中资源管理和作业调度两个功能分…

【Docker学习】docker run的--annotation选项

--annotation选项 作用:这是在Docker的api1.43+提供的一个功能,向容器添加一个注解(传递给OCI运行时)。 官方网站的文档对--annotation选项惜墨如金,没有用例,也没有过多解释。因此想要学到这个选项的实际作用,还要自己来。 要想了解这个选项的用法,还要先了解OCI运行时…

安卓手机跑大模型

工具 一、F-Droid F-Droid是一个安卓平台上自由开源软件的目录,并提供下载安装支持。类似于Google Play 二、Termux F-Droid上有termux,并支持下载。但是由于termux的开发者并不负责维护F-Droid,因此往往F-Droid上的termux更新需要延迟几…

实验五 SJK触发器

实验五 SJK触发器 2023.4.19 实验地点 软件工程基础实验室 实验课时 2 ​通过实验加深对数据完整性的理解,学会理解、创建和使用触发器。 ​使用SQL语句熟悉触发器的创建和查看方法,熟悉触发器的修改和删除方法。 (1) 仍然使用自定义完整性…

自定义Application,获取全局的Context

在Android中,如果你想要获取全局的Context,并且希望在整个应用程序的生命周期内都可以访问它,你可以通过创建一个自定义的Application类来实现。这个类会继承自android.app.Application,并且你可以在其中存储一些全局数据或者实现…

数据结构:实验六:图的操作

一、 实验目的 (1)掌握图的邻接矩阵和邻接表存储结构。 (2)熟练图的邻接表的基本运算。 (3)加深图的深度优先遍历算法和广度优先遍历算法的理解 二、 实验要求 有下图所示的带权有向图及其对应的邻…

【工程记录】Python爬虫入门记录(Requests BeautifulSoup)

目录 写在前面1. 环境配置2. 获取网页数据3. 解析网页数据4. 提取所需数据4.1 简单提取4.2 多级索引提取 5. 常见问题 写在前面 仅作个人学习与记录用。主要整理使用Requests和BeautifulSoup库的简单爬虫方法。在进行数据爬取时,请确保遵守相关法律法规和网站的服务…

Ubuntu安装Neo4j

Ubuntu(在线版) 更新软件源 sudo apt-get update 添加Neo4j官方存储库 wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo deb https://debian.neo4j.com stable latest | su…

在Spring中注入动态代理Bean

在Springboot中我们可以通过内置的注解如Service,Component,Repository来注册bean,也可以在配置类中通过Bean来注册bean。这些都是Spring内置的注解。 除此之外,还可以用WebFilter,WebServlet,WebListener…

二分图--判定以及最大匹配

水了个圈钱杯省一,不过估计国赛也拿不了奖,但还是小小挣扎一下。 什么是二分图:G(V,E)是一个无向图,若顶点V可以分为两个互不相交的子集A,B,并图中的每一条边(i,j)所关联的ij属于不同的顶点集,…

QT登录界面,(页面的切换)

以登陆界面为例,(QDialog) 1.主界面先构造login 的对话框类 int main(int argc, char *argv[]) {QApplication a(argc, argv);//先显示Login的界面Study_Login_Dialog login;............ }2.Login的类,可以用自定义的信号&#…

Java image-processing 包依赖错误

错误的信息为: [ERROR] Failed to execute goal on project image-processing: Could not resolve dependencies for project com.ossez:image-processing:jar:0.0.2-SNAPSHOT: Failed to collect dependencies at org.openimaj:core-image:jar:1.3.10 -> org.op…

spring-boot示例

spring-boot版本:2.0.3.RELEASE 数据库: H2数据库 (嵌入式内存性数据库,安装简单,方便用于开发、测试,不适合用于生产) mybatis-plus框架,非常迅速开发CRUD

SpringMVC整体工作流程

. 用户发起一个请求,请求首先到达前端控制器前端控制器接收到请求后会调用处理器映射器,由此得知,这个请求该由哪一个Controller来进行处理(并未调用Controller);前端控制器调用处理器适配器,告诉处理器适配器应该要…

Macos安装OrbStack

什么是OrbStack OrbStack 是一种在 macOS 上运行容器和 Linux 机器的快速、轻便和简单方法。它是 Docker Desktop 和 WSL 的超强替代品,所有这些都在一个易于使用的应用程序中。 在Macos M系列芯片上,经常遇到docker镜像不兼容的问题,此时使…