ρ=28、σ = 10、β = 8/3时的洛伦茨系统轨迹
**洛伦茨吸引子**（Lorenz attractor）是**洛伦茨振子**（Lorenz oscillator）的长期行为对应的分形结构，以爱德华·诺顿·洛伦茨（Edward Norton Lorenz）的姓氏命名。洛伦茨振子是能产生混沌流的三维动力系统，又稱作**勞侖次系統**（Lorenz system），其一組混沌解稱作洛伦茨吸引子，以其双纽线形状而著称。映射展示出动力系统（三维系统的三个变量）的状态是如何以一种复杂且不重复的模式，随时间的推移而演变的。

洛伦茨系统中的吸引子轨迹

简述
--

洛伦茨方程的一条轨迹被描绘成金属线，以展现方向以及三維结构
洛伦茨吸引子及其导出的方程组是由爱德华·诺顿·洛伦茨於1963年发表，最初是发表在《大气科学杂志》（*Journal of the Atmospheric Sciences*）杂志的论文《*Deterministic Nonperiodic Flow*》中提出的，是由大气方程中出现的对流卷方程简化得到的。

这一洛伦茨模型不只对非线性数学有重要性，对於气候和天气预报来说也有着重要的含义。行星和恒星大气可能会表现出多种不同的准周期状态，这些准周期状态虽然是完全确定的，但却容易发生突变，看起来似乎是随机变化的，而模型对此现象有明确的表述。

从技术角度看来，洛伦茨振子具有非線性、三维性和确定性。2001年，沃里克·塔克尔（Warwick Tucker）证明出在一组确定的参数下，系统会表现出混沌行为，显示出人们今天所知的奇异吸引子。这样的奇异吸引子是豪斯多夫维数在2与3之间的分形。彼得·格拉斯伯格（Peter Grassberger）已於1983年估算出豪斯多夫维数为2.06 ± 0.01，而关联维数（英语：）为2.05 ± 0.01。

此系统也会出现在单模激光和发电机的简化模型中。除此之外，闭环对流、水轮转动等物理模型也有此系统的应用。

洛伦茨方程
-----

标出刻度的轨迹
洛伦茨方程是基於纳维－斯托克斯方程、连续性方程和热传导方程简化得出，最初的形式为：

\frac { \partial \vec v }{\partial t} + \left( \vec v \nabla \right) \vec v =
-\frac {\nabla p}{\rho} + \nu \nabla ^2 \vec v + \vec g

{\displaystyle {\frac {\partial \rho }{\partial t}}+\nabla \cdot \left(\rho {\vec {v}}\right)=0}
{\displaystyle {\frac {\partial T}{\partial t}}+\nabla \cdot \left(T{\vec {v}}\right)=\chi \nabla ^{2}T}

\rho = \rho\_0 \left( 1 - \gamma \left( T - T\_0 \right) \right)

\vec v 是流速，T是流体温度，T\_0是上限温度（也可以写成T\_0 + \Delta T），\rho 是密度，p是压强，\vec g是重力，\gamma 、\chi、\nu 依次是热膨胀系数、热扩散率和动黏滯係數。

简化後的形式称为**洛伦茨方程**，是决定洛伦茨振子状态的方程为一组常微分方程：

\frac{dx}{dt} = \sigma (y - x)
\frac{dy}{dt} = x (\rho - z) - y
\frac{dz}{dt} = xy - \beta z
含时间参数的形式：

\begin{cases} 
\frac{\mathrm{d}x(t)}{\mathrm{d}t}=\sigma \bigl( y(t) - x(t) \bigr)\\ 
\frac{\mathrm{d}y(t)}{\mathrm{d}t}=\rho \, x(t) - y(t) - x(t) \, z(t)\\
\frac{\mathrm{d}z(t)}{\mathrm{d}t} =x(t) \, y(t) - \beta \, z(t) \end{cases}
\sigma 称为**普兰特尔数** ，\rho 称为**瑞利数**。所有的\sigma ，\rho ，\beta  > 0，但通常\sigma  = 10，\beta  = 8/3，\rho 不定。若\rho<1，则吸引子为原点，没有任何其他稳定点。1≤ρ<13.927时，螺线轨迹接近两点（这相当於存在阻尼振子），两点的位置由下列式子决定：~ x = \pm \sqrt{b (\rho-1) }、~ y = \pm \sqrt{b (\rho-1) }、~ z = \rho-1 。系统在\rho  = 28时表现出混沌特性，但\rho 为其他值时会显示出具纽结的周期轨道。例如，当\rho = 99.96时，图像变为一个*T*(3,2)环面纽结。

> 
> 
> 
> | 初始条件的敏感依赖性 |
> | --- |
> | **时间t=1** （放大） | **时间t=2** （放大） | **时间t=3** （放大） |
> |  |  |  |
> | 这三幅图是在ρ=28，σ = 10，β = 8/3的条件下生成的，展示出洛伦茨吸引子中的两条轨迹（蓝色、黄色各一）的三维演变的三个时段， 这两条轨迹的初始点只在x坐标上相差10-5。开始时，两条轨迹似乎是重合的（蓝色轨迹被黄色遮盖，因此只能看到黄色轨迹），但一段时间後，分离就变得明显了。 |
> | 洛伦茨吸引子的Java动画展示了振子状态连续不断的演变 Portuguese Web Archive的存檔，存档日期2008-03-11 |
> 
> 
>

瑞利数
---

> 
> > 
> > 
> > 
> > | 不同ρ值时的洛伦茨吸引子 |
> > | --- |
> > |  |  |
> > | **ρ=14, σ=10, β=8/3** （放大） | **ρ=13, σ=10, β=8/3** （放大） |
> > |  |  |
> > | **ρ=15, σ=10, β=8/3** （放大） | **ρ=28, σ=10, β=8/3** （放大） |
> > | ρ值较小时，系统是稳定的，并能演变为两个定点吸引子中的一个；当ρ大於24.74时，定点变成了排斥子，会以非常复杂的方式排斥轨迹，演变时自身从不交叉。 |
> > | 显示不同ρ值时振子状态演变的Java动画 Portuguese Web Archive的存檔，存档日期2008-03-11 |
> > 
> > 
> > 
> 
>

源代码
---

### GNU Octave

下面是GNU Octave模拟洛伦茨吸引子的源代码：

```
## Lorenz Attractor equations solved by ODE Solve
## x' = sigma*(y-x)
## y' = x*(rho - z) - y
## z' = x*y - beta*z
function 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);
    return
end

```

```
## Using LSODE to solve the ODE system.
clear all
close all
lsode_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);
T
MSG
plot3(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();
}

```

### Borland Pascal

```
Program Lorenz;
Uses CRT, Graph;
Const
 x: Real = 3.051522;
 y: Real = 1.582542;
 z: Real = 15.62388;
 dt = 0.0001;
 a = 5;
 b = 15;
 c = 1;
Var
 gd, gm: Integer;
 x1, y1, z1: Real;
Begin
 gd:=Detect;
 InitGraph(gd, gm, 'c:\bp\bgi');
 While not KeyPressed Do Begin
 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(Round(19.3\*(y - x\*0.292893) + 320),
 Round(-11\*(z + x\*0.292893) + 392), 9);
 End;
 CloseGraph;
 ReadKey;
End.

```

### Fortran

```
program LorenzSystem

real,parameter::sigma=10
real,parameter::r=28
real,parameter::b=2.666666
real,parameter::dt=.01
integer,parameter::n=1000

real x,y,z

open(1,file='result.txt',form='formatted',status='replace',action='write')

x=10.;y=10.;z=10.

do i=1,n,1
 x1=x+sigma\*(y-x)\*dt
 y1=y+(r\*x-x\*z-y)\*dt
 z1=z+(x\*y-b\*z)\*dt
 x=x1
 y=y1
 z=z1
 write(1,\*)x,y,z
enddo

print \*,'Done'

 close(1)

end program LorenzSystem

```

### QBASIC/FreeBASIC("fbc -lang qb")

```
DIM x, y, z, dt, x1, y1, z1 AS SINGLE
DIM a, b, c AS INTEGER
x = 3.051522: y = 1.582542: z = 15.62388: dt = 0.0001
a = 5: b = 15: c = 1
SCREEN 12
PRINT "Press Esc to quit"
WHILE INKEY$ <> CHR$(27)
 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
 PSET ((19.3 \* (y - x \* .292893) + 300), (-11 \* (z + x \* .292893) + 360)), 9
WEND
END

```

参见
--

|  |  |
| --- | --- |
|  | 維基教科書中的相關電子：**Lorenz 吸引子** |

* 混沌映射列表
* Takens定理
* 曼德布洛特集合

参考文献
----

1. ↑  （英文）Haken, H.. Physics Letters A. 1975, **53** (1): 77–78. doi:10.1016/0375-9601(75)90353-9.
2. ↑  （英文）Knobloch, Edgar.. Physics Letters A. 1981, **82** (9): 439–440. doi:10.1016/0375-9601(81)90274-7.

* （英文）Jonas Bergman, *Knots in the Lorentz Equation[永久]*, 学士毕业论文, Uppsala University 2004.
* （英文）Frøyland, J. Alfsen, K. H.. Phys. Rev. A. 1984, **29**: 2928–2931. doi:10.1103/PhysRevA.29.2928.
* （英文）P. Grassberger and I. Procaccia.. Physica D. 1983, **9**: 189–208  [2022-01-08]. doi:10.1016/0167-2789(83)90298-1. （原始内容存档于2016-02-17）.
* （英文）Lorenz, E. N.. J. Atmos. Sci. 1963, **20**: 130–141. doi:10.1175/1520-0469(1963)020<0130:DNF>2.0.CO;2.
* （英文）Strogatz, Steven H.. Perseus publishing. 1994.
* （英文）Tucker, W.. Found. Comp. Math. 2002, **2**: 53–117  [2010-02-26]. （原始内容存档于2019-12-28）.

外部链接
----

|  |  |
| --- | --- |
|  | 维基共享资源中相关的多媒体资源：**洛伦茨吸引子** |

* （英文）埃里克·韦斯坦因.. MathWorld.
* （英文）洛伦茨吸引子 （页面存档备份，存于），作者为Wolfram Demonstrations Project的Rob Morris
* （英文）洛伦茨吸引子，planetmath.org
* （英文）用於绘出洛伦茨吸引子或处理类似情况的源代码 （页面存档备份，存于），使用ANSI C及gnuplot实现
* （英文）《同步混沌与私人通信》，由MIT林肯实验室的Steven Strogatz与Kevin Cuomo讲解电子电路中洛伦茨吸引子的实现
* （英文）洛伦茨吸引子交互式动画 （页面存档备份，存于）（需Adobe Shockwave插件）
* （英文）Levitated.net：计算艺术与设计 （页面存档备份，存于）
* （英文）3D Attractors：三维方式显示和研究洛伦茨吸引子Mac程序
* （英文）3D VRML Lorenz attractor（需VRML浏览器插件）
* （英文）J语言实现洛伦茨吸引子演示的短文 （页面存档备份，存于） - 见J语言
* （英文）非线性模拟的Java小程序 （页面存档备份，存于）（选择预设"Lorenz attractor"），作者Viktor Bachraty，编写语言Jython
* （英文）模拟电子技术中洛伦茨吸引子的实现
* （简体中文）混沌蝴蝶——洛伦兹吸引子 （页面存档备份，存于）

|  |  |  |  |
| --- | --- | --- | --- |
| 

| * 
* 论
* 编
吸引子 |
| --- |
|  |
| 
* 洛伦茨吸引子
* 若斯叻吸引子
* 杜芬振子
* 范德波尔振荡器
* 陈氏吸引子
* 吕氏吸引子
* 蔡氏电路
* 多卷波混沌吸引子
* 拉比诺维奇-法布里康特方程

 |

 |