动态系统的稳定性【3】-庞加莱截面

引言:
非线性动力学在众多领域中都得到了较广泛的应用,但各领域研究方向有所不同。在论文中如果涉及到方程的非线性,总会需要定性的分析一下,由于方法比较类似,所以常常也可以参阅别的领域的非线性分析相关的方法或者好看的绘图方式。这篇博客主要讲怎么绘制分岔图,顺便也提了一下怎么绘制庞加莱截面。


动态系统的稳定性【2】-庞加莱截面与分岔图

  • 1.庞加莱截面可以用来干啥?
    • 1.1 周期性的运动
    • 1.2 准周期运动
    • 1.3 混沌状态
  • 后记
  • 参考资料

1.庞加莱截面可以用来干啥?

其实,光看理论讲解,很难明白庞加莱截面的物理意义,参考这篇博文可知,其意义主要在于:
由庞加莱截面分析可得到关于运动特性的信息。 如不考虑初始阶段的暂态过渡过程,只考虑Poincare截面的稳态图像,当Poincare截面上只有一个不动点和少数离散点时,可判定运动是周期的;当Poincare截面上是一封闭曲线时,可判定运动是准周期的;当Poincare截面上是成片的密集点,且有层次结构时,可判定运动处于混沌状态。

1.1 周期性的运动

这是一个阻尼从动摆的实例:

import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt# Define the differential equation for the damped driven pendulum
def damped_driven_pendulum(t, y, q, omega_d, F_d):theta, omega = ydydt = [omega, -q * omega - np.sin(theta) + F_d * np.sin(omega_d * t)]return dydt# Set the parameters
q = 0.5  # Damping coefficient
omega_d = 2/3  # Driving frequency
F_d = 1.4  # Amplitude of the driving force# Set the initial conditions
y0 = [0, 0.5]  # Initial angle and angular velocity# Solve the differential equation for the damped driven pendulum
sol = solve_ivp(lambda t, y: damped_driven_pendulum(t, y, q, omega_d, F_d), [0, 1000], y0, t_eval=np.linspace(0, 1000, 10000))# Define the Poincaré section (e.g., where angular velocity is 0)
poincare_section_indices = [i for i in range(len(sol.y[1]) - 1) if sol.y[1][i] * sol.y[1][i + 1] < 0]# Plot the Poincaré map
plt.plot(sol.y[0][poincare_section_indices], sol.y[1][poincare_section_indices], 'b.')
plt.xlabel('Angle (theta)')
plt.ylabel('Angular Velocity (omega)')
plt.title('Poincaré Map for Damped Driven Pendulum')
plt.show()

可视化结果如下:
在这里插入图片描述

1.2 准周期运动

耦合非线性振荡器系统

import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt# Define the differential equations for the coupled nonlinear oscillators
def coupled_nonlinear_oscillators(t, y, alpha, beta, gamma, delta):x, y, z = ydxdt = alpha * (y - x)dydt = x * (beta - z) - ydzdt = x * y - gamma * z + deltareturn [dxdt, dydt, dzdt]# Set the parameters
alpha = 1.2
beta = 0.6
gamma = 1.0
delta = 0.8# Set the initial conditions
y0 = [0.1, 0.2, 0.3]  # Initial values for the variables x, y, and z# Solve the differential equations for the coupled nonlinear oscillators
sol = solve_ivp(lambda t, y: coupled_nonlinear_oscillators(t, y, alpha, beta, gamma, delta), [0, 100], y0, t_eval=np.linspace(0, 100, 500))# Visualize the Poincaré surface section
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(sol.y[0], sol.y[1], sol.y[2], c='b', s=1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Poincaré Surface Section for Coupled Nonlinear Oscillators')
plt.show()

结果如下:
在这里插入图片描述

1.3 混沌状态

洛伦兹系统


import numpy as np
from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# Define the differential equations for the Lorenz system
def lorenz_system(t, y, sigma, rho, beta):x, y, z = ydxdt = sigma * (y - x)dydt = x * (rho - z) - ydzdt = x * y - beta * zreturn [dxdt, dydt, dzdt]# Set the parameters
sigma = 10
rho = 28
beta = 8/3# Set the initial conditions
y0 = [1, 1, 1]  # Initial values for the variables x, y, and z# Solve the differential equations for the Lorenz system
sol = solve_ivp(lorenz_system, [0, 100], y0, args=(sigma, rho, beta), t_eval=np.linspace(0, 100, 10000))# Visualize the Poincaré surface section
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(sol.y[0], sol.y[1], sol.y[2], c='b', s=1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_title('Poincaré Surface Section for the Lorenz System')
plt.show()

在这里插入图片描述

后记

当然,庞加莱截面分析系统的稳定性可能并不准确,正如文献【2】中所说的。

  • 朱利安·克林顿·斯普罗特(威斯康星大学麦迪逊分校物理系): 如果基础系统是三维的,则轨道重复穿过的任何部分都应该适合区分周期、准周期和混沌轨道的预期目的。选择是任意的。常见的选择是其中一个变量为零或包含一个或多个平衡点的平面,或者在驱动相位恒定的周期性驱动系统的情况下。然而,请注意,周期轨道的周期并不是唯一定义的,因为点的数量通常取决于选择的部分。另请注意,许多人展示并称为“庞加莱截面”的图实际上是吸引子的横截面,因为他们在两个方向上绘制了交叉点,因此它的点数是实际庞加莱截面的两倍,其中只有交叉点沿一个方向绘制。有时两个方向的交叉点用不同的颜色绘制。如果您的系统具有三个以上的变量,则庞加莱部分的用处不大,因为需要约束多个变量才能获得区分各种类型动力学的二维图,并且点的积累可能会非常缓慢。
  • 马丁·罗莎莉(佩皮尼昂大学)
    我应该如何选择庞加莱截面?要选择庞加莱截面,您还必须考虑解决方案的边界环面的结构 [1,2]。就你的情况而言,如果我理解得很好,它是循环的。那么,这是最简单的情况,您只需要一个单分量庞加莱部分,就像我们研究罗斯勒系统一样 [3]。在本文中,您还有使用二分量或四分量庞加莱部分的其他示例。需要这些庞加莱截面来区分周期、准周期运动并获得周期轨道。最后,为了放置庞加莱部分,我建议您使用固定/稳定点,就像我们在[3]中所做的那样。TD Tsankov 和 R. Gilmore,奇异吸引子按边界环面分类,物理学。牧师快报,91(13), 134104 (2003)。TD Tsankov 和 R. Gilmore,R^3 中混沌吸引子结构的拓扑方面,物理学。修订版 E,69,056206 (2004)。M. Rosalie 和 C. Letellier,走向从高属环面边界的混沌吸引子中提取模板的一般程序,Int。 J. 分叉混沌 24, 1450045 (2014)
    在一些手稿中,研究人员通过(x轴=位移,y轴=速度)绘制庞加莱图,这怎么可能?他们的工作中庞加莱部分在哪里?
    在他们的工作中,这些研究人员可能使用(x = 位移,y = 速度,z = 加速度)在 3D 空间中工作。如果他们选择由 z=0 或其他值定义的庞加莱截面,则庞加莱截面是平面 (x,y)。我认为他们已经在论文中指出了用于绘制庞加莱部分的值。

PS: 此外,也是第一次明白电路中也有很多的混沌现象,见文献【3】,但我记得当时在研二上机械原理课程的时候,当时一个挺厉害的交大教授说非线性的东西和发展目前已经几乎限于停滞了,因为只能定性分析非线性系统的部分行为和特点,意义并不大,作为一所工科院校,应该是需要应用落地导向的,很难出成果。。 虽然这几年,由于国家导向,学术界又开始流行做基础研究了。。只要神乎其神,就好发文章。。

参考资料

【1】csdn-非线性可视化(4)庞加莱截面
【2】Researchgate-如何使用庞加莱截面来寻找周期和准周期解?
【3】Elegant Circuits: Simple Chaotic Oscillators

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

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

相关文章

抖音小店没达人带货?学会这几个话术!精准拿捏!全是干货快收藏

哈喽~我是电商月月 一说抖音小店如何寻找达人&#xff0c;了解过相关知识的人都会背了&#xff01; 精选联盟的选品广场&#xff0c;达人广场&#xff0c;招商团长&#xff01; 但操作一学就会&#xff0c;动手就废&#xff0c;商品也挂佣金了&#xff0c;达人也打招呼了&am…

7、Qwen-7B 部署实践

1、Qwen&#xff08;通义千问&#xff09;介绍 Qwen&#xff08;通义千问&#xff09;由阿里云团队研发&#xff0c;其训练数据覆盖多语言&#xff0c;但主要以中文和英文为主。Qwen的系列模型主要有两类&#xff0c;一类是基座模型Qwen&#xff0c;所谓基座模型&#xff0c;指…

JumpServer 堡垒主机

JumpServer 堡垒机帮助企业以更安全的方式管控和登陆各种类型的资产 SSH&#xff1a;Linux/Unix/网络设备等Windows&#xff1a;Web方式连接/原生RDP连接数据库&#xff1a;MySQL、Oracle、SQLServer、PostgreSQL等Kubernetes&#xff1a;连接到K8s集群中的PodsWeb站点&#x…

Python从0到100(九):Python字符串介绍及使用

一、字符串的定义 1.什么是字符串 字符串是一种表示文本数据的类型。所谓字符串&#xff0c;就是由零个或多个字符组成的有限序列&#xff0c;一般记为&#xff1a; s a 1 a 2 ⋯ a n ( 0 ≤ n ≤ ∞ ) s a_1a_2 \cdots a_n \,\,\,\,\, (0 \le n \le \infty) sa1​a2​⋯a…

电子级高纯PFA材质实验室器皿耗材PFA漏斗PFA试剂瓶PFA烧杯

PFA三角漏斗&#xff0c;整体均是PFA材质&#xff0c;无污染风险&#xff0c;可高压灭菌。 尺寸&#xff1a;外径40mm、160mm PFA三角漏斗 特点&#xff1a; 1、一体式成型&#xff0c;结构稳定&#xff1b; 2、化学耐受性强&#xff0c;耐受强酸、强碱以及各种有机溶剂&…

【成功案例】间隔数月双团伙先后利用某ERP0day实施入侵和勒索的解密恢复项目

1.背景 在2024年3月23日&#xff0c;我们的Solar应急响应团队&#xff08;以下简称Solar团队&#xff09;应某公司之邀&#xff0c;介入处理了一起财务系统服务器遭受黑客攻击的事件。该事件导致服务器上大量文件被加密。我们的团队迅速获取了一个被加密的文件&#xff0c;并立…

【Linux学习】Linux 的虚拟化和容器化技术

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

【医学嵌入模型】中文医疗文本处理大模型 PCL-MedBERT

中文医疗文本处理大模型 PCL-MedBERT 提出背景对ELECTRA限制的深入分析eHealth的创新方法实体识别关系抽取 总结 最近再做医学项目&#xff0c;需要从文本中抽取医学概念和关系&#xff0c;通用模型的抽取效果还可以。 但还想找医学嵌入模型&#xff0c;能够更准确地从文本中识…

Django 仿博客园练习

数据库搭建 部分功能介绍 【一】注册 &#xff08;1&#xff09;效果显示、简单简介 主要亮点 结合了layui和forms组件默认头像可以随着性别的选择发生改变自定义头像可以实时更新显示forms组件报错信息可以局部刷新显示在对应框体下面 没有直接使用layui的前端验证后端验证…

隐私计算:保护数据隐私的利器

PrimiHub一款由密码学专家团队打造的开源隐私计算平台&#xff0c;专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。 随着信息时代的发展&#xff0c;个人数据的收集和处理已经成为了许多行业和领域的核心活动之一。然而&#xff0c;随之而来的数据…

STM32的API接口的BIN文件的生成以及调用

有时候我们需要将一些 S T M 32 STM32 STM32单片机上面的 A P I API API接口生成 B I N BIN BIN文件的形式给别人进行调用&#xff0c;下面介绍的方法可以使得生成的 B I N BIN BIN文件尽可能的小且方便调用。这里假设我们生成 A P I API API接口 B I N BIN BIN文件的工程布局如…

Python爬虫详解:原理、常用库与实战案例

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言引言&#xff1a;一、爬虫原理1. HTTP请求与响应过程2. 常用爬虫技术 二、P…