跳转到内容

曼德博集合:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
L1988770613留言 | 贡献
修飾語句
L1988770613留言 | 贡献
內容擴充
第7行: 第7行:
曼德博集合可以用复二次多项式来定义:
曼德博集合可以用复二次多项式来定义:


:<math>f_c(z) = z^{2} + c \,</math>
:<math>f_c(z) = z^2 + c \,</math>


其中 <math>c</math> 是一个复数数。
其中 <math>c</math> 是一个复数数。


从 <math>z = 0</math> 开始对 <math>f_c(z)</math> 进行[[迭代]],每次迭代的值依序如以下[[序列]]所示
从 <math>z = 0</math> 开始对 <math>f_c(z)</math> 进行[[迭代]]:

:<math>z_{n+1} = z_n^2 + c, n=0,1,2,...</math>

:<math>z_0 = 0 \,</math>

:<math>z_1 = z_0^2 + c = c \,</math>

:<math>z_2 = z_1^2 + c = c^2 + c \,</math>

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


<math>(0, f_c(0), f_c(f_c(0)), f_c(f_c(f_c(0))), \ldots)</math>
<math>(0, f_c(0), f_c(f_c(0)), f_c(f_c(f_c(0))), \ldots)</math>


不同數值的参数 <math>c</math> 可能使[[序列]]的值逐漸發散到无限大,也可能[[收斂]]在有限半径圆盘内。
不同的参数 <math>c</math> 可能使[[序列]]的[[绝对]]逐漸發散到无限大,也可能[[收斂]]在有限的區域内。


曼德博集合 <math>M</math> 就是使[[序列]]不延伸至无限大的所有复数 <math>c</math> 的[[集合_(数学)|集合]]。
曼德博集合 <math>M</math> 就是使[[序列]]不延伸至无限大的所有复数 <math>c</math> 的[[集合_(数学)|集合]]。

== 相關的定理 ==
=== 定理一 ===

若 <math>|c|\leq\frac{1}{4}</math>,則 <math>c\in{M}</math>

==== 證明: ====

假設 <math>|c|\leq\frac{1}{4}</math> 為真

===== 第一步: =====

當 <math>n=2 \,</math> 時

:<math>|z_2|=|z_1^2+c|=|c^2+c| \leq |c^2|+|c|= |c|^2+|c|</math>

因為 <math>|c|\leq\frac{1}{4}</math>

:<math>|c|^2+|c|\leq \frac{1}{16}+\frac{1}{4}< \frac{1}{2}</math>

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

===== 第二步: =====

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

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

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

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

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


=== 定理二 ===

若 <math>c\in{M}</math>,則 <math>|c|\leq{2}</math>

==== 證明: ====

假設 <math>|c|>2 \,</math>

則 <math>|z_1|=|c|, |z_1|>2 \,</math>

===== 第一步: =====

當 <math>n=2 \,</math> 時

:<math>|z_2|=|z_1^2+c|=|c^2+c| \ge |c^2|-|c|= |c|^2-|c|</math>

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

:<math>|c|^2-|c|> 2|c|-|c|= |c| \,</math>

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

===== 第二步: =====

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

:<math>|z_{n+1}|=|z_{n}^2+c|\ge |z_{n}^2|-|c|= |z_{n}|^2-|c|</math>

因為 <math>|z_{n}|>|c| \,</math>

:<math>|z_{n}|^2-|c|> |z_{n}|^2-|z_{n}| \,</math>

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

:<math>|z_{n}|^2-|z_{n}|> 2|z_{n}|-|z_{n}|= |z_{n}| \,</math>

由以上可得知 <math>|z_{n+1}|>|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>c\in{M}</math>,則 <math>|z_n|\leq{2}, n=1,2,...</math>

根據定理二以同樣的方法可證明出下式

:<math>2<|{z_1}|<|{z_2}|<...<|{z_n}|<|z_{n+1}|<|z_{n+2}| \,</math>

由上式可得知對於所有的n(n=1,2,...),<math>|z_n| \,</math>皆比2大,且隨著迭代次數增加逐漸遞增並發散。

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

利用定理三可以在程式計算時快速地判斷 <math>|z_n| \,</math>是否會發散。


== 计算的方法 ==
== 计算的方法 ==

2011年11月7日 (一) 03:08的版本

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

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

定义

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

其中 是一个复数常数。

开始对 进行迭代

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

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

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

相關的定理

定理一

,則

證明:

假設 為真

第一步:

因為

由以上可得知

第二步:

假設 成立

由上式可得知

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

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


定理二

,則

證明:

假設

第一步:

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

由以上可得知

第二步:

假設 成立,則

因為

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

由以上可得知

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

所以若 ,則 ,故得證。


定理三

,則

根據定理二以同樣的方法可證明出下式

由上式可得知對於所有的n(n=1,2,...),皆比2大,且隨著迭代次數增加逐漸遞增並發散。

所以若 ,則 ,故得證。

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

计算的方法

曼德博集合一般用计算机程序计算。对于大多数的分形软件,例如Ultra fractal,内部已经有了比较成熟的例子。下面的程序是一段伪代码,表达了曼德博集合的计算思路。

For Each z0 in Complex
 repeats = 0
 z=z0
 Do
  z=z^2+z0
  repeate = repeats+1
 Loop until abs(z)>Bailout or repeats >= MaxRepeats
 If repeats >= MaxRepeats Then
  Draw z0,Black
 Else
  Draw z0,f(z,z0,Repeats)  'f返回颜色
 End If
Next

f函数的一些例子

  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