跳转到内容

曼德博集合:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
EmausBot留言 | 贡献
Robot: lv:Mandelbrota kopa is a good article
第105行: 第105行:
由數學歸納法可得知 <math>2<|{z_1}|<|{z_2}|<...<|{z_n}|<|z_{n+1}|<|z_{n+2}| \,</math>,可看出隨著迭代次數增加 <math>|z_n| \,</math> 逐漸遞增並發散。
由數學歸納法可得知 <math>2<|{z_1}|<|{z_2}|<...<|{z_n}|<|z_{n+1}|<|z_{n+2}| \,</math>,可看出隨著迭代次數增加 <math>|z_n| \,</math> 逐漸遞增並發散。


所以 <math>|c|>2 \,</math>,<math>c\notin{M}</math>,故得證。
若<math>|z_n| \,</math>不发散则收敛于某个常数<math>a>|c|>2</math>,


由<math>|z_{n+1}|\ge |z_{n}|^2-|c|</math> 再取极限得 <math>a\ge a^2-|c|</math> 即 <math>a^2-a\leq |c|</math>。

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


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


=== 定理三 ===
=== 定理三 ===

2011年12月21日 (三) 15:01的版本

如果c点属于曼德博集合M则为黑色,反之为白色

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

定义

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

其中 是一个复数參数。

开始对 进行迭代

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

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

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

相關的定理

定理一

,則

證明:

假設 為真

第一步:

因為

由以上可得知

第二步:

假設 成立

由上式可得知

由數學歸納法可得知對於所有的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


也可以用Mathematica制作 DensityPlot[Block[{z, t = 0}, z = x + y*I; While[(Abs[z] < 2.0) && (t < 100), ++t; z = z^2 + x + y*I]; Return[t]],{x, -2, 0.8}, {y, -1.5, 1.5}, PlotPoints -> 500, Mesh -> False];

各種圖示

動畫
最原始圖片
放大等級1
放大等級2
放大等級3
放大等級4
放大等級5
放大等級6
放大等級7
放大等級8
放大等級9
放大等級10
放大等級11
放大等級12
放大等級13
放大等級14

分形软件

Template:Link GA Template:Link GA