分形的Mathematica实现

上传人:豆浆 文档编号:792745 上传时间:2017-05-14 格式:DOC 页数:8 大小:588KB
返回 下载 相关 举报
分形的Mathematica实现_第1页
第1页 / 共8页
分形的Mathematica实现_第2页
第2页 / 共8页
分形的Mathematica实现_第3页
第3页 / 共8页
分形的Mathematica实现_第4页
第4页 / 共8页
分形的Mathematica实现_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《分形的Mathematica实现》由会员分享,可在线阅读,更多相关《分形的Mathematica实现(8页珍藏版)》请在金锄头文库上搜索。

1、- 1 -分形的 Mathematica实现学生姓名:贾俊锋 指导教师:李晓芬(太原 师范学院数学系 14023 山西太原 030012)【内容提要】 本文主要叙述了分形的发展史和分形中的两 类图形 Mandelbrot 集和 Julia 集及他们的Mathematica 实现。第一部分为分形的发展史,着重叙述分形的几何特征。第二部分着重叙述 Mandelbrot集和 Julia 集,以及 Mathematica 程序设计、运行 结果。【关键词】 分形,Mandelbrot 集, Julia 集。分形是自然界的几何学。 Mandelbrot(分形理论创始人 )一、分形的发展史1.1 分形概念的

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

3、幻无常的浮云。它们的特点:极不规则或极不光滑。1975 年,Mandelbrot 出版了他的法文专著分形对象:形、机遇与维数 ,标志着分形理论正式诞生。1977 年,他又出版了该书的英译本。1982 年 Mandelbrot 的另一历史著作大自然的分形几何与读者见面,该书虽然是前书的增补本,但在 Mandelbrot 看来却是分形理论的“宣言书” ,而在分形迷的眼中,它无疑是一部“圣经” ,该书从分形的角度考察了自然界中诸多现象,引起了学术界的广泛注意,Mandelbrot 也因此一举成名。1.2 分形的几何特征Mandelbrot(1986 年)曾经给分形下过这样一个定义:组成部分与整体部分

4、以某种方式相似的形,也就是说:分形一般具有自相似性。然而理论发展到今天,不限于研究对象的自相似性质了,如果一个对象的部分与整体具有自仿射变换关系,我们也可以称它为分形。今后,条件可能进一步拓宽,只要部分与整体以某种规则联系起来,通过某种变换使之对应,我们可以将其看成分形,分形的本质就是标度变换下的不变性。1.2.1 自相似性自相似性便是局部与整体的相似。它的例子有 Cantor 三分集、Koch 曲线、Sierpinski 垫片。Cantor 三分集 大家都清楚它的构造,这里就不再叙述。Koch 曲线的构成如下:取一条欧氏长度为 l 的线段,将其三等分,保留两端,将中间改换为夹角为 60 的两

5、个线段。对每一线段重复上述操作以至无穷,便得到一条具有自相似的折线,这就是 Koch 曲线。 (图 1)- 2 -Sierpinski 垫片的构成如下:取初始图形等边三角形面。将这个等边三角形面四等分,得到 4个小等边三角形面,去掉中间一个,将剩下的 3 个小等边三角形面分别进行四等分,再去掉中间的一个,重复以上操作直到无穷。 (图 2)1.2.2 自仿射性自仿射性是自相似性的一种拓展。如果将自相似性看成是局部到整体性在各个方向上的等比例变换的结果的话,那么,自仿射性就是局部到整体在不同方向上的不等比例变换的结果,前者是自相似性变换,后者是自仿射性变换,图 3 表示相似变换与仿射变换的不同结果

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

7、是不可能的。曼德尔布罗特放弃了这些测定而转向了维数概念。分形的主要几何特征是关于它的结构的不规则性和复杂性,主要特征量应该是关于它的不规则性和复杂性程度的度量,这可用“维数”来表征。维数是几何形体的一种重要性质,有其丰富的内涵。整形几何学描述的都是有整数维的对象:点是零维的,线是一维的,面是二维的,体是三维的。我们知道 0 维是点,一维是线,二维是面,三维是空间。那么,谁能告诉我 1.5 维是什么? 一条直线段是一维的,由四条这样的直线段组成的正方形是二维的。六个这样的正方形组成的正方体是三维的。直线的长度数值,正方形的面积数值和立方体的体积数值都和我们测量的单位有关。测量的单位也往往是我们所

8、能分辨的最小单位。假设我们的分辨能力增加了一倍,因此我们把直线段长度单位减小到原单位的一半,直线段长度的计量值就变为原来的两倍,正方形面积就变为原来的四倍,体积则变为原来的八倍。我们有下式: log4/log2=2 log8/log2=3这里的二和三不是巧合,这是另一种维数的定义:测度维的概念。为了定量地描述客观事物的“ 非规则 ”程度,1919年,数学家从测度的角度引入了维数概念,将维数从整数扩大到分数,从而突破了一般拓扑集维数为整数的界限。如果某图形是由把原图缩小为 1/ 的相似的 b 个图形所组成,有:D= D 即维数:D=log/log (其中的 为线度的放大倍数,K 为“体积”的放大

9、倍数) 。我们还可以这样推广:如果把一个物体的边长分成 n 个相等的小线段,结果可得到与原物形状相同的 m 个小物体。把 m 写成以 n 为底的指数形式:m=nd (或 d=1ogm/1ogn)则指数 d=1og m/1og n 称为这个物体的维数。由于 1ogm/1ogn 不一定是整数,因此就会出现维数为分数的情况。例 1 koch 曲线,它的维数是 d=1og4/1og31.26。例 2 对于 Sierpinski 垫片,它的维数是 d=1og3/1og21.58 。1.3 分形与欧氏几何的区别 1 欧氏几何是规则的,而分形几何是不规则的。也就是说,欧氏几何一般是逐段光滑的,而分形几何往往

10、在任何区间内都不具有光滑性。2 欧氏图形层次是有限的,而分形从数学角度讲是层次无限的。3 欧氏图形不会从局部得到整体的信息,而分形图形强调这种关系。4 欧氏图形越复杂,背后规则必定很复杂。而分形图形看上去很复杂,但是背后的规则往往很简单。5 欧氏几何学描述的对象是人类创造的简单的标准物体。而分形几何学描述的对象是大自然创造的复杂是真实物。6 欧氏几何学有特征长度,而分形几何学无特征长度。7 欧氏几何学有明确的数学表达方式,而分形几何学用迭代语言表达。8 欧氏几何学的维数是 0 及整数(1 或 2 或 3) ,而分形几何学一般是分数也可以是正整数。二、Mandelbrot 集与 Julia集分形

11、中的 Mandelbrot 集与 Julia 集的图像是美丽的,如果没有计算机,可以说,是不可能展现出- 4 -分形的美。今天是网络时代,信息的发达使每个人能够获得知识,但对于分形的 Mathematica 程序实现方面是匮乏的,其他语言的实现可以找到,而本文是对分形的 Mathematica 程序实现方面做了一些工作。2.1 用到的函数其中出现的函数为 Block,Abs ,DensityPlot。它们的作用如下:Blockx, y, , expr specifies that expr is to be evaluated with local values for the symbols

12、 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。空间密度画图函数,画出 f(x,y)在 a,b*c,d上的密度图。2.2 Mandelbrot 集热情的赞赏者常常说:Mandelbrot 集是最复杂的数学对象,即使用无限的时间也不足以观察它的全貌。那饰以多姿多彩荆棘的圆盘,那弯曲缠绕的螺线和细丝,那挂着微细颗粒的鳞茎,那

13、无穷尽的斑驳的色彩,那好像是上帝葡萄藤上的累累果实。Mandelbrot 集显示了分形之美。Mandelbrot 集成为了分形、混沌的一种国际标志。2.2.1 概念介绍Mandelbrot 集图形非常地美丽,但他的生成原理却十分的简单。这也许体现了数学的简单和谐之美。对 进行这样的迭代:Z n+1 =Z2n +C , 给定 为一个初始的复数,而对不同的 C,迭代序列Z n0 0Zn=0 有界的所有 C 值构成的集合,即 MZ0 =C|迭代序列 Znn=0 有界,则称 MZ0 在复平面上构成的集合为 Mandelbrot 集。2.2.2 程序设计为了更好的编程绘制 Mandelbrot 集并实现

14、其高阶的迭代,先设如下: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 的程序Fx1x_, y_, cx_, cy_, n_ := Blockz, ct = 0, z = x + y*I;While(Absz False,

15、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 +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;-1.5 -1 -0.5 0 0.5-1-0.500.51Mandelbrot10.2 0.25 0.3 0.35 0.4-0.1-0.0500.050.1 x,0.2,0.4,y,0.1,0.1这是 Mandelbrot 集,右边为前面的局部放大图“ ColorFunction - Hue”为着色函数,如果没有 ColorFunction - Hue,图像为黑白的。2.3 Julia 集2.3.1 概念介绍Graston Juli

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号