美国气象学家洛伦兹(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、经典四阶龙格库塔法解一阶微分方程组

    1.经典四阶龙格库塔法解一阶微分方程组 陕 西 科 技 大 学 数值计算课程设计任务书 理学院信息与计算科学/应用数学专业信息08/数学08 班级 学生: 题目:典型数值算法的C++语言程序设计 课程 ...

  2. 四阶龙格库塔法的基本思想_经典四阶龙格库塔法解一阶微分方程组讲义.doc

    1.经典四阶龙格库塔法解一阶微分方程组 1.1运用四阶龙格库塔法解一阶微分方程组算法分析 , 经过循环计算由 推得 -- 每个龙格-库塔方法都是由一个合适的泰勒方法推导而来,使得其最终全局误差为,一种 ...

  3. Matlab求解常微分方程组

    求解这个常微分方程组. 初始条件为              其中ε取0.01,a是有上限的参数,求解方程的目的其实是找出a的临界值. syms y(t) for i = [0:0.5:1.5,1.7 ...

  4. python求解微分方程组_python – SymPy / SciPy:求解具有不同变量的常微分方程组...

    我是SymPy和Python的新手,我目前正在使用Python 2.7和SymPy 0.7.5,其目标是: a)从文本文件中读取微分方程组 b)解决系统问题 我已经阅读了this question和t ...

  5. python求解微分方程组_python – SymPy / SciPy:求解具有不同变量的常微分方程组

    我是SymPy和 Python的新手,我目前正在使用Python 2.7和SymPy 0.7.5,其目标是: a)从文本文件中读取微分方程组 b)解决系统问题 我已经阅读了this question和 ...

  6. matlab解二阶微分方程组,[微分方程组]急急急!用MATLAB按二阶龙格库塔法求解微分方程组,急用于毕业设计!...

    急急急!用MATLAB按二阶龙格库塔法求解微分方程组,急用于毕业设计! 问题补充:今天才发现自己之前做的一点都不对,17号就交论文了,我傻了,急死了!求各位大侠帮帮忙.谢谢!要求解的微分方程如图所示. ...

  7. 第二十三讲 解一阶微分方程组

    例题 {u1′=−u1+2u2u1′=u1−2u2\left\{\begin{matrix}{u_{1}}'=-u_{1}+2u_{2}\\ {u_{1}}'=u_{1}-2u_{2}\end{mat ...

  8. 一阶微分方程的物理意义_MIT—微分方程笔记24 一阶常微分方程组

    18.03 微分方程 Differential Equations 第四单元 一阶常微分方程组 Unit 4 First-Order Systems 第24讲 一阶常微分方程组 第25讲 常系数齐次线 ...

  9. 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= ...

最新文章

  1. mysql5.1 与mysql5.5 字符集设置区别
  2. 看完这部缓存进化史,还不懂缓存,请给我差评
  3. 万能的model数据选择列表
  4. 关于plsql连接oracle数据库session失效时间设置
  5. Html 教程 (1)简介
  6. python吧_Python | 初识Python程序设计
  7. Windows 10升级1909之后,很多软件不支持高分辨率而造成字体过小
  8. 国际智商测试皮肤软件,爆火的口服玻尿酸,是美容神器还是智商税?
  9. MySQL水平分区代理Spock Proxy(一)
  10. Linux中变量 #, @, 0, 1, 2, *,$$,$?的含义
  11. android标题栏不被顶上去,Android仿微信QQ聊天顶起输入法不顶起标题栏的问题
  12. 大学生JAVA程序员周记,java程序员实习周记.docx
  13. 高斯核原理详解+生成高斯核的Python代码
  14. 0基础学SQL (一)
  15. libtorrent实现bt客户端程序
  16. 两个excel表格取交集_(怎么用excel把两个表格数据做交集)如何把不同excel表格数据取交集...
  17. auc是ROC曲线面积的直观理解
  18. python 实现 加减乘除,对数指数,三角反三角计算器
  19. 企鹅号发布腾讯创作者社群计划 助力精品打造行业升级
  20. 【公司邮箱如何申请】怎么写加密邮件,企业邮箱支持吗?

热门文章

  1. 【面试】面试常问之堆栈的区别
  2. 阿里云settings.xml配置
  3. BLE协议栈 – SM
  4. 一文简单了解互联网流量变现
  5. 机器学习分类算法之XGBoost(集成学习算法)
  6. Docker常用容器命令
  7. 删除docker里的的容器
  8. java怎么在控制台输入数字,并保存到数组里?
  9. c++读取mnn模型
  10. 编写mysql存储过程