范德波尔方程可视化

news/2024/5/21 1:02:42/文章来源:https://blog.csdn.net/White__River/article/details/131599843

Van der Pol方程如下所示
d x d t = y d y d t = − x + ( 1 − x 2 ) y \begin{equation} \begin{aligned} \frac{dx}{dt} & = y \\ \frac{dy}{dt} & = -x+(1-x^2)y \end{aligned} \end{equation} dtdxdtdy=y=x+(1x2)y

相应的程序如下

为了观看长期趋势,将仿真时间定为100s

# 此脚本用以绘制Van der Pol微分方程的方向场# 必要的包
import math
import matplotlib.pyplot as plt
import numpy as np 
# 这里的x y应该是泛型的,既可以是标量也可以是向量也可以是矩阵
def diff_x(x, y):return ydef diff_y(x, y):return -x + (1 - x**2)*y;x_cord = np.linspace(-3, 3, 10);
y_cord = x_cord;X, Y = np.meshgrid(x_cord, y_cord);
U = diff_x(X, Y);
V = diff_y(X, Y);
# 归一化
N = np.sqrt(U ** 2 + V ** 2);
U = U / N;
V = V / N;plt.quiver(X, Y, U, V, color='r');# 画一个解的曲线
x0 = np.array([-3,-2.5, -2.7, 3, 3, -0.1]); 
y0 = np.array([-3, 3, 3, 3, -3, 0]);delta_t = 0.05;
time = np.arange(0, 100+delta_t, delta_t);
x_sol = np.zeros([len(x0), len(time)]); # 5行 几百列
y_sol = np.zeros([len(y0), len(time)]);for i in range(len(time)):if i == 0:x_sol[:,i] = x0;y_sol[:,i] = y0;else:x_sol[:,i] = x_sol[:,i-1] + diff_x(x_sol[:,i-1], y_sol[:,i-1]) * delta_t;y_sol[:,i] = y_sol[:,i-1] + diff_y(x_sol[:,i-1], y_sol[:,i-1]) * delta_t;for j in range(len(x0)):    plt.plot(x_sol[j,:], y_sol[j,:]);
plt.title(r"$Direction\  Field\  of\  Van\  der\  Pol\  system$");
plt.xlabel(r"$x$");
plt.ylabel(r"$y$");

在这里插入图片描述

Van der Pol方程是一个非线性方程, 对于非线性方程, 我们目前还没有通用的工具分析, 但如果把比例尺放大, 只在平衡点附近观察, 更细致地观看平衡点(0,0)附近, 同时缩小仿真仿真的时间,我们会发现平衡点附近该方程的行为有点像线性系统中的spiral source 也就是二阶线性系统的不稳定焦点
这也给了我们一个启示, 即可以在平衡点附近, 在较小的时间间隔内, 把非线性系统看做线性系统
以下就是系统在平衡点附近的行为
仿真时间减小为10s
x y坐标缩小到±0.3

代码如下

x_cord = np.linspace(-0.3, 0.3, 10);
y_cord = x_cord;X, Y = np.meshgrid(x_cord, y_cord);
U = diff_x(X, Y);
V = diff_y(X, Y);
# 归一化
N = np.sqrt(U ** 2 + V ** 2);
U = U / N;
V = V / N;plt.quiver(X, Y, U, V, color='r');# 画一个解的曲线
x0 = np.linspace(-0.001,0.001, 5); 
y0 = x0;delta_t = 0.005;
time = np.arange(0, 10.5+delta_t, delta_t);
x_sol = np.zeros([len(x0), len(time)]); # 5行 几百列
y_sol = np.zeros([len(y0), len(time)]);for i in range(len(time)):if i == 0:x_sol[:,i] = x0;y_sol[:,i] = y0;else:x_sol[:,i] = x_sol[:,i-1] + diff_x(x_sol[:,i-1], y_sol[:,i-1]) * delta_t;y_sol[:,i] = y_sol[:,i-1] + diff_y(x_sol[:,i-1], y_sol[:,i-1]) * delta_t;for j in range(len(x0)):    plt.plot(x_sol[j,:], y_sol[j,:]);
plt.title(r"$Direction\  Field\  of\  Van\  der\  Pol\  system$");
plt.xlabel(r"$x$");
plt.ylabel(r"$y$");

如图所示
在这里插入图片描述
这个就很像二阶系统的不稳定焦点

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

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

相关文章

【LeetCode每日一题合集】2023.7.3-2023.7.9

文章目录 2023.7.3——445. 两数相加 II(大数相加/高精度加法)2023.7.4——2679. 矩阵中的和2023.7.5——2600. K 件物品的最大和(贪心)代码1——贪心模拟代码2——Java一行 2023.7.6——2178. 拆分成最多数目的正偶数之和&#x…

STM32的ADC模式及其应用例程介绍

STM32的ADC模式及其应用例程介绍 📍ST官方相关应用笔记介绍资料:https://www.stmcu.com.cn/Designresource/detail/application_note/705947📌相关例程资源包:STSW-STM32028:https://www.st.com/zh/embedded-software/…

MySQL数据库对象与数据备份和还原详解

目录 一、视图 1. 什么是视图 2. 视图与数据表的区别 3. 视图的优点 4. 创建视图 二、索引 1. 什么是索引 2. 为什么要使用索引 3. 索引优缺点 4. 何时不使用索引 5. 索引何时失效 6. 索引分类 6.1 普通索引 6.2 唯一索引 6.3 主键索引 6.4 组合索引 三、数据的…

Integration Objects OPC 所有产品Crack

OPC产品 OPC UA 升级到 OPC UA 以提高互操作性和安全性。 OPC 隧道 无需 DCOM 即可实现安全可靠的连接。 OPC 数据归档 将 OPC 数据存储到标准数据库或 CSV 文件中。 OPC 服务器 将任何通信协议转换为OPC标准。 OPC 客户端 读取、写入和传输您的 OPC 数据。 OPC 服务器工具…

axios的学习

axios是基于promise对ajax的一种封装 //将省份信息打印到网页上 <p class"my-p"></p> <script src"https://unpkg.com/axios/dist/axios.min.js"></script> <script>axios({url:http://hmajax.itheima.net/api/province}).…

图形学 | 期末复习(上)| games101笔记 | 补档

博客基于GAMES101-现代计算机图形学入门-闫令琪&#xff0c;但不是其完整笔记&#xff0c;基于复习要求有一定的删减。考试以图形学入门基本概念和核心研究内容为主&#xff0c;少量公式。即以论述概念为主&#xff0c;涉及少量算法。p1:29:12是对应的games101视频节点&#xf…

在阿里云上部署Springboot项目

文章目录 环境准备1.安装jdk2.安装mysql3.开启端口 上传项目1.数据库上传2.项目上传 环境准备 1.安装jdk 查看系统中原来是否含有java环境 rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj其中&#xff0c;gcj是一个轻巧的&#xff0c;性能优越的Java语言编译器。它…

基于深度学习的高精度球场足球检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度球场足球检测识别系统可用于日常生活中或野外来检测与定位球场足球目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的球场足球目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

【考研408计算机组成原理】第三章存储系统 第五节cache

3.5.1工作原理 局部性原理&#xff1a;在最近可能会使用到周围的数据和指令。 性能分析&#xff1a;访问数据的时间 例题&#xff1a; 提出问题 知识总结 3.5.2 cache和主存的映射方式 3.5.3 替换算法 3.5.4 cache写策略

确保无缝、安全的云转型

随着云计算继续主导数字化转型&#xff08;这是理所当然的&#xff09;&#xff0c;组织面临着双重挑战&#xff1a;将运营无缝转移到云并确保这种转型的安全。 虽然云的采用保证了可扩展性、成本效率和生产力的提高&#xff0c;但保持警惕对于组织防范网络安全威胁和安全漏洞…

Nuxt3引入Element-plus和sass

1.引入Element-plus 打开编辑器终端 运行npm install element-plus/nuxt 或者命令行cd到项目文件 运行npm install element-plus/nuxt package.json文件会出现 使用Element-plus 在nuxt.config.ts文件添加代码 export default defineNuxtConfig({devtools: { enabled: true }…

<数据结构>NO9.选择类排序|直接选择排序|堆排序

文章目录 选择排序1.直接选择排序优化直接选择排序 2. 堆排序 选择排序 基本思想 选组排序是从待排序数据中选出最大/最小的元素放入到序列的起始位置&#xff0c;直到待排序数据全部有序。 直接选择排序和堆排序的基本思想均符合选择排序。 1.直接选择排序 假设数据按升序…

深入理解java虚拟机精华总结:硬件的效率与一致性、Java内存模型、Java与线程、Java与协程

深入理解java虚拟机精华总结&#xff1a;硬件的效率与一致性、Java内存模型、Java与线程、Java与协程 硬件的效率与一致性Java内存模型主内存与工作内存内存间交互操作对于volatile型变量的特殊规则针对long和double型变量的特殊规则原子性、可见性与有序性原子性可见性有序性 …

离线环境下安装微软Visual Studio 2022 生成工具

1. 前言 最近&#xff0c;在学习cython的时候&#xff0c;需要安装windows下的C/C编译、链接工具。开始觉得传统的msvc太大了&#xff0c;想要尝试Mingw&#xff0c;但是都是编译错误。无奈之下&#xff0c;还是要安装msvc。 微软提供了Visual Studio 2022 Build Tools &…

【华为机试】HJ16 购物单详解+完整源代码示例

从毕业到入职&#xff0c;忙于各种事情&#xff0c;所以博客一直也没有空更新。从入职到现在差不多整三个月了&#xff0c;刚刚在比亚迪这边转正。目前干的工作涉及到开发的工作不是很多&#xff0c;但是又怕之前的技能荒废了。所以最近有个想法&#xff0c;再把C算法和数据结构…

【CSS】跳动文字

文章目录 效果展示代码实现 效果展示 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>一颗不甘坠落的流星</title></head><style type"text/css">/* 遮罩盒子样式 */#mask {/* 设…

RabbitMQ系列(27)--RabbitMQ使用Federation Exchange(联邦交换机)解决异地访问延迟问题

前言&#xff1a; (broker北京)、(broker深圳)彼此之间相距甚远&#xff0c;网络延迟是一个不得不面对的问题。有一个在北京的业务(Client北京&#xff09;需要连接(broker北京),向其中的交换器exchangeA发送消息&#xff0c;此时的网络延迟很小,(Client北京)可以迅速将消息发…

Android studio 引入不了R包,手动引入显示红色。可以跑起来却没问题

之前在这个问题踩坑2次&#xff0c;遂记录一下。 问题是&#xff1a;工程里找不到自己包名的R&#xff0c;手动导入显示红色&#xff0c;Run起来倒是没问题 尝试过Clean&#xff0c;Rebuild&#xff0c;清缓存&#xff0c;重启&#xff0c;都没用。 最终发现是没有在 Android…

回溯法解决地图填色问题

目录 回溯法 最大度优先 最少可选颜色优先 向前探测 随机产生不同规模的图&#xff0c;分析算法效率与图规模的关系&#xff08;四色&#xff09; 回溯法 回溯法的基本思想是采用递归和深度优先搜索的方法&#xff0c;尝试在一组可能的解中搜索出符合要求的解&#xff0c…

git bash---打开当前路径所在文件夹

0 Preface/Foreword 在Windows操作系统中使用git bash时&#xff0c;可以通过命令直接打开当前路径下的文件夹&#xff0c;命令如下 explorer .