曼德博集合:修订间差异
L1988770613(留言 | 贡献) 修飾語句 |
L1988770613(留言 | 贡献) 內容擴充 |
||
第7行: | 第7行: | ||
曼德博集合可以用复二次多项式来定义: |
曼德博集合可以用复二次多项式来定义: |
||
:<math>f_c(z) = z^ |
:<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>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的版本
曼德博集合(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函数的一些例子
- 直接利用循环终止时的Repeats
- 综合利用z和Repeats
- 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];