收藏
0有用+1
0

洛伦茨吸引子

数学术语
洛伦茨吸引子洛伦茨振子(Lorenz oscillator)的长期行为对应的分形结构,以爱德华·诺顿·洛伦茨的姓氏命名。
中文名
洛伦茨吸引子
提出时间
1963年
学    科
数学

简述

播报
编辑
洛伦茨吸引子及其导出的方程组是由爱德华·诺顿·洛伦茨于1963年发表,最初是发表在《大气科学杂志备微》(Journal of the Atmospheric S束旬遥ciences)杂志的论文《Deterministic Nonperiodic Flow》中提出的,是由大气方程中出现的对流卷方程简化夜赠才元得到的。
这一洛伦茨模型不只对非线性数学有狱页重要性,对于气候和天气预报来说也有着重要的含义。行星和恒星大气可能会表现出多种不同的准周期状杠键组态,这些准周期状态虽然是完全确定的,但却容易发生突变,看起来似乎是随机变化的,而模型对此现象有明确的表述。
从技术角度看来,洛伦茨振子具有非线性、三维性和确定性。2001年,沃里克·塔克尔(Warwick Tucker)证明出在一组确定的参数下,系统会表现出混沌行为,显示出人们今天所知的奇异吸引子。这样的奇异吸引子是豪斯多夫维数在2与3之间的分形。彼得·格拉斯伯格(Peter Grassberger)已于1983年估算出豪斯多夫维数为2.06 ± 0.01,而关联维数为凶臭坑2.05 ± 0.01。
此系统也会出现在单模激光和发电机的简化模型危危兵中。 [1-2]除此之外,闭环对流、水轮转动等物理模型也有此系统的应用。
洛伦茨吸引子洛伦茨振子(Lorenz oscillator)的长期行为对应的分形结构,以爱德华·诺顿·洛伦茨的姓氏命名。洛糊乃伦茨振子是能产生混沌流的三维动力系统,是一种吸引子,以其双纽线形状而著称。映射展示出动力系统(三维系统的三个变量)的状态是如何以一种复杂且不重复的模式,随时间的推移而演变的。

洛伦茨方程

播报
编辑
洛伦茨方程是基于纳维-斯托克斯方程热传导方程连续性方程简化得出,最初的形式为: [3]
——流速,T——流体温度,T0——上限温度,
——密度,p——压强,
——重力,
——依次为热膨胀系数热扩散率和动黏滞系数
简化后的形式称为洛伦茨方程,是决定洛伦茨振子状态的方程为一组常微分方程
含时间参数的形式:
称为普兰特尔数
称为瑞利数。所有的
,但通常
不定。

瑞利数

播报
编辑
不同ρ值时的洛伦茨吸引子
ρ=14, σ=10, β=8/3(放大)
ρ=13, σ=10, β=8/3(放大)
ρ=15, σ=10, β=8/3(放大)
ρ=28, σ=10, β=8/3(放大)
ρ值较小时,系统是稳定的,并能演变为两个定点吸引子中的一个;当ρ大于24.74时,定点变成了排斥子,会以非常复杂的方式排斥轨迹,演变时自身从不交叉。

源代码

播报
编辑
GNU Octave
下面是GNU Octave模拟洛伦茨吸引子的源代码:
## Lorenz Attractor equations solved by ODE Solve## x' = sigma*(y-x)## y' = x*(rho - z) - y## z' = x*y - beta*zfunction dx = lorenzatt(X)    rho = 28; sigma = 10; beta = 8/3;    dx = zeros(3,1);    dx(1) = sigma*(X(2) - X(1));    dx(2) = X(1)*(rho - X(3)) - X(2);    dx(3) = X(1)*X(2) - beta*X(3);    returnend## Using LSODE to solve the ODE system.clear allclose alllsode_options("absolute tolerance",1e-3)lsode_options("relative tolerance",1e-4)t = linspace(0,25,1e3); X0 = [0,1,1.05];[X,T,MSG]=lsode(@lorenzatt,X0,t);TMSGplot3(X(:,1),X(:,2),X(:,3))view(45,45)
Borland C
#include <graphics.h>#include <conio.h>void main(){    double x = 3.051522, y = 1.582542, z = 15.62388, x1, y1, z1;    double dt = 0.0001;    int a = 5, b = 15, c = 1;    int gd=DETECT, gm;    initgraph(&gd, &gm, "C:\\BORLANDC\\BGI");    do { x1 = x + a*(-x+y)*dt; y1 = y + (b*x-y-z*x)*dt; z1 = z + (-c*z+x*y)*dt; x = x1; y = y1; z = z1; putpixel((int)(19.3*(y - x*0.292893) + 320),  (int)(-11*(z + x*0.292893) + 392), 9);    } while (!kbhit());    closegraph();}

参见

播报
编辑
  • 混沌映射列表
  • Takens定理
  • 曼德布洛特集合