分形的Mathematica实现

2026/4/26 4:59:49

分形的Mathematica实现

学生姓名:贾俊锋 指导教师:李晓芬

(太原师范学院数学系

14023 山西〃太原030012)

【内容提要】 本文主要叙述了分形的发展史和分形中的两类图形Mandelbrot集和Julia集及他们的Mathematica实现。第一部分为分形的发展史,着重叙述分形的几何特征。第二部分着重叙述Mandelbrot集和Julia集,以及Mathematica程序设计、运行结果。 【关键词】 分形,Mandelbrot集,Julia集。

分形是自然界的几何学。——Mandelbrot(分形理论创始人) 一、分形的发展史

1.1 分形概念的提出与分形理论的建立

分形在英文中为fractal,由美籍数学家Mandelbrot创造出来的,源于拉丁文(形容词)fractus,(动词)frangere它与英文的fraction(碎片)及fragment(碎片)具有相同的根。在20世纪70年代中期以前,Mandelbrot一直使用英文fractional一词来表示他的分形思想,因此,取拉丁词之头,撷英文之尾所合成的fractal ,本意是不规则、破碎的、分数的。Mandelbrot是想用此词描述自然界中传统欧氏几何学不能描述的一大类复杂无规的几何对象,例如:蜿蜒曲折的海岸线,起伏不定的山脉,粗糙不堪的断面,变幻无常的浮云。它们的特点:极不规则或极不光滑。

1975年,Mandelbrot出版了他的法文专著《分形对象:形、机遇与维数》,标志着分形理论正式诞生。1977年,他又出版了该书的英译本。1982年Mandelbrot的另一历史著作《大自然的分形几何》与读者见面,该书虽然是前书的增补本,但在Mandelbrot看来却是分形理论的“宣言书”,而在分形迷的眼中,它无疑是一部“圣经”,该书从分形的角度考察了自然界中诸多现象,引起了学术界的广泛注意,Mandelbrot也因此一举成名。 1.2 分形的几何特征

Mandelbrot(1986年)曾经给分形下过这样一个定义:组成部分与整体部分以某种方式相似的形,也就是说:分形一般具有自相似性。然而理论发展到今天,不限于研究对象的自相似性质了,如果一个对象的部分与整体具有自仿射变换关系,我们也可以称它为分形。

今后,条件可能进一步拓宽,只要部分与整体以某种规则联系起来,通过某种变换使之对应,我们可以将其看成分形,分形的本质就是标度变换下的不变性。 1.2.1 自相似性

自相似性便是局部与整体的相似。它的例子有Cantor 三分集、Koch 曲线、Sierpinski垫片。 Cantor 三分集 大家都清楚它的构造,这里就不再叙述。

Koch 曲线的构成如下:取一条欧氏长度为l的线段,将其三等分,保留两端,将中间改换为夹角为60的两个线段。对每一线段重复上述操作以至无穷,便得到一条具有自相似的折线,这就是Koch 曲线。(图1)

- 1 -

Sierpinski垫片的构成如下:取初始图形——等边三角形面。将这个等边三角形面四等分,得到4个小等边三角形面,去掉中间一个,将剩下的3个小等边三角形面分别进行四等分,再去掉中间的一个,重复以上操作直到无穷。(图2)

1.2.2 自仿射性

自仿射性是自相似性的一种拓展。如果将自相似性看成是局部到整体性在各个方向上的等比例变换的结果的话,那么,自仿射性就是局部到整体在不同方向上的不等比例变换的结果,前者是自相似性变换,后者是自仿射性变换,图3表示相似变换与仿射变换的不同结果。

1.2.3 精细结构

分形还有一个更重要的特征:即精细结构。在理论上,Koch 曲线是按一定规则无限变化的结果,所以,如果有一个数学放大镜来看Koch 曲线的话,无论放大多少倍,都能看到里面还有与整体相似的结构。这一点,不由得使人想起了庄子《天下篇》中的“一尺之槌,日取其半,万世不竭”,这里我们不打算讨论物质是否无限可分,我们只是注意到分形和自然对象都具有极多层次的结构,这是分形体最基本特征,自然界中的对象与数学中的分形还是不一样的。如下图,可以看出分形的精细结构。

- 2 -

1.2.4 分形维数

对于欧几里得几何所描述的整形来说,可以由长度、面积、体积来测度。但用这种办法对分形的层层细节做出测定是不可能的。曼德尔布罗特放弃了这些测定而转向了维数概念。分形的主要几何特征是关于它的结构的不规则性和复杂性,主要特征量应该是关于它的不规则性和复杂性程度的度量,这可用“维数”来表征。维数是几何形体的一种重要性质,有其丰富的内涵。整形几何学描述的都是有整数维的对象:点是零维的,线是一维的,面是二维的,体是三维的。我们知道0维是点,一维是线,二维是面,三维是空间。那么,谁能告诉我1.5维是什么? 一条直线段是一维的,由四条这样的直线段组成的正方形是二维的。六个这样的正方形组成的正方体是三维的。直线的长度数值,正方形的面积数值和立方体的体积数值都和我们测量的单位有关。测量的单位也往往是我们所能分辨的最小单位。假设我们的分辨能力增加了一倍,因此我们把直线段长度单位减小到原单位的一半,直线段长度的计量值就变为原来的两倍,正方形面积就变为原来的四倍,体积则变为原来的八倍。我们有下式:

log4/log2=2 log8/log2=3

这里的二和三不是巧合,这是另一种维数的定义:测度维的概念。为了定量地描述客观事物的“非规则”程度,

1919年,数学家从测度的角度引入了维数概念,将维数从整数扩大到分数,从而突破了一般拓扑集维数为整数的界限。

如果某图形是由把原图缩小为1/λ的相似的b个图形所组成,有:λ^D=k D即维数:

D=logk/logλ (其中的λ为线度的放大倍数,K为“体积”的放大倍数)。

我们还可以这样推广:如果把一个物体的边长分成n个相等的小线段,结果可得到与原物形状d=1og m/1og n称为这个物体的维数。由于1ogm/1ogn不一定是整数,因此就会出现维数为分数的情况。

例1 koch曲线,它的维数是d=1og4/1og3≈1.26。

例2 对于Sierpinski垫片,它的维数是d=1og3/1og2≈1.58。 1.3 分形与欧氏几何的区别

1 欧氏几何是规则的,而分形几何是不规则的。也就是说,欧氏几何一般是逐段光滑的,而分形几何往往在任何区间内都不具有光滑性。

2 欧氏图形层次是有限的,而分形从数学角度讲是层次无限的。 3 欧氏图形不会从局部得到整体的信息,而分形图形强调这种关系。

4 欧氏图形越复杂,背后规则必定很复杂。而分形图形看上去很复杂,但是背后的规则往往很简单。 5欧氏几何学描述的对象是人类创造的简单的标准物体。而分形几何学描述的对象是大自然创造的复杂是真实物。

6欧氏几何学有特征长度,而分形几何学无特征长度。

7欧氏几何学有明确的数学表达方式,而分形几何学用迭代语言表达。

8欧氏几何学的维数是0及整数(1或2或3),而分形几何学一般是分数也可以是正整数。

相同的m个小物体。把m写成以n为底的指数形式:m=n^d (或d=1ogm/1ogn)则指数

- 3 -

二、Mandelbrot集与Julia集

分形中的Mandelbrot集与Julia集的图像是美丽的,如果没有计算机,可以说,是不可能展现出分形的美。今天是网络时代,信息的发达使每个人能够获得知识,但对于分形的Mathematica程序实现方面是匮乏的,其他语言的实现可以找到,而本文是对分形的Mathematica程序实现方面做了一些工作。 2.1 用到的函数

其中出现的函数为Block,Abs ,DensityPlot。它们的作用如下:

Block[{x, y, …}, expr] specifies that expr is to be evaluated with local values for the symbols x, y, … .

Abs[z] gives the absolute value of the real or complex number z

DensityPlot[f, {x, xmin, xmax},{ y, ymin, ymax}] makes a density plot of f as a function of x and y。空间密度画图函数,画出f(x,y)在[a,b]*[c,d]上的密度图。

2.2 Mandelbrot集

热情的赞赏者常常说:Mandelbrot集是最复杂的数学对象,即使用无限的时间也不足以观察它的全貌。那饰以多姿多彩荆棘的圆盘,那弯曲缠绕的螺线和细丝,那挂着微细颗粒的鳞茎,那无穷尽的斑驳的色彩,那好像是上帝葡萄藤上的累累果实。Mandelbrot集显示了分形之美。Mandelbrot集成为了分形、混沌的一种国际标志。 2.2.1概念介绍

Mandelbrot集图形非常地美丽,但他的生成原理却十分的简单。这也许体现了数学的简单和谐

之美。对Z0进行这样的迭代:Zn+1 =Z2n +C , 给定Z0为一个初始的复数,而对不同的C,迭代序列

{Zn}

n=0有界的所有

C值构成的集合,即MZ0 ={C|迭代序列{Zn}

n=0有界},则称

MZ0在复平面上构

成的集合为Mandelbrot集。 2.2.2程序设计

为了更好的编程绘制Mandelbrot集并实现其高阶的迭代,先设如下:

1 选定参数Z=cx+cy*I,xmin=ymin= -1.5, xmax=ymax=1.5,取方程为Zn+1 =Znk+C*Z进行迭代。 2 Z的模小于2,迭代次数不超过50。

3 对于Z在平面上表示时,设xx为x的初始迭代坐标,yy为y的初始迭代坐标坐标表示。 4 所取的变量范围为(cx,cy),分别为x与y的范围,迭代次数为n。 Mandelbrot集的Mathematica的程序

Fx1[x_, y_, cx_, cy_, n_] := Block[{z, ct = 0}, z = x + y*I;

While[(Abs[z] < 2.0) && (ct < 50), ++ct; (*给定Z的模的范围*) z = z^n + (cx + cy*I)*(x + y*I)]; (*给定迭代函数*) Return[ct] (*返回初值*) ] Ht1[cx_, cy_, n_, pu_List, po_List, pl_List] := Block[{kok}

- 4 -


分形的Mathematica实现.doc 将本文的Word文档下载到电脑
搜索更多关于: 分形的Mathematica实现 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219