迭代与分形姓名:吴涛班级:2007级电科一班学号:20074053053摘要:几何学研究的对象是客观世界中物体的形状。传统欧氏几何学的研究对象,都是规则并且光滑的,比如:直线、曲线、曲面等。但客观世界中物体的形状,并不完全具有规则光滑等性质,因此只能近似当作欧氏几何的对象,比如:将凹凸不平的地球表面近似为椭球面。虽然多数情况下通过这样的近似处理后,能够得到符合实际情况的结果,但是对于极不规则的形态,比如:云朵、烟雾、树木等,传统的几何学就无能为力了。如何描述这些复杂的自然形态?如何分析其内在的机理?这些就是分形几何学所面对和解决的问题。关键字:迭代;分形;树形Abstract:thestudyofgeometryobjectistheobjectiveworldintheshapeofanobject.TraditionalEuclideangeometryobjectofstudy,isalltherulesandsmooth,forinstance:linear,curveandsurfaceetc.Buttheobjectiveworldintheshapeofanobject,notcompletelywithregularsmoothnature,thereforecanonlyapproximatesuchasEuclideangeometryobject,suchas:theunevensurfaceoftheearthforapproximateellipsoid.Althoughmostcasesthroughsuchanapproximatetreatmentafter,cangettheresultaccordswiththeactualsituation,butforgreatirregularityofform,suchas:theclouds,smoke,suchastrees,traditionalgeometryasarepeater.Howtodescribethesecomplexnaturalforms?Howtoanalyzeitsinherentmechanism?Thesearethefractalgeometryfacingandsolvetheproblem.Keywords:iterations,Fractal;tree一、问题分析在我们的世界上,存在着许多极不规则的复杂现象,比如:弯弯曲曲的海岸线、变化的云朵、宇宙中星系的分布、金融市场上价格的起伏图等,为了获得解释这些极端复杂现象的数学模型,我们需要认识其中蕴涵的特性,构造出相应的数学规则。曼德尔布罗特(Mandelbrot)在研究英国的海岸线形状等问题时,总结出自然界中很多现象从标度变换角度表现出对称性,他将这类集合称作自相似集,他发现维数是尺度变换下的不变量,主张用维数来刻划这类集合。Mandelbrot将这类几何形体称为分形(fractal),意思就是不规则的、分数的、支离破碎的,并对它们进行了系统的研究,创立了分形几何这一新的数学分支。Mandelbrot认为海岸、山峦、云彩和其他很多自然现象都具有分形的特性,因此可以说:分形是大自然的几何学。分形几何体一般来说都具有无限精细的自相似的层次结构,即局部与整体的相似性,图形的每一个局部都可以被看作是整体图形的一个缩小的复本。早在19世纪就已经出现了一些具有自相似特性的分形图形,比如:瑞典数学家科赫(vonKoch)设计的类似雪花和岛屿边缘的一类曲线,即Koch曲线;英国植物学家布朗通过观察悬浮在水中的花粉的运动轨迹,提出来的布朗运动轨迹。分形几何把自然形态看作是具有无限嵌套的层次结构,并且在不同尺度下保持某种相似的属性,于是,简单的迭代过程,就是描述复杂的自然形态的有效方法。(Koch曲线)(布朗运动轨迹)二、背景知识介绍1、分形几何的形成。分形几何的概念是美籍法国数学家曼德尔布罗特(Mandelbrot)于1975年首先提出的,但最早的工作可追朔到1875年,德国数学家维尔斯特拉斯(Weierestrass)构造了处处连续但处处不可微的函数,集合论创始人康托尔(Cantor,德国数学家)构造了有许多奇异性质的康托尔三分集。1890年,意大利数学家皮亚诺(Peano)构造了填充空间的曲线。1904年,瑞典数学家科赫(Koch)设计出类似雪花和岛屿边缘的一类曲线。1915年,波兰数学家谢尔宾斯基(Sierpinski)设计了象地毯和海绵一样的几何图形。这些都是为解决分析与拓朴学中的问题而提出的反例,但它们正是分形几何思想的源泉。2、分形几何体的维数。通常的几何体具有整数维,比如:一维的线段、二维的正方形、三维的立方体,维数就是几何体在“尺度”上的特征。对于分形中的几何对象,通常意义下的维数已经没有意义,比如Koch曲线(长度是无穷大,面积是零),用一维的“线段”去量,得数无穷大,“尺子”太小;用二维的“正方形”去量,得数为零,“尺子”又太大,因此需要定义分形自己的维数(分数维)。分形的维数目前有多种定义,我们这里介绍相似维数。设分形F是自相似的,即F由m个子集构成,每个子集放大c倍后同F一样,则定义F的维数为:lnlndmc,即dcm。对于通常的几何对象,采用这种方式计算出来的维数,与传统的维数是一致的,比如对正方形,将它边长m等份,则相似形个数m2,每边长放大m倍后与原长相同,即c=m,显然d=2。人类肺的构造,从气管尖端成倍地反复分叉,是一种典型的分形,其分维数大约是2.17。3、什么是迭代。迭代法是常用的一种数学方法,就是将一种规则反复作用在某个对象上,它可以产生非常复杂的行为。我们这里介绍图形迭代和函数迭代两种方式。(1)图形迭代。给定初始图形F0,以及一个替换规则R,将R反复作用在初始图形F0上,产生一个图形序列:R(F0)=F1,R(F1)=F2,R(F2)=F3,…(2)函数迭代。给定初始值x0,以及一个函数f(x),将f(x)反复作用在初始值x0上,产生一个数列:f(x0)=x1,f(x1)=x2,f(x2)=x3,…4、plot函数介绍。plot是最重要最基本的二维曲线绘图指令,基本功能是画折线和曲线。基本调用格式如下:(1)plot(Y,LineSpec)。其中,Y一般是数组;而LineSpec是用来指定线型、色彩等的选项字符串,可省略。本功能是以数组Y作为竖坐标,以数组元素的下标为横坐标,画出一条折线。当数组元素很多时,就出现连续曲线的效果。(2)plot(X,Y,’s’)。其中,X、Y一般是相同长度的数组。本功能是以数组Y作为竖坐标,以数组X为横坐标,画出一条折线。当数组元素很多时,就出现连续曲线的效果。例1x=-pi:pi/10:pi;y=tan(sin(x))-sin(tan(x));plot(x,y)5、Fill函数介绍。Fill的作用是颜色填满一个多边形区域,基本调用格式如下:fill(X,Y,ColorSpec)其中X是围成多边形区域的横坐标,Y是竖坐标,通过ColorSpec指定颜色。在使用时注意:要保证绘图数据首尾重合,使得多边形封闭。另外,可以依靠图柄设置其它属性。6、分形树木分形树木是为了模拟自然界中树木花草的形状,其迭代方式与前面两个问题不同,主要原理是设定基本的绘图规则,然后让计算机根据这些规则进行反复跌代,最终生成分形图。下面介绍一种迭代规则:对一条线段,在它顶端左右两侧各画一条小线段。无限次迭代下去,最终形成的图形就象一棵树。具体的实现如下:源代码:function[z,A]=plottree(z,A,n);N=6;s=0.7;Br=[pi/10;-pi/10];ifnNreturnendk=1;ifn==1;plot([z,z+exp(i*A)],'linewidth',3/N*(N-n+1));holdonz=z+exp(i*A);[z,A]=plottree(z,A,n+1);elsewhilek3A=A+Br(k);leng=s^(n-1);plot([z,z+leng*exp(i*A)],'linewidth',3/N*(N-n+1));z=z+leng*exp(i*A);[z,A]=plottree(z,A,n+1);A=A+pi;z=z+leng*exp(i*A);A=A+pi-Br(k);k=k+1;endend调用函数plottree(z,A,n);得到如图所示的图形参考文献[1]李尚志,陈发来等。数学试验。北京:高等教育出版社,1999年[2]大学数学-数学实验萧树铁高等教育出版社1999.7[3]高等数学实验课李卫国编高等教育出版社2000.10[4]谢云荪等.数学实验.北京:科学出版社,2000