跳至內容

曼德博集合

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
如果c點屬於曼德博集合M則為黑色,反之為白色

曼德博集合(英語:Mandelbrot set,或譯為曼德布洛特複數集合)是一種在複平面上組成分形的點的集合,以數學家本華·曼德博的名字命名。曼德博集合與朱利亞集合有些相似的地方,例如使用相同的復二次多項式來進行迭代

定義

曼德博集合可以用複二次多項式來定義:

其中 是一個複數參數。

開始對 進行迭代

每次迭代的值依序如以下序列所示:

不同的參數 可能使序列絕對值逐漸發散到無限大,也可能收斂在有限的區域內。

曼德博集合 就是使序列不延伸至無限大的所有複數 集合

特性

  • 自相似
  • 面積為1.5065918561[1][2]

相關的定理

定理一

,則

證明:

假設 為真

第一步:

因為

由以上可得知

第二步:

假設 成立

由上式可得知

由數學歸納法可得知對於所有的n(n=1,2,...), 皆比 小。

當n趨近無限大時 依然沒有發散,所以 ,故得證。


定理二

,則

證明:

假設

第一步:

,左右同乘 再減去 可得到下式

由以上可得知

第二步:

假設 成立,則

因為

,左右同乘 再減去 可得到下式

由以上可得知

由數學歸納法可得知 ,可看出隨著迭代次數增加 逐漸遞增並發散。

假如不發散,則收斂於某個常數,

再取極限得

,矛盾,故發散。


所以若 ,則 ,故得證。

定理三

,則

證明:

要證明若 ,則

首先分別探討 兩種情形

由定理二可知道 時,

接著要證明 時的情況:

假設 ,因為 ,所以 ,而

因為

,左右同乘 再減去 可得到下式

由以上可得知

由數學歸納法可得知 ,可看出隨著迭代次數增加 逐漸遞增並發散。

所以在 的情況下也是

綜合上述可得知不論 為多少

,則 ,故得證。

利用定理三可以在程式計算時快速地判斷 是否會發散。

計算的方法

曼德博集合一般用計算機程序計算。對於大多數的分形軟件,例如Ultra fractal,內部已經有了比較成熟的例子。下面的程序是一段偽代碼,表達了曼德博集合的計算思路。

For Each c in Complex
 repeats = 0
 z = 0
 Do
  z = z^2 + c
  repeats = repeats + 1
 Loop until abs(z) > EscapeRadius or repeats > MaxRepeats '根据定理三,EscapeRadius可设置为2。
 If repeats > MaxRepeats Then
  Draw c,Black                                            '如果迭代次数超过MaxRepeats,就将c认定为属于曼德博集合,并设置为黑色。
 Else
  Draw c,color(z,c,repeats)                               'color函数用来决定颜色。
 End If
Next

決定顏色的一些方法

  1. 直接利用循環終止時的Repeats
  2. 綜合利用z和Repeats
  3. Orbit Traps


mand = Compile[{{z0, _Complex}, {nmax, _Integer}}, 
   Module[{z = z0, i = 1}, 
    While[i < nmax && Abs[z] <= 2, z = z^2 + z0; i++]; i]];
ArrayPlot[
 Reverse@Transpose@
   Table[mand[x + y I, 500], {x, -2, 2, 0.01}, {y, -2, 2, 0.01}]]

各種圖示

動畫
點擊此圖像可觀看動態影像。
最原始圖片
放大等級1
放大等級2
放大等級3
放大等級4
放大等級5
放大等級6
放大等級7
放大等級8
放大等級9
放大等級10
放大等級11
放大等級12
放大等級13
放大等級14

參考資料

  1. ^ Mrob.com pixel counting. [2012-01-01]. (原始內容存檔於2019-08-10). 
  2. ^ Mrob.com area history. [2012-04-29]. (原始內容存檔於2020-09-22).