分形的Mathematica实现_第1页
分形的Mathematica实现_第2页
分形的Mathematica实现_第3页
分形的Mathematica实现_第4页
分形的Mathematica实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分形的Mathematica实现【内容提要】本文主要叙述了分形的发展史和分形中的两类图形Mandelbrot集和Julia集及他们的Mathematica实现。第一部分为分形的发展史,着重叙述分形的几何特征。第二部分着重叙述 Mandelbrot集和Julia集,以及Mathematica程序设计、运行结果。【关键词】 分形,Mandelbrot集,Julia集。分形是自然界的几何学。Mandelbrot (分形理论创始人)一、分形的发展史1.1分形概念的提出与分形理论的建立分形在英文中为fractal,由美籍数学家Mandelbrot创造出来的,源于拉丁文(形容词)fractus, (动词)

2、frangere它与英文的fraction (碎片)及fragment (碎片)具有相同的根。在20世纪70年 代中期以前,Mandelbrot 一直使用英文fractional 一词来表示他的分形思想,因此,取拉丁词之头, 撷英文之尾所合成的fractal,本意是不规则、破碎的、分数的。Mandelbrot是想用此词描述自然界 中传统欧氏几何学不能描述的一大类复杂无规的几何对象,例如:蜿蜒曲折的海岸线,起伏不定的 山脉,粗糙不堪的断面,变幻无常的浮云。它们的特点:极不规则或极不光滑。1975年,Mandelbrot出版了他的法文专著分形对象:形、机遇与维数,标志着分形理论正 式诞生。1977

3、年,他又出版了该书的英译本。1982年Mandelbrot的另一历史著作大自然的分形 几何与读者见面,该书虽然是前书的增补本,但在Mandelbrot看来却是分形理论的“宣言书”, 而在分形迷的眼中,它无疑是一部“圣经”,该书从分形的角度考察了自然界中诸多现象,引起了学 术界的广泛注意,Mandelbrot也因此一举成名。分形的几何特征Mandelbrot(1986年)曾经给分形下过这样一个定义:组成部分与整体部分以某种方式相似的 形,也就是说:分形一般具有自相似性。然而理论发展到今天,不限于研究对象的自相似性质了, 如果一个对象的部分与整体具有自仿射变换关系,我们也可以称它为分形。今后,条件

4、可能进一步拓宽,只要部分与整体以某种规则联系起来,通过某种变换使之对应, 我们可以将其看成分形,分形的本质就是标度变换下的不变性。1.2.1自相似性自相似性便是局部与整体的相似。它的例子有Cantor三分集、Koch曲线、Sierpinski垫片。Cantor三分集 大家都清楚它的构造,这里就不再叙述。Koch曲线的构成如下:取一条欧氏长度为l的线段,将其三等分,保留两端,将中间改换为夹 角为60的两个线段。对每一线段重复上述操作以至无穷,便得到一条具有自相似的折线,这就是 Koch曲线。(图1)Sierpinski垫片的构成如下:取初始图形一一等边三角形面。将这个等边三角形面四等分,得到 4

5、个小等边三角形面,去掉中间一个,将剩下的3个小等边三角形面分别进行四等分,再去掉中间 的一个,重复以上操作直到无穷。(图2)1.2.2自仿射性自仿射性是自相似性的一种拓展。如果将自相似性看成是局部到整体性在各个方向上的等比例变换的结果的话,那么,自仿射性就是局部到整体在不同方向上的不等比例变换的结果,前者是自 相似性变换,后者是自仿射性变换,图3表示相似变换与仿射变换的不同结果。分形还有一个更重要的特征:即精细结构。在理论上,Koch曲线是按一定规则无限变化的结 果,所以,如果有一个数学放大镜来看Koch曲线的话,无论放大多少倍,都能看到里面还有与整 体相似的结构。这一点,不由得使人想起了庄子

6、天下篇中的“一尺之槌,日取其半,万世不竭”, 这里我们不打算讨论物质是否无限可分,我们只是注意到分形和自然对象都具有极多层次的结构, 这是分形体最基本特征,自然界中的对象与数学中的分形还是不一样的。如下图,可以看出分形的 精细结构。1.2.41919年,数学家从测度的角度引入了维数概念, 一般拓扑集维数为整数的界限。对于欧几里得几何所描述的整形来说,可以由长度、面积、体积来测度。但用这种办法对分形 的层层细节做出测定是不可能的。曼德尔布罗特放弃了这些测定而转向了维数概念。分形的主要几 何特征是关于它的结构的不规则性和复杂性,主要特征量应该是关于它的不规则性和复杂性程度的 度量,这可用“维数”来

7、表征。维数是几何形体的一种重要性质,有其丰富的内涵。整形几何学描 述的都是有整数维的对象:点是零维的,线是一维的,面是二维的,体是三维的。我们知道 0维是 点,一维是线,二维是面,三维是空间。那么,谁能告诉我1.5维是什么? 一条直线段是一维的, 由四条这样的直线段组成的正方形是二维的。六个这样的正方形组成的正方体是三维的。直线的长 度数值,正方形的面积数值和立方体的体积数值都和我们测量的单位有关。测量的单位也往往是我 们所能分辨的最小单位。假设我们的分辨能力增加了一倍,因此我们把直线段长度单位减小到原单 位的一半,直线段长度的计量值就变为原来的两倍,正方形面积就变为原来的四倍,体积则变为原

8、来的八倍。我们有下式:log4/log2=2log8/log2=3这里的二和三不是巧合,这是另一 种维数的定义:测度维的概念。为了定 量地描述客观事物的“非规则”程度, 将维数从整数扩大到分数,从而突破了如果某图形是由把原图缩小为1/入的相似的b个图形所组成,有:入P=kD即维数:D=log k/log 2(其中的入为线度的放大倍数,K为“体积”的放大倍数)。我们还可以这样推广:如果把一个物体的边长分成n个相等的小线段,结果可得到与原物形状 相同的m个小物体。把m写成以n为底的指数形式:m=nd (或d=1ogm/1ogn)则指数 d=1og m/1og n称为这个物体的维数。由于1ogm/1

9、ogn不一定是整数,因此就会出现维数为分数的 情况。例1 koch曲线,它的维数是d=1og4/1og3 1.26。例2 对于Sierpinski垫片,它的维数是d=1og3/1og2 1.58。1.3分形与欧氏几何的区别1欧氏几何是规则的,而分形几何是不规则的。也就是说,欧氏几何一般是逐段光滑的,而分形几 何往往在任何区间内都不具有光滑性。2欧氏图形层次是有限的,而分形从数学角度讲是层次无限的。3欧氏图形不会从局部得到整体的信息,而分形图形强调这种关系。4欧氏图形越复杂,背后规则必定很复杂。而分形图形看上去很复杂,但是背后的规则往往很简单。5欧氏几何学描述的对象是人类创造的简单的标准物体。而

10、分形几何学描述的对象是大自然创造的 复杂是真实物。6欧氏几何学有特征长度,而分形几何学无特征长度。7欧氏几何学有明确的数学表达方式,而分形几何学用迭代语言表达。8欧氏几何学的维数是0及整数(1或2或3),而分形几何学一般是分数也可以是正整数。二、Mandelbrot 集与 Julia 集分形中的Mandelbrot集与Julia集的图像是美丽的,如果没有计算机,可以说,是不可能展现 出分形的美。今天是网络时代,信息的发达使每个人能够获得知识,但对于分形的 Mathematica程 序实现方面是匮乏的,其他语言的实现可以找到,而本文是对分形的Mathematica程序实现方面做 了一些工作。2.

11、1用到的函数其中出现的函数为Block,Abs,DensityPlot。它们的作用如下:Block x, y, ., expr specifies that expr is to be evaluated with local values for the symbols x, y,Absz gives the absolute value of the real or complex number zDensityPlotf, x, xmin, xmax, y, ymin, ymax makes a density plot of f as a function of x and y。 空间

12、密度画图函数,画出f(x,y)在a,b*c,d上的密度图。Mandelbrot 集热情的赞赏者常常说:Mandelbrot集是最复杂的数学对象,即使用无限的时间也不足以观察它的 全貌。那饰以多姿多彩荆棘的圆盘,那弯曲缠绕的螺线和细丝,那挂着微细颗粒的鳞茎,那无穷尽 的斑驳的色彩,那好像是上帝葡萄藤上的累累果实。Mandelbrot集显示了分形之美。Mandelbrot集 成为了分形、混沌的一种国际标志。2.2. 1概念介绍Mandelbrot集图形非常地美丽,但他的生成原理却十分的简单。这也许体现了数学的简单和谐之美。对 Z进行这样的迭代:Zn+1 =Z2n+C ,给定Z0为一个初始的复数,而

13、对不同的G迭代序列88Zn n=0有界的所有C值构成的集合,即MZ0 =C|迭代序列Zn n=0有界,则称MZ0在复平面上构 成的集合为Mandelbrot集。2.2.2程序设计为了更好的编程绘制Mandelbrot集并实现其高阶的迭代,先设如下:选定参数 Z=cx+cy*I,xmin=ymin= -1.5, xmax=ymax=1.5,取方程为 Zn+1 =Znk+C*Z 进行迭代。Z的模小于2,迭代次数不超过50。n3对于Z在平面上表示时,设xx为x的初始迭代坐标,yy为y的初始迭代坐标坐标表示。4所取的变量范围为(cx,cy),分别为x与y的范围,迭代次数为n。Mandelbrot 集的

14、 Mathematica 的程序Fx1x_, y_, cx_, cy_, n_:=Blockz, ct = 0, z = x + y*I;While(Absz 2.0) & (ct False, ColorFunction - Hue;(* 图象设定 *)Returnkok取迭代方程为 Z =Z2 +C,变量范围为x,-1.5,0.5,y, -1.2, 1.2,并画出区域x, 0.2, 0.4, y, -0.1, 0.1M1=Ht11,0,2,x,-1.5,0.5,y, -1.2, 1.2, PlotPoints-120, PlotLabel - Mandelbrot1;取迭代方程为Z =Z2

15、 +C,变量范围为x, 0.2, 0.4, y, -0.1, 0.1,为上图的局部放大图。M11 = Ht11, 0, 2, x, 0.2, 0.4, y, -0.1, 0.1, PlotPoints - 120,PlotLabel - x,0.2,0.4,y,-0.1,0.1;这是Mandelbrot集,右边为前面的局部放大图ColorFunction - Hue ”为着色函数,如果没有ColorFunction-Hue,图像为黑白的。Julia 集2.3. 1概念介绍Graston Julia(1893-1978),法国数学家,1919年研究迭代保角变换ZN+1=ZN2+c,能产生令人 眼

16、花缭乱的图案,由于当时没有计算机,不能象今天把如此美妙绝伦的图案奉献于世界。对Z进行这样的迭代:Z w +C ,给定Z为一个初始的复数,迭代序列Z n可能0n+1 n0n n=08有界,也可能发散到无穷。令Jc是使迭代序列Zn n=0有界所有Z0构成的集合,即8Jc= Z0|迭代序列Zn n=0有界,则称Jc在复平面上构成的集合为Julia集。Julia集和Mandelbrot集可以说是一对挛生兄弟。2.3.2程序设计Julia集图形的画法自然和Mandelbrot集的画法一样,只是初始条件和边界条件还有迭代变量稍 有不同。Julia集实际上是Mandelbort集的子集,它对应于Mandel

17、bort集内、集外的每个点,所以Julia 集是不计其数的。Julia集绘制方法和Mandelbort集完全一样,是用同样的迭代公式实现。不同的是, Mandelbort集固定为零,变化c,考察迭代计算结果,根据结果给c点位置着色,从而绘出图形。而Julia集则是固定c,变化,同样根据迭代结果给点位置着色而绘出图形。因此根据不同的c值, 可以得到形态各异的图形。为了更好的编程绘制Julia集并实现其高阶的迭代,先设如下:取方程为Zn+1 =Znk+C进行迭代。Z的模小于2,迭代次数不超过50。对于Z在平面上表示时,设xx为x的初始迭代坐标,yy为y的初始迭代坐标坐标表示。 所取的变量范围为(c

18、x,cy),分别为x与y的范围,迭代次数为n。Fx2x_,y_,cx_,cy_,n_:=Blockz,ct=0,z=x+y*I;While(Absz 2.0) & (ct False, ColorFunction - Hue;(*着色函数,如果没有 ColorFunction - Hue,图像为黑白 *)Returnkok 取迭代方程为Z =Z2+C,固定C值为0.27334+0.00742i变量范围为x,-1,1,y, -1.3, 1.3,并画出区 域x, 0.4, 0.8, y, -0.3, 0。J1=Ht20.27334, 0.00742,2, x, -1, 1, y, -1.3, 1.

19、3,PlotPoints - 120, PlotLabel - XShowJ1, GraphicsLine0.4, -0.3, 0.4, 0, 0.8, 0, 0.8, -0.3, 0.4, -0.3取迭代方程为 Z =Z2 +C,固定 C 值为 0.27334+0.00742i 变量范围为x, 0.4, 0.8, y, -0.3, 0。Ht20.27334, 0.00742, 2, x, 0.4, 0.8, y, -0.3, 0, PlotPoints - 120,PlotLabel - x,0.4,0.8,y,-0.3,000.050.10.150.20.250.310.500.50.40

20、.50.60.7ColorFunction - Hue,图像为黑白的。“ ColorFunction - Hue ”为着色函数,如果没有Ht2cx_,cy_,n_,pu_List,po_List,pl_List中,n 为迭代的次数,(cx,cy)为初始条件中固定 c 值, pu_List为复平面上x的范围,po_List为复平面上y的范围。2.4进一步研究88Mz0 =CI迭代序列Zn n=0有界, Jc= Z0l迭代序列Zn n=0有界。对于这两个集,Mandelbrot集由Jc的参数构成,Julia集由Mz0的参数构成。也就是说,Mandelbrot集与Julia集紧密联系着。根据c点在M

21、andelbrot集中的位置就能够预测与之相关的Julia集的外形及大小,从而可以得迭代的一般情况程序绘出的图形非常美丽,我们进而又思考,如果每次迭代时取的3次,4次,5次,6次(这样的 详尽命令可在光盘中的2.1,2.2等),会是什么样图形呢?会不会画出的图形混沌而没有规律呢? 只要对程序中的n值进行赋值就可以了。如果每次迭代时取的1/3 次,2/3次,1 次,4/3次,5/3次,7/3次会是什么样图形呢?会不会画出 的图形混沌而没有规律呢?(这样的详尽命令可在光盘中的3.1,3.2等)在 Mandelbrot 集的 Mathematica 的程序中,在 Ht1cx_, cy_, n_, p

22、u_List, po_List, pl_List;,对 n 进行不同赋值,可得的迭代的指数不同Mandelbrot集。对于 Julia 集,在它的 Mathematica 的程序中,在 Ht2cx_, cy_, n_, pu_List, po_List, pl_List;, 对n进行不同赋值,(cx,cy )赋于不同c值,可各式各样的Julia集。参数的不同,产生的图形是 不同的,如果要得到更多的图形,可以进行不同的赋值。如命令:M2=Ht11,0,3, x, -1, 1, y, -1.2, 1.2, PlotPoints -120, PlotLabel - Mandelbrot2;M3=Ht

23、11,0,4,x,-1.3,0.9,y,-1.2,1.2,PlotPoints-120, PlotLabel-Mandelbrot3;M4=Ht11,0,5,x,-1,1,y,-1,1,PlotPoints-120,PlotLabel-Mandelbrot4;M5=Ht11,0,6,x,-1,1,y,-1.1,1.1,PlotPoints-120,PlotLabel-Mandelbrot5;J2=Ht2-0.10256, 0.70486, 2, x, -1.5, 1.5, y, -1.5, 1.5,PlotPoints - 120, PlotLabel - HareJ3=Ht20.54496,

24、 0.45559, 3, x, -1.5, 1.5, y, -1.5, 1.5, PlotPoints - 200, PlotLabel - 龙J4=Ht20.69455, 0.28586, 4, x, -1, 1, y, -1, 1,PlotPoints - 200, PlotLabel - Hitler J5=Ht20.340652, 0.7033651, 5, x, -1.5, 1.5, y, -1.5, 1.5, PlotPoints - 200, PlotLabel - FlowerJ6=Ht20.73251, -0.414193, 6, x, -1.5, 1.5, y, -1.5,

25、 1.5,PlotPoints - 200, PlotLabel - Start(Julia集的命令是参考了一些书籍中C值的参数)下面给出这些命令的图形110.500.51.51.510.500.5110.500.5集与Julia集10.500.5所以说Mandelbrot集是10.500.5本可以查阅所有Julia集的词典从2至6阶的Mandelbrot(上方为 Mandelbrot集下方为Julia集)21世纪是信息的时代,计算机已深深的渗入我们的工作的各个方面,尤其是一些高科技方面,大量的信息处理,更离不开计算机,本文应用了计算机,并用Mathematica程序展现了一些美丽的 分形图形,这是一种有益的尝试,希望能够抛砖引玉,在分形的研究方面起的发挥一些作用。【参考文献】1.孙博文分形算法与程序设计北京:科学出版社20042.李水根,吴纪桃分形与小波北京:科学出版社20023.齐东旭分形与其计算机生成北京:科学出版社19944.李水根分形北京:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论