美国气象学家洛伦兹(E.N.Lorenz,不要和提出洛伦兹变换的那位搞混)是混沌理论的奠基者之一。20世纪50年代末到60年代初,他的主要工作目标是从理论上对天气情况进行长期预报。在使用计算机模拟天气时,他意外地发现,对于天气系统,哪怕初始条件的微小改变也会显著影响运算结果。随后,他在同事工作的基础上化简了自己先前的模型,得到了有3个变量的一阶微分方程组,由它描述的运动中存在一个奇异吸引子,即洛伦兹吸引子。

洛伦兹的工作结果最初在1963年发表,论文题目为Deterministic Nonperiodic Flow,发表在Journal of the Atmospheric Sciences杂志上。如今,这一方程组已成为混沌理论的经典,也是“巴西蝴蝶扇动翅膀在美国引起德克萨斯的飓风”(蝴蝶效应)一说的肇始。

下面,我们使用Python的绘图库Matplotlib

来绘制一下洛伦兹吸引子曲线。代码如下,非常简单:

# -*- coding: utf-8 -*-

"Lorenz's strange attractor"

import matplotlib as mpl

from mpl_toolkits.mplot3d import Axes3D

#import numpy as np

import matplotlib.pyplot as plt

xs, ys, zs = [], [], []

def mkPoints():

a, b, c = 10.0, 28.0, 8.0 / 3.0

h = 0.01

x0, y0, z0 = 0.1, 0, 0

for i in xrange(10000):

x1 = x0 + h * a * (y0 - x0)

y1 = y0 + h * (x0 * (b - z0) - y0)

z1 = z0 + h * (x0 * y0 - c * z0)

x0, y0, z0 = x1, y1, z1

xs.append(x0)

ys.append(y0)

zs.append(z0)

if __name__ == "__main__":

mpl.rcParams["legend.fontsize"] = 10

fig = plt.figure()

ax = Axes3D(fig)

mkPoints()

ax.plot(xs, ys, zs, label = "Lorenz's strange attractor")

ax.legend()

plt.show()

最后得到的图形如下:

这个图形是三维的,在Matplotlib界面上,你可以用鼠标拖拽的方式来旋转它,以便从各个不同的角度观察它。

洛伦兹吸引子 matlab,使用Matplotlib画洛伦兹吸引子 | 学步园相关推荐

  1. matlab正弦函数fft,正弦函数及其FFT变换(一) | 学步园

    在MATLAB中想要画一个sin函数是很容易的,比如:首先定义t = 0:0.01:10,然后画出y = sin(2*pi*t)就可以了,最多再加相角啊之类的参数,但如果在C语言中应该如何自己制造一个 ...

  2. matlab与c/c++混合...,matlab与c/c++ 混合编程之 MCR | 学步园

    什么是MCR? MCR之前是 matlab component runtime的缩写,后更名为 matlab compiler runtime.MCR实际上是一组独立的共享库,也即是常说的动态连接库, ...

  3. matlab 摄氏度符号怎么打,MATLAB中如何打角标和希腊字母 | 学步园

    声明:这是转载 很多时候都要在matlab画图的时候添加一些公式符号之类的,有一些特殊的字符并不能直接从键盘上输入,比如希腊字母等等.但是有想用,因为这样使图看起来漂亮而且容易理解. 例如:我想输入摄 ...

  4. matlab频域积分,matlab数值积分实现(时域频域积分) | 学步园

    最近做有关加速度的数据处理,需要把加速度积分成位移,网上找了找相关资料,发现做这个并不多,把最近做的总结一下吧! 积分操作主要有两种方法:时域积分和频域积分,积分中常见的问题就是会产生二次趋势.关于积 ...

  5. matlab设l创建网络,利用matlab进行简单的贝叶斯网络构建 | 学步园

    matlab的安装 第一次装matlab,装好后发现没有在桌面生成图标,还以为是最后提示的编译器没有安装.结果发现,matlab的图标在其安装的bin目录下面,进行初始化就能开始使用了 关于贝叶斯网络 ...

  6. java画虚线_画流动虚线框(java) | 学步园

    前两天写了个作业:在面板(Panel)上显示一张图片,并能够用鼠标随意拖动,将图片放置于任何位置. 见:http://blog.csdn.net/caoxiongjun/archive/2006/09 ...

  7. matlab gui uiwaitbar,MATLAB GUI嵌入进度条(waitBar) | 学步园

    基本就是参考:http://www.ilovematlab.cn/thread-61732-1-1.html,改了点点方便用 function mywaitbar(x,num,varargin) if ...

  8. matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解) | 学步园

    Program  ( :Solve By Factorization with Pivoting ) 思路及原理: 就得到: 程序: function X=Ni(A) %Input - A is an ...

  9. python做房源饼状图_python使用matplotlib画饼状图

    %matplotlib inlineimport matplotlib.pyplot as plt# 121 > 1行2列第1个fig1 = plt.subplot(121)plt.pie([1 ...

  10. python做图片美化_如何美化MATLAB和Python画出来的图

    如何美化MATLAB和Python画出来的图 写在前面 俗话有句叫做:字不如表,表不如图,意思就是图可以最直观最显然的表达我们想要表达的信息,其升降趋势一目了然:表其次,能够看到数值,但是想要看出变化 ...

最新文章

  1. 服务器维护日常需做哪些工作?
  2. FM:大熊猫的肠道菌群可能并没有特化出发酵纤维素的能力
  3. python 参数传递
  4. VS2008 集成openCV过程
  5. Py之pygame:Python的pygame库的简介、安装、使用方法详细攻略
  6. 软件测试——StringFunction测试
  7. 第二天 PYTHON 基本数据类型 - 数字 - 字符串
  8. 最新天猫Java面试题(含总结):线程池+并发编程+分布式设计+中间件
  9. 在storm中使用定时保存
  10. 用html5做一个介绍自己家乡的页面_厚溥资讯 | HTML5的小知识点小集合(上)
  11. oracle9i使用OMS备份数据
  12. How to make everyone is happy
  13. android导航点自动生成,Android史上最简单的引导页导航点实现方式【原创】
  14. 继承与data member之多重继承
  15. 为什么要使用MVP架构
  16. java解析project mpp文件,如何在Java中创建.mpp文件?
  17. 《遥远的救世主》遵守客观规律(五)——文化属性
  18. 京东:亦庄CBD里,南五环“村民”的生活哲学
  19. MongoDB day02
  20. 十分详细的阳光十六法则

热门文章

  1. PowerApps中应用如何显示用户详细信息
  2. 我们和蹦迪博主聊了聊,哪家大厂人在夜店最受欢迎?
  3. IB心理学生物分析模块
  4. 适合苹果4s的微信版本_6.1.3装上微信了,新手看这里
  5. arcgis利用切片服务导出离线地图包(tpk文件)
  6. 统计学常用概念:T检验、F检验、卡方检验、P值、自由度
  7. Google搜索语法(常用篇)
  8. java设置excel自动调整行高_Java 设置Excel自适应行高、列宽
  9. 软件著作权登记的流程步骤及申报资料整理攻略
  10. Gateway 网关 (二) 全局过滤器