如果c点属于曼德博集合M则为黑色,反之为白色
曼德博集合 (英语:Mandelbrot set ,或译为曼德布洛特复数集合 )是一种在复平面 上组成分形 的点的集合,以数学家本华·曼德博 的名字命名。曼德博集合与朱利亚集合 有些相似的地方,例如使用相同的复二次多项式来进行迭代 。
曼德博集合可以用复二次多项式来定义:
f
c
(
z
)
=
z
2
+
c
{\displaystyle f_{c}(z)=z^{2}+c\,}
其中
c
{\displaystyle c}
是一个复数参数。
从
z
=
0
{\displaystyle z=0}
开始对
f
c
(
z
)
{\displaystyle f_{c}(z)}
进行迭代 :
z
n
+
1
=
z
n
2
+
c
,
n
=
0
,
1
,
2
,
.
.
.
{\displaystyle z_{n+1}=z_{n}^{2}+c,n=0,1,2,...}
z
0
=
0
{\displaystyle z_{0}=0\,}
z
1
=
z
0
2
+
c
=
c
{\displaystyle z_{1}=z_{0}^{2}+c=c\,}
z
2
=
z
1
2
+
c
=
c
2
+
c
{\displaystyle 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
)
)
)
,
…
)
{\displaystyle (0,f_{c}(0),f_{c}(f_{c}(0)),f_{c}(f_{c}(f_{c}(0))),\ldots )}
不同的参数
c
{\displaystyle c}
可能使序列 的绝对值 逐渐发散到无限大,也可能收敛 在有限的区域内。
曼德博集合
M
{\displaystyle M}
就是使序列 不延伸至无限大的所有复数
c
{\displaystyle c}
的集合 。
相关的定理 [ 编辑 ]
定理一 [ 编辑 ]
若
|
c
|
≤
1
4
{\displaystyle |c|\leq {\frac {1}{4}}}
,则
c
∈
M
{\displaystyle c\in {M}}
证明: [ 编辑 ]
假设
|
c
|
≤
1
4
{\displaystyle |c|\leq {\frac {1}{4}}}
为真
则
|
z
1
|
=
|
c
|
≤
1
4
<
1
2
{\displaystyle |z_{1}|=|c|\leq {\frac {1}{4}}<{\frac {1}{2}}}
第一步: [ 编辑 ]
当
n
=
2
{\displaystyle n=2\,}
时
|
z
2
|
=
|
z
1
2
+
c
|
=
|
c
2
+
c
|
≤
|
c
2
|
+
|
c
|
=
|
c
|
2
+
|
c
|
{\displaystyle |z_{2}|=|z_{1}^{2}+c|=|c^{2}+c|\leq |c^{2}|+|c|=|c|^{2}+|c|}
因为
|
c
|
≤
1
4
{\displaystyle |c|\leq {\frac {1}{4}}}
|
c
|
2
+
|
c
|
≤
1
16
+
1
4
<
1
2
{\displaystyle |c|^{2}+|c|\leq {\frac {1}{16}}+{\frac {1}{4}}<{\frac {1}{2}}}
由以上可得知
|
z
2
|
<
1
2
{\displaystyle |z_{2}|<{\frac {1}{2}}}
第二步: [ 编辑 ]
假设
|
z
n
|
<
1
2
{\displaystyle |z_{n}|<{\frac {1}{2}}\,}
成立
|
z
n
+
1
|
=
|
z
n
2
+
c
|
≤
|
z
n
|
2
+
|
c
|
<
(
1
2
)
2
+
1
4
=
1
2
{\displaystyle |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
|
<
1
2
{\displaystyle |z_{n+1}|<{\frac {1}{2}}}
由数学归纳法可得知对于所有的n(n=1,2,...),
|
z
n
|
{\displaystyle |z_{n}|\,}
皆比
1
2
{\displaystyle {\frac {1}{2}}\,}
小。
当n趋近无限大时
|
z
n
|
{\displaystyle |z_{n}|\,}
依然没有发散,所以
c
∈
M
{\displaystyle c\in {M}}
,故得证。
定理二 [ 编辑 ]
若
c
∈
M
{\displaystyle c\in {M}}
,则
|
c
|
≤
2
{\displaystyle |c|\leq {2}}
证明: [ 编辑 ]
假设
|
c
|
>
2
{\displaystyle |c|>2\,}
则
|
z
1
|
=
|
c
|
,
|
z
1
|
>
2
{\displaystyle |z_{1}|=|c|,|z_{1}|>2\,}
第一步: [ 编辑 ]
当
n
=
2
{\displaystyle n=2\,}
时
|
z
2
|
=
|
z
1
2
+
c
|
=
|
c
2
+
c
|
≥
|
c
2
|
−
|
c
|
=
|
c
|
2
−
|
c
|
{\displaystyle |z_{2}|=|z_{1}^{2}+c|=|c^{2}+c|\geq |c^{2}|-|c|=|c|^{2}-|c|}
由
|
c
|
>
2
{\displaystyle |c|>2\,}
,左右同乘
|
c
|
{\displaystyle |c|\,}
再减去
|
c
|
{\displaystyle |c|\,}
可得到下式
|
c
|
2
−
|
c
|
>
2
|
c
|
−
|
c
|
=
|
c
|
{\displaystyle |c|^{2}-|c|>2|c|-|c|=|c|\,}
由以上可得知
|
z
2
|
>
|
c
|
{\displaystyle |z_{2}|>|c|\,}
第二步: [ 编辑 ]
假设
|
z
n
|
>
|
c
|
{\displaystyle |z_{n}|>|c|\,}
成立,则
|
z
n
|
>
2
{\displaystyle |z_{n}|>2\,}
|
z
n
+
1
|
=
|
z
n
2
+
c
|
≥
|
z
n
2
|
−
|
c
|
=
|
z
n
|
2
−
|
c
|
{\displaystyle |z_{n+1}|=|z_{n}^{2}+c|\geq |z_{n}^{2}|-|c|=|z_{n}|^{2}-|c|}
因为
|
z
n
|
>
|
c
|
{\displaystyle |z_{n}|>|c|\,}
|
z
n
|
2
−
|
c
|
>
|
z
n
|
2
−
|
z
n
|
{\displaystyle |z_{n}|^{2}-|c|>|z_{n}|^{2}-|z_{n}|\,}
由
|
z
n
|
>
2
{\displaystyle |z_{n}|>2\,}
,左右同乘
|
z
n
|
{\displaystyle |z_{n}|\,}
再减去
|
z
n
|
{\displaystyle |z_{n}|\,}
可得到下式
|
z
n
|
2
−
|
z
n
|
>
2
|
z
n
|
−
|
z
n
|
=
|
z
n
|
{\displaystyle |z_{n}|^{2}-|z_{n}|>2|z_{n}|-|z_{n}|=|z_{n}|\,}
由以上可得知
|
z
n
+
1
|
>
|
z
n
|
{\displaystyle |z_{n+1}|>|z_{n}|\,}
由数学归纳法可得知
2
<
|
z
1
|
<
|
z
2
|
<
.
.
.
<
|
z
n
|
<
|
z
n
+
1
|
<
|
z
n
+
2
|
{\displaystyle 2<|{z_{1}}|<|{z_{2}}|<...<|{z_{n}}|<|z_{n+1}|<|z_{n+2}|\,}
,可看出随着迭代次数增加
|
z
n
|
{\displaystyle |z_{n}|\,}
逐渐递增并发散。
假如
|
z
n
|
{\displaystyle |z_{n}|\,}
不发散,则收敛于某个常数
a
>
|
c
|
>
2
{\displaystyle a>|c|>2}
,
由
|
z
n
+
1
|
≥
|
z
n
|
2
−
|
c
|
{\displaystyle |z_{n+1}|\geq |z_{n}|^{2}-|c|}
再取极限得
a
≥
a
2
−
|
c
|
{\displaystyle a\geq a^{2}-|c|}
即
a
2
−
a
≤
|
c
|
{\displaystyle a^{2}-a\leq |c|}
。
又
a
2
−
a
=
a
(
a
−
1
)
≥
a
>
|
c
|
{\displaystyle a^{2}-a=a(a-1)\geq a>|c|}
,矛盾,故
|
z
n
|
{\displaystyle |z_{n}|\,}
发散。
所以若
|
c
|
>
2
{\displaystyle |c|>2\,}
,则
c
∉
M
{\displaystyle c\notin {M}}
,故得证。
定理三 [ 编辑 ]
若
c
∈
M
{\displaystyle c\in {M}}
,则
|
z
n
|
≤
2
,
(
n
=
1
,
2
,
.
.
.
)
{\displaystyle |z_{n}|\leq {2},(n=1,2,...)}
证明: [ 编辑 ]
要证明若
|
z
n
|
>
2
,
(
n
=
1
,
2
,
.
.
.
)
{\displaystyle |z_{n}|>2,(n=1,2,...)\,}
,则
c
∉
M
{\displaystyle c\notin {M}}
首先分别探讨
|
c
|
>
2
{\displaystyle |c|>2\,}
与
|
c
|
≤
2
{\displaystyle |c|\leq 2}
两种情形
由定理二可知道
|
z
n
|
>
2
,
(
n
=
1
,
2
,
.
.
.
)
{\displaystyle |z_{n}|>2,(n=1,2,...)\,}
且
|
c
|
>
2
{\displaystyle |c|>2\,}
时,
c
∉
M
{\displaystyle c\notin {M}}
。
接着要证明
|
c
|
≤
2
{\displaystyle |c|\leq 2}
时的情况:
假设
|
z
n
|
>
2
{\displaystyle |z_{n}|>2\,}
,因为
|
c
|
≤
2
{\displaystyle |c|\leq 2}
,所以
|
z
n
|
>
|
c
|
{\displaystyle |z_{n}|>|c|\,}
,而
|
z
n
+
1
|
=
|
z
n
2
+
c
|
≥
|
z
n
2
|
−
|
c
|
=
|
z
n
|
2
−
|
c
|
{\displaystyle |z_{n+1}|=|z_{n}^{2}+c|\geq |z_{n}^{2}|-|c|=|z_{n}|^{2}-|c|}
因为
|
z
n
|
>
|
c
|
{\displaystyle |z_{n}|>|c|\,}
|
z
n
|
2
−
|
c
|
>
|
z
n
|
2
−
|
z
n
|
{\displaystyle |z_{n}|^{2}-|c|>|z_{n}|^{2}-|z_{n}|\,}
由
|
z
n
|
>
2
{\displaystyle |z_{n}|>2\,}
,左右同乘
|
z
n
|
{\displaystyle |z_{n}|\,}
再减去
|
z
n
|
{\displaystyle |z_{n}|\,}
可得到下式
|
z
n
|
2
−
|
z
n
|
>
2
|
z
n
|
−
|
z
n
|
=
|
z
n
|
{\displaystyle |z_{n}|^{2}-|z_{n}|>2|z_{n}|-|z_{n}|=|z_{n}|\,}
由以上可得知
|
z
n
+
1
|
>
|
z
n
|
{\displaystyle |z_{n+1}|>|z_{n}|\,}
由数学归纳法可得知
2
<
|
z
n
|
<
|
z
n
+
1
|
<
|
z
n
+
2
|
<
.
.
.
{\displaystyle 2<|{z_{n}}|<|z_{n+1}|<|z_{n+2}|<...\,}
,可看出随着迭代次数增加
|
z
n
|
{\displaystyle |z_{n}|\,}
逐渐递增并发散。
所以在
|
z
n
|
>
2
,
(
n
=
1
,
2
,
.
.
.
)
{\displaystyle |z_{n}|>2,(n=1,2,...)\,}
且
|
c
|
≤
2
{\displaystyle |c|\leq 2}
的情况下也是
c
∉
M
{\displaystyle c\notin {M}}
。
综合上述可得知不论
|
c
|
{\displaystyle |c|\,}
为多少
若
|
z
n
|
>
2
,
(
n
=
1
,
2
,
.
.
.
)
{\displaystyle |z_{n}|>2,(n=1,2,...)\,}
,则
c
∉
M
{\displaystyle c\notin {M}}
,故得证。
利用定理三可以在程式计算时快速地判断
|
z
n
|
{\displaystyle |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
决定颜色的一些方法 [ 编辑 ]
直接利用循环终止时的Repeats
综合利用z和Repeats
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
参考资料 [ 编辑 ]