勞侖次吸引子
洛倫茨吸引子(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。
此系統也會出現在單模激光[1]和發電機[2]的簡化模型中。除此之外,閉環對流、水輪轉動等物理模型也有此系統的應用。
洛倫茨方程
[編輯]洛倫茨方程是基於納維-斯托克斯方程、連續性方程和熱傳導方程簡化得出,最初的形式為:
是流速,是流體溫度,是上限溫度(也可以寫成),是密度,是壓強,是重力,、、依次是熱膨脹係數、熱擴散率和動黏滯係數。
簡化後的形式稱為洛倫茨方程,是決定洛倫茨振子狀態的方程為一組常微分方程:
含時間參數的形式:
稱為普蘭特爾數 ,稱為瑞利數。所有的,, > 0,但通常 = 10, = 8/3,不定。若,則吸引子為原點,沒有任何其他穩定點。1≤ρ<13.927時,螺線軌跡接近兩點(這相當於存在阻尼振子),兩點的位置由下列式子決定:、、。系統在 = 28時表現出混沌特性,但為其他值時會顯示出具紐結的周期軌道。例如,當時,圖像變為一個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
參見
[編輯]參考文獻
[編輯]- ^ (英文)Haken, H. Analogy between higher instabilities in fluids and lasers. Physics Letters A. 1975, 53 (1): 77–78. doi:10.1016/0375-9601(75)90353-9.
- ^ (英文)Knobloch, Edgar. Chaos in the segmented disc dynamo. 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. Lyapunov-exponent spectra for the Lorenz model. Phys. Rev. A. 1984, 29: 2928–2931. doi:10.1103/PhysRevA.29.2928.
- (英文)P. Grassberger and I. Procaccia. Measuring the strangeness of strange attractors. Physica D. 1983, 9: 189–208 [2022-01-08]. doi:10.1016/0167-2789(83)90298-1. (原始內容存檔於2016-02-17).
- (英文)Lorenz, E. N. Deterministic nonperiodic flow. J. Atmos. Sci. 1963, 20: 130–141. doi:10.1175/1520-0469(1963)020<0130:DNF>2.0.CO;2.
- (英文)Strogatz, Steven H. Nonlinear Systems and Chaos. Perseus publishing. 1994.
- (英文)Tucker, W. A Rigorous ODE Solver and Smale's 14th Problem. 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
- (英文)模擬電子技術中洛倫茨吸引子的實現
- (簡體中文)混沌蝴蝶——洛倫茲吸引子 (頁面存檔備份,存於網際網路檔案館)