python解常微分方程组
美国气象学家洛伦兹(E.N.Lorenz)是混沌理论的奠基者之一。20世纪50年代末到60年代初,他的主要工作目标是从理论上进行长期天气预报研究。他在使用计算机模拟天气时意外发现,对于天气系统,哪怕初始条件的微小改变也会显著影响运算结果。随后,他在同事工作的基础上化简了自己先前的模型,得到了有3个变量的一阶微分方程组,由它描述的运动中存在一个奇异吸引子,即洛伦兹吸引子,方程如下。
三个方程定义了三维空间中的各个坐标点上度速度矢量,其中ρ、σ、β为常数,不同的参数可以算出不同的轨迹:x(t)、y(t)、z(t)。当参数为某些值时,轨迹出现混沌现象。即最小的初值差别也会显著地影响运动轨迹。
import pylab as pl
import numpy as np
from scipy import integrate
from scipy.integrate import odeint#%fig=洛伦茨吸引子:微小的初值差别也会显著地影响运动轨迹
from scipy.integrate import odeint
import numpy as np def lorenz(w, t, p, r, b): #❶# 给出位置矢量w,和三个参数p, r, b计算出# dx/dt, dy/dt, dz/dt的值x, y, z = w.tolist()# 直接与lorenz的计算公式对应 return p*(y-x), x*(r-z)-y, x*y-b*zt = np.arange(0, 30, 0.02) # 创建时间点
# 调用ode对lorenz进行求解, 用两个不同的初始值
track1 = odeint(lorenz, (0.0, 1.00, 0.0), t, args=(10.0, 28.0, 3.0)) #❷
track2 = odeint(lorenz, (0.0, 1.01, 0.0), t, args=(10.0, 28.0, 3.0)) #❸
#%hide
from mpl_toolkits.mplot3d import Axes3D
fig = pl.figure()
ax = Axes3D(fig)
ax.plot(track1[:,0], track1[:,1], track1[:,2], lw=1)
ax.plot(track2[:,0], track2[:,1], track2[:,2], lw=1);
[1]洛伦茨吸引子介绍参考:http://bzhang.lamost.org/website/archives/lorenz_attactor
[2]《python科学计算》(张若愚著)
python解常微分方程组相关推荐
- 二阶偏微分方程组 龙格库塔法_1、经典四阶龙格库塔法解一阶微分方程组
1.经典四阶龙格库塔法解一阶微分方程组 陕 西 科 技 大 学 数值计算课程设计任务书 理学院信息与计算科学/应用数学专业信息08/数学08 班级 学生: 题目:典型数值算法的C++语言程序设计 课程 ...
- 四阶龙格库塔法的基本思想_经典四阶龙格库塔法解一阶微分方程组讲义.doc
1.经典四阶龙格库塔法解一阶微分方程组 1.1运用四阶龙格库塔法解一阶微分方程组算法分析 , 经过循环计算由 推得 -- 每个龙格-库塔方法都是由一个合适的泰勒方法推导而来,使得其最终全局误差为,一种 ...
- Matlab求解常微分方程组
求解这个常微分方程组. 初始条件为 其中ε取0.01,a是有上限的参数,求解方程的目的其实是找出a的临界值. syms y(t) for i = [0:0.5:1.5,1.7 ...
- python求解微分方程组_python – SymPy / SciPy:求解具有不同变量的常微分方程组...
我是SymPy和Python的新手,我目前正在使用Python 2.7和SymPy 0.7.5,其目标是: a)从文本文件中读取微分方程组 b)解决系统问题 我已经阅读了this question和t ...
- python求解微分方程组_python – SymPy / SciPy:求解具有不同变量的常微分方程组
我是SymPy和 Python的新手,我目前正在使用Python 2.7和SymPy 0.7.5,其目标是: a)从文本文件中读取微分方程组 b)解决系统问题 我已经阅读了this question和 ...
- matlab解二阶微分方程组,[微分方程组]急急急!用MATLAB按二阶龙格库塔法求解微分方程组,急用于毕业设计!...
急急急!用MATLAB按二阶龙格库塔法求解微分方程组,急用于毕业设计! 问题补充:今天才发现自己之前做的一点都不对,17号就交论文了,我傻了,急死了!求各位大侠帮帮忙.谢谢!要求解的微分方程如图所示. ...
- 第二十三讲 解一阶微分方程组
例题 {u1′=−u1+2u2u1′=u1−2u2\left\{\begin{matrix}{u_{1}}'=-u_{1}+2u_{2}\\ {u_{1}}'=u_{1}-2u_{2}\end{mat ...
- 一阶微分方程的物理意义_MIT—微分方程笔记24 一阶常微分方程组
18.03 微分方程 Differential Equations 第四单元 一阶常微分方程组 Unit 4 First-Order Systems 第24讲 一阶常微分方程组 第25讲 常系数齐次线 ...
- matlab解二阶微分方程组ode,MATLAB解含参数方程、矩阵方程、二阶微分方程组
1.如下公式: 其中x.y.m.n为参数,a.b为未知数,利用MATLAB求解方程: syms x y m n a b; [a,b]=solve('x=m*cos(a)+n*cos(a+b)','y= ...
最新文章
- mysql5.1 与mysql5.5 字符集设置区别
- 看完这部缓存进化史,还不懂缓存,请给我差评
- 万能的model数据选择列表
- 关于plsql连接oracle数据库session失效时间设置
- Html 教程 (1)简介
- python吧_Python | 初识Python程序设计
- Windows 10升级1909之后,很多软件不支持高分辨率而造成字体过小
- 国际智商测试皮肤软件,爆火的口服玻尿酸,是美容神器还是智商税?
- MySQL水平分区代理Spock Proxy(一)
- Linux中变量 #, @, 0, 1, 2, *,$$,$?的含义
- android标题栏不被顶上去,Android仿微信QQ聊天顶起输入法不顶起标题栏的问题
- 大学生JAVA程序员周记,java程序员实习周记.docx
- 高斯核原理详解+生成高斯核的Python代码
- 0基础学SQL (一)
- libtorrent实现bt客户端程序
- 两个excel表格取交集_(怎么用excel把两个表格数据做交集)如何把不同excel表格数据取交集...
- auc是ROC曲线面积的直观理解
- python 实现 加减乘除,对数指数,三角反三角计算器
- 企鹅号发布腾讯创作者社群计划 助力精品打造行业升级
- 【公司邮箱如何申请】怎么写加密邮件,企业邮箱支持吗?