曼德博集合
定义
曼德博集合可以用复二次多项式来定义:
其中 c {\displaystyle c} 是一个复数参数。
从 z = 0 {\displaystyle z=0} 开始对 f c ( z ) {\displaystyle f_{c}(z)} 进行迭代:
每次迭代的值依序如以下序列所示:
( 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} 的集合。
特性
自相似
面积为 1.506 591 856 1
相关的定理
定理一
若 | 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}}
第一步:
当 n = 2 {\displaystyle n=2\,} 时
因为 | c | ≤ ≤ --> 1 4 {\displaystyle |c|\leq {\frac {1}{4}}}
由以上可得知 | z 2 | < 1 2 {\displaystyle |z_{2}|
第二步:
假设 | z n | < 1 2 {\displaystyle |z_{n}| 成立
由上式可得知 | z n + 1 | < 1 2 {\displaystyle |z_{n+1}|
由数学归纳法可得知对于所有的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\,} 时
由 | c | > 2 {\displaystyle |c|>2\,} ,左右同乘 | c | {\displaystyle |c|\,} 再减去 | c | {\displaystyle |c|\,} 可得到下式
由以上可得知 | z 2 | > | c | {\displaystyle |z_{2}|>|c|\,}
第二步:
假设 | z n | > | c | {\displaystyle |z_{n}|>|c|\,} 成立,则 | z n | > 2 {\displaystyle |z_{n}|>2\,}
因为 | z n | > | c | {\displaystyle |z_{n}|>|c|\,}
由 | z n | > 2 {\displaystyle |z_{n}|>2\,} ,左右同乘 | z n | {\displaystyle |z_{n}|\,} 再减去 | z n | {\displaystyle |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 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 | > | c | {\displaystyle |z_{n}|>|c|\,}
由 | z n | > 2 {\displaystyle |z_{n}|>2\,} ,左右同乘 | z n | {\displaystyle |z_{n}|\,} 再减去 | z n | {\displaystyle |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 | {\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,内部已经有了比较成熟的例子。下面的程序是一段伪代码,表达了曼德博集合的计算思路。
ForEachcinComplexrepeats=0z=0Doz=z^2+crepeats=repeats+1Loopuntilabs(z)>EscapeRadiusorrepeats>MaxRepeats"根据定理三,EscapeRadius可设置为2。Ifrepeats>MaxRepeatsThenDrawc,Black"如果迭代次数超过MaxRepeats,就将c认定为属于曼德博集合,并设置为黑色。ElseDrawc,color(z,c,repeats)"colo函数用来决定颜色。EndIfNext
决定颜色的一些方法
直接利用循环终止时的Repeats
综合利用z和Repeats
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+yI,500],{x,-2,2,0.01},{y,-2,2,0.01}]]
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值