曼德博集合

维基百科,自由的百科全书
跳转至: 导航搜索
如果c点属于曼德博集合M则为黑色,反之为白色

曼德博集合(Mandelbrot set,或译為曼德布洛特复数集合)是一种在复平面上组成分形的点的集合,以數學家本華·曼德博的名字命名。曼德博集合與朱利亚集合有些相似的地方,例如使用相同的复二次多项式來进行迭代

定义[编辑]

曼德博集合可以用复二次多项式来定义:

f_c(z) = z^2 + c \,

其中 c 是一个复数參数。

z = 0 开始对 f_c(z) 进行迭代

z_{n+1} = z_n^2 + c, n=0,1,2,...
z_0 = 0 \,
z_1 = z_0^2 + c = c \,
z_2 = z_1^2 + c = c^2 + c \,

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

(0, f_c(0), f_c(f_c(0)), f_c(f_c(f_c(0))), \ldots)

不同的参数 c 可能使序列绝对值逐漸發散到无限大,也可能收斂在有限的區域内。

曼德博集合 M 就是使序列不延伸至无限大的所有复数 c集合

特性[编辑]

  • 自相似
  • 面积为1.5065918561[1][2]

相關的定理[编辑]

定理一[编辑]

|c|\leq\frac{1}{4},則 c\in{M}

證明:[编辑]

假設 |c|\leq\frac{1}{4} 為真

|z_1|= |c|\leq \frac{1}{4}< \frac{1}{2}

第一步:[编辑]

n=2 \,

|z_2|=|z_1^2+c|=|c^2+c| \leq |c^2|+|c|= |c|^2+|c|

因為 |c|\leq\frac{1}{4}

|c|^2+|c|\leq \frac{1}{16}+\frac{1}{4}< \frac{1}{2}

由以上可得知 |z_2|< \frac{1}{2}

第二步:[编辑]

假設 |z_{n}|< \frac{1}{2} \, 成立

|z_{n+1}|=|z_{n}^2+c|\leq |z_{n}|^2+|c|< \left(\frac{1}{2}\right)^2 +\frac{1}{4}= \frac{1}{2}

由上式可得知 |z_{n+1}|< \frac{1}{2}

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

當n趨近無限大時 |z_n| \, 依然沒有發散,所以 c\in{M},故得證。


定理二[编辑]

c\in{M},則 |c|\leq{2}

證明:[编辑]

假設 |c|>2 \,

|z_1|=|c|, |z_1|>2 \,

第一步:[编辑]

n=2 \,

|z_2|=|z_1^2+c|=|c^2+c| \ge |c^2|-|c|= |c|^2-|c|

|c|>2 \,,左右同乘 |c| \, 再減去 |c| \, 可得到下式

|c|^2-|c|> 2|c|-|c|= |c| \,

由以上可得知 |z_2|>|c| \,

第二步:[编辑]

假設 |z_{n}|>|c| \, 成立,則 |z_{n}|>2 \,

|z_{n+1}|=|z_{n}^2+c|\ge |z_{n}^2|-|c|= |z_{n}|^2-|c|

因為 |z_{n}|>|c| \,

|z_{n}|^2-|c|> |z_{n}|^2-|z_{n}| \,

|z_{n}|>2 \,,左右同乘 |z_{n}| \, 再減去 |z_{n}| \, 可得到下式

|z_{n}|^2-|z_{n}|> 2|z_{n}|-|z_{n}|= |z_{n}| \,

由以上可得知 |z_{n+1}|>|z_{n}| \,

由數學歸納法可得知 2<|{z_1}|<|{z_2}|<...<|{z_n}|<|z_{n+1}|<|z_{n+2}| \,,可看出隨著迭代次數增加 |z_n| \, 逐漸遞增並發散。

假如|z_n| \,不发散,则收敛于某个常数 a>|c|>2 ,

|z_{n+1}|\ge |z_{n}|^2-|c| 再取极限得 a\ge a^2-|c|a^2-a\leq |c|

a^2-a=a(a-1)\ge a> |c|,矛盾,故|z_n| \,发散。


所以若 |c|>2 \,,則 c\notin{M},故得證。

定理三[编辑]

c\in{M},則 |z_n|\leq{2}, (n=1,2,...)

證明:[编辑]

要證明若 |z_n|>2, (n=1,2,...) \,,則 c\notin{M}

首先分別探討 |c|>2 \,|c|\leq2 兩種情形

由定理二可知道 |z_n|>2, (n=1,2,...) \,|c|>2 \, 時, c\notin{M}

接著要證明 |c|\leq2 時的情況:

假設 |z_{n}|>2 \,,因為 |c|\leq2 ,所以 |z_{n}|>|c| \, ,而

|z_{n+1}|=|z_{n}^2+c|\ge |z_{n}^2|-|c|= |z_{n}|^2-|c|

因為 |z_{n}|>|c| \,

|z_{n}|^2-|c|> |z_{n}|^2-|z_{n}| \,

|z_{n}|>2 \,,左右同乘 |z_{n}| \, 再減去 |z_{n}| \, 可得到下式

|z_{n}|^2-|z_{n}|> 2|z_{n}|-|z_{n}|= |z_{n}| \,

由以上可得知 |z_{n+1}|>|z_{n}| \,

由數學歸納法可得知 2<|{z_n}|<|z_{n+1}|<|z_{n+2}|<... \,,可看出隨著迭代次數增加 |z_n| \, 逐漸遞增並發散。

所以在 |z_n|>2, (n=1,2,...) \,|c|\leq2 的情況下也是 c\notin{M}

綜合上述可得知不論 |c| \,為多少

|z_n|>2, (n=1,2,...) \,,則 c\notin{M},故得證。

利用定理三可以在程式計算時快速地判斷 |z_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


Mathematica代码[编辑]

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

參考資料[编辑]