分形与迭代
分形的特点及构造方法

分形的特点及构造方法分形是数学中的一个重要概念,它具有独特的特点和构造方法。
作为一位初中数学特级教师,我将在本文中向大家介绍分形的特点以及构造方法,希望能够帮助中学生及其父母更好地理解和应用分形。
一、分形的特点分形最显著的特点就是自相似性。
自相似性是指一个物体的各个部分都与整体具有相似的形状或结构。
换句话说,无论是放大还是缩小,这个物体的形状都会重复出现。
例如,我们可以观察一片树叶,发现树叶的小分支和整个树叶的形状非常相似,这就是分形的自相似性。
另一个特点是分形的复杂性。
分形形状通常是非常复杂的,往往无法用简单的几何图形来描述。
例如,分形图形中的曲线可以不连续,具有很多细节和尖锐的边缘。
这种复杂性使得分形在自然界和科学研究中具有广泛的应用价值。
二、分形的构造方法1. 基于迭代的构造方法迭代是分形构造的基本方法之一。
通过不断重复相同的操作,可以构造出具有自相似性的分形图形。
例如,康托尔集合就是通过迭代的方式构造出来的。
首先,将一条线段分成三等分,然后去掉中间那一段,再对剩下的两段线段进行相同的操作。
重复这个过程无限次,最后得到的就是康托尔集合,它具有自相似性和复杂的形状。
2. 基于分形几何的构造方法分形几何是研究分形的数学工具,通过一些几何变换和规则,可以构造出各种各样的分形图形。
例如,科赫曲线就是通过分形几何构造出来的。
首先,将一条线段分成三等分,然后将中间那一段替换为一个等边三角形的两条边,再对剩下的两段线段进行相同的操作。
重复这个过程无限次,最后得到的就是科赫曲线,它具有分形的特点。
三、分形的应用分形不仅仅是数学中的一个概念,它还具有广泛的应用价值。
在自然界中,很多自然现象都具有分形的特点,例如云朵的形状、山脉的轮廓、河流的分布等。
通过研究这些分形现象,我们可以更好地理解自然界的规律。
在科学研究中,分形也被广泛应用于物理学、生物学、经济学等领域。
例如,在物理学中,分形可以用来描述复杂的物理现象,如分形电阻、分形结构的磁体等。
迭代分形

• 一些实例 Cantor 树
w j ( Z ) ( Z 2Z j ) / 3, j 1,2,3
p1 p2 p3 1 / 3
龙曲线
w1 ( Z ) sZ 1, w2 ( Z ) sZ 1
p1 p2 1 / 2, s 0.5 0.5i
B. Mandelbrot 观察到英国海岸线与Van
Koch 曲线的关系,提出了一门描述大自 然的几何形态的学科---分形(Fractal)
英国的海岸线有多长?
• B. B. Mandelbrot
• 分形的特性 1、具有无限精细的结构 2、局部与整体的相似性 3、具有非拓扑维数,并且它大于对应的 拓扑维数
0
Z x i y, c p i q
则(2)变为
xn 1 xn 2 yn 2 p yn 1 2 xn yn q (3)
• Julia 集的绘制方法: 1、设定初值 p,q, 最大的迭代次数 N, 图 形的大小 a,b, 及使用的颜色数 K. 2、设定区域的界值
函数的迭代,不动点和有关的作图 介绍浑沌,用数值迭代、蛛网迭代和密度 分布等方法来研究浑沌
●
浑沌的倍周期分叉、遍历性和某些 普适结构 计算机与科学研究(即使是数学)
●
问题的提出
●
什么是浑沌?
出现在各个领域的一种现象:数学、物理、
生物、金融、经济、管理等等: 宇宙的起源 龙卷风的产生、厄尔尼诺现象 东南亚金融危机爆发 “侏罗纪公园”中的恐龙重现
In[1]:= a=1.029; b=1.48654*10^(-11); f1[x_]:=a*x-bx^2;
For[n=1979; x[1979]=9.7542*10^8, n<=2002, n++, x[n+1]=f1[x[n]]; Print[n+1, “ ”,x[n+1]/10^8]]
分形迭代理论

主要法则
非线性法则:T-P轨迹具有明显的非线性特征。 关联法则:T-P轨迹的任意一点与过去或未来的任意一点是有关联的。 自组织法则:市场是自组织系统。 自相似法则:市场行为具有自相似性,体现T-P轨迹上是,局部之间、局部与整体之间通常具有某种自相似 性。在观测者眼中,T-P轨迹经常进行非简单重复的“历史重演”。 分形元法则:分形元是分形的基本组成和基本循环形态。分形迭代理论将T-P轨迹中相邻且同级别的最基本 的一涨一跌定义为分形元。分形元法则有以下细则: 迭代法则:市场运行的过程就是市场迭代运算的过程。 对称性破缺法则:T-P轨迹具有平衡及对称的内禀,同时具有不平衡及不对称的表现。 概率分布法则:T-P点的分布具有一定的概率分布特性。 混沌法则:市场兼具有序和混沌特性。
证券研究者已经在这方面做了许多有益的探索,这包括趋势理论、波浪理论、江恩理论,市场行为心理学理 论、遗传理论,全息理论、随机漫步理论、混沌理论等。这些理论或是基于观察的经验总结,或是理论套用的尝 试,各有所长,各有不足。
基本观点
基本观点一 市场是自馈式非线性自组织系统,其运行过程亦是循环迭代的过程 基本观点二 市场行为轨迹具有明显的分形特性 基本观点三 市场行为兼具有序和混沌特性 难以预见性:即使在确定的系统下,其最终行径也是难以预测 临界水平:有序和混沌(或高级的有序)是相对的、是可以互相转化的,具有临界值 初值敏感性:初始条件非常微小的变动也可以导致最终状态的巨大差别 周期共振:市场个体的周期发生共振时,其行为一致性(有序性)将大幅提高
分形模式
最基本的分形形态为二浪分形元,在此基础上演化出的四浪、六浪、八浪、十浪等分形单元也是分形迭代理 论中的的分形模式。
标准分形元及单元模式(4张)
标注方法
分形的标准标注方法
迭代·混沌·分形

迭代·混沌·分形柴文斌(四川省遂宁中学校629000)一、课例背景在20世纪下半叶,计算机的“魔杖”不断制造出新的数学分支,它最拿手的迭代计算引出了“混沌学”,接着又导致了分形几何的产生. 分形的思想和方法在模式识别,自然图象的模拟,信息讯号的处理,以及金融模型,艺术的制作等领域都取得了极大的成功.二、教学目标①本课例按《新课标》的要求,通过分形为载体,引起学生深厚的兴趣,在探究过程中,浅介数学新思想、新发展,同时让学生发现数学美,激发他们勇敢地追求美,主动地创造美,从而陶冶他们的情操,培养他们创新的精神.②总结平常练习过的从迭代、分形为背景数学试题,让他们用联系、发展的眼光,体会“背景深刻,方法独到”高考压轴题设计意图,明白“基础扎实,能力到位”明确要求.三、教学重点①应用计算机让学生感受分形图之美妙及形成数学原理.②分析分形为背景数学试题,形成高观点下审视数学问题.四、教学难点①迭代、混沌、分形定义度的把握.②Julia集、Mandelbrot集及其特征.五、教学过程(一)美丽的分形图形运用多媒体展放《孔雀开屏》等11幅分形艺术作品.师:这些美丽图形自然而优美,纷繁而有序,放射出诱人的色彩,在绚丽的色彩变化背后有几分神秘,似乎没有人会对这些图形无动于衷,你们相信,这些美妙的图形是运用数学知识,通过计算机构造出来的吗?是如何构造的呢?我们还得从函数迭代说起!(二)函数的迭代问题1:计算:①x n n sin lim ∞→ ②=∞→x n n cos lim 问题2:211n n x x +=-11=x轨道:1,0,-1,0,-1,……5.02=x轨道:0.5,―0.75,―0.4375,―0.80859,…―1,0,―1,0,-1问题3:①有没有这样一个初态把它代入211-+=n n x x ,结果不变吗?· ·A B251- 251+ ②618.11=x 写出系统轨道③619.11=x 写出系统轨道问题4:二次函数2)(z z f =进行迭代 ①i z 211=,写出系统轨道 ②i z +=11,写出系统轨道问题5:2)(z z f =且1||0<z求证:1|)(|0<z f证明:i y x z 000+=且1||0<z|2||)(|0020200i y x y x z F +-=20022020)2()(y x y x +-=22020)(y x +=20||z = 因此,在区域1||00<<z 中,1|||)(|00<<z z F ,这就意味着2)(z z F =的每一次迭代,即21n n z z =+都会使z 向靠近0的方向移动,我们说z 向0收敛,或是z 的吸引号,若1||0>z 近似于上面的结论,会发现,经过迭代z 会趋向于∞.若1||0=z ,很明显,z 是平面上单位圆上的点. 于是我们发现复平面上可分为两个区域,一个区域便落在其中的点向0吸引与逼近,而另一个区域便落在其中的点∞逃逸,它们分界线便是1)(0=z F 的单位圆,就是Julia 集.(三)混沌①C z z f +=2)(,0≠C 时,其吸引子不再是0,而是一个区域被吸进去的点会遍整个区域,我们称这个区域为混沌区. 同时,分界线不再是1|)(|0=z F 的单位圆,它是一个不规则不光滑的分界线,就像一个孤岛的海岸线一样.②《三五历经》中说:“天地混沌如鸡子,盘古生其中,万人千岁,天地开辟,阳清为天,阴浊为地,盘古在其中,一日九变;神于天,圣于地. 天月高一丈,地日厚一丈,盘古月长一丈,如此万人千岁,天数极高,地数极深,盘古极长.”③宇宙起源的问题.(四)分形不使系统发散的那么初态的集合组成“内集”,其他的“初态”组成“外集”,内集与外集的边界叫做Julia 集.问题6:运用多媒体展示:i z z f 12.0765.0)(2+-=(一个完全不连通)i z z f +=2)((连通) 特点:处处不光滑,自相似性、精细结构②Mandelbrot 集我们看到,当C 在复平面变化时它的Julia 集也在复平面内变化,而且这些集合可以分成连通与不连通两类. 如果参数C 所对应的Julia 集是连通的,我们就将这个C 染成黑色,否则染上白色,这样得到的黑色集就叫做以参数C 为元素的Mandelbrot 集.问题7:运用多媒体展示Mandelbrot 集,可以看出它有非常复杂的结构,这一结构的明显特征是一个主要心形图与一系列圆盘形的“芽苞”连接在一起,并且,每一个芽苞又被一细节更细小的“芽苞”所环绕,以至无穷. 同时,这些精细的芽苞分支都带有与整体曼德布罗特集相似的微型拷贝.(五)试题研究问题8:将一个单位正三角形一分为四,且挖去中间一个小正三角形,然后再上面三个小三角形中重复上面的步骤. 设初始三角形的面积为1. C n 、S n 分别表示第n 次操作各图形的周长和面积.①求C n 、S n 的表达式.②n 趋于无穷时,C n 、S n 趋于什么?问题9:记P 0表示面积为1的等边三角形,P k+1是对P k 进行如下操作得到:将P k 的每条边三等份,以每边中间部分的线段为边,向外作等边三角形,再将它中间部分的线段去掉,记S n 为曲线P n 所围成图形的面积.①求数列S n 的通项公式.②n n S ∞→lim 问题10:一种树形图为:第一层是一条与水平线垂直的线段长度为1,第二层与第一层线段的前端作两条与线段都成135°角的线段,长度为其一半,第三层按第二层的方法滚动,在第二层线段前端生成两条线段,重复前面的作法,作图到第n 层,称水平线到第n 层最高点的距离为到树形图的第n 层高度,试求:①树形图的第三层及第四层总高度②树形图的第n 层总高度h n③n n h ∞→lim问题11:⎪⎩⎪⎨⎧-+)1(221)(x x x f 121210≤<≤≤x x 定义 *∈=N n x f f f x f n ))(()(①求)152(2007f ②]}1,0[,)(|{15∈==x x x f x B求证:B 中至少含有9个元素问题12:如右图是某计算机的程序框图.(I)求打印出来的x 的值;(II)求打印出来的z 的值;(III)若将程序框图中的语句(9)“n=2007?”改为“94≥z ?”,则张三同学说这是死循环(即一直无限算下去而没有结果),而李四说不会是死循环,你认为哪个同学说的正确?并说出你的理由.问题13:用牛顿迭代法求根.17世纪,牛顿创立了一种依靠简单计算求解方程根的方法.假设你知道某一方程0)(=x f 的近似解为0x ,此0x 接近于你还不知道的真正解x ,从而可以计算出相应的0)(=x f 及其导数0)(0=x f 的值. 由于0x 接近于x ,所以导数)(0x f '可近似写成00)()(x x x f x f --. 又因为0)(=x f 所以此导数为:000)()(x x x f x f --='] 于是有 )()(000x f x f x x '-=-则修正一次后的近似解为)()(001x f x f x x '-= 重复这个过程得到序列数n x ,它会从极快的速度收敛于此方程的真正解.请你用上述方法 81)(3-=x x f 6.00=x 时①求2x ,3x ,4x . ②100001|21|<-n x 时,n 的范围. 问题14:用多媒体展示基于牛顿迭代法的01=-n z 迭代图形.问题15:(角谷猜想) 任给一个自然数,若它是偶数则将它除以2;若它是奇数,则将它乘3再加1,反复这样运算,经有限步之后其结果必为1. 问题16:分形几何上物理学是怎样?六、课例设计反思:1.数学≠数学题. 数学教育,我想不仅要让学生认识到数学是一门科学,数学是工具,数学是技术,而且应当让他们认识到:作为人类精神、智慧与理性的最高代表之一,数学不仅是文化的重要组成部分,还在文化发展中占据着举足轻重的地位,数学是美的,数学是有意思的.2.Shirley(1986)提出,数学分为形式和非形式,应用和纯粹的,我们平常看到多数中小学讲授的数学知识是形式纯数学,这对学生形成完善的数学的文化观有缺陷,新课标模块设计也充分考虑到这一缺陷,本课例对非形式化教学,研究性学习作些探讨.。
分形与迭代

实验三迭代与分形一、实验目的与要求1.了解分形几何的基本情况;2.了解通过迭代方式产生分形图的方法;3.了解matlab软件中简单的程序结构;4.掌握matlab软件中plot, fill等函数的基本用法;二、问题描述1.对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。
编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。
2.自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。
三、问题分析1.第一题要求我们利用一个等边三角形然后在三角形的基础上利用理论课上的Koch曲线的画法,产生一朵Koch雪花,由于Koch雪花的产生相当于将三条等长的直线分别产生的Koch曲线按照等边三角形的坐标形式组合起来然后在同一个坐标系中表示出来,这就形成了Koch雪花图案。
四、背景知识介绍1.什么是迭代迭代法是常用的一种数学方法,就是将一种规则反复作用在某个对象上,它可以产生非常复杂的行为。
我们这里介绍图形迭代和函数迭代两种方式。
(1)图形迭代。
给定初始图形F0,以及一个替换规则R,将R反复作用在初始图形F0上,产生一个图形序列:R(F0)=F1,R(F1)=F2,R(F2)=F3,…(2)函数迭代。
给定初始值x0,以及一个函数f(x),将f(x)反复作用在初始值x0上,产生一个数列:f(x)=x1,f(x1)=x2,f(x2)=x3,…2.p lot函数介绍plot是最重要最基本的二维曲线绘图指令,基本功能是画折线和曲线。
基本调用格式如下:(1)plot(Y,LineSpec)。
其中,Y一般是数组;而LineSpec是用来指定线型、色彩等的选项字符串,可省略。
本功能是以数组Y作为竖坐标,以数组元素的下标为横坐标,画出一条折线。
当数组元素很多时,就出现连续曲线的效果。
(2) plot(X,Y)。
其中,X、Y一般是相同长度的数组。
分形、混沌与迭代

试验十二 分形、混沌——迭代一、试验目的:1、Koch 曲线、Sierpinski 三角形、Cantor 集的计算机实现2、掌握用迭代、递归生成分形3、用Matlab 观察分岔与混沌现象二、分形相关程序:1、从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的两边代替,形成山丘形图形如下在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的两条边代替,再次形成新的图形如此迭代,形成Koch 分形曲线。
算法分析:考虑由直线段(2个点)产生第一个图形(5个点)的过程。
图1中,设1P 和5P 分别为原始直线段的两个端点,现需要在直线段的中间依次插入三个点2P ,3P ,4P 。
显然2P 位于线段三分之一处,4P 位于线段三分之二处,3P 点的位置可看成是由4P 点以2P 点为轴心,逆时针旋转600而得。
旋转由正交矩阵 ⎪⎪⎪⎪⎭⎫ ⎝⎛-=)3cos()3sin()3sin()3cos(ππππA 实现。
算法根据初始数据(1P 和5P 点的坐标),产生图1中5个结点的坐标。
结点的坐标数组形成一个25⨯矩阵,矩阵的第一行为1P 的坐标,第二行为2P 的坐标……,第五行为5P 的坐标。
矩阵的第一列元素分别为5个结点的x 坐标,第二列元素分别为5个结点的y 坐标。
进一步考虑Koch 曲线形成过程中结点数目的变化规律。
设第k 次迭代产生的结点数为k n ,第1+k 次迭代产生的结点数为1+k n ,则k n 和1+k n 中间的递推关系为341-=+k k n n 。
实验程序及注释:p=[0 0;10 0]; %P 为初始两个点的坐标,第一列为x 坐标,第二列为y 坐标 n=2; %n 为结点数A=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)]; %旋转矩阵for k=1:4d=diff(p)/3; %diff 计算相邻两个点的坐标之差,得到相邻两点确定的向量%则d 就计算出每个向量长度的三分之一,与题中将线段三等分对应m=4*n-3; %迭代公式q=p(1:n-1,:); %以原点为起点,前n-1个点的坐标为终点形成向量p(5:4:m,:)=p(2:n,:); %迭代后处于4k+1位置上的点的坐标为迭代前的相应坐标p(2:4:m,:)=q+d; %用向量方法计算迭代后处于4k+2位置上的点的坐标p(3:4:m,:)=q+d+d*A'; %用向量方法计算迭代后处于4k+3位置上的点的坐标p(4:4:m,:)=q+2*d; %用向量方法计算迭代后处于4k 位置上的点的坐标 n=m; %迭代后新的结点数目endplot(p(:,1),p(:,2)) %绘出每相邻两个点的连线axis([0 10 0 10])实验数据记录:由上面的程序,可得到如下的Koch 分形曲线:2、由四边形的四个初始点出发,对于四边形的每条边,生成元如下:可得到火焰般的图形。
几何画板迭代详解之:迭代与分形几何
几何画板迭代详解之:迭代与分形几何佛山市南海区石门中学谢辅炬分形的特点是,整体与部分之间存在某种自相似性,整体具有多种层次结构。
分形图片具有无可争议的美学感召力,特别是对于从事分形研究的科学家来说。
欣赏分形之美当然也要求具有一定的科学文化知识,但相对而言,分形美是通俗易懂的。
分形就在我们身边,我们身体中的血液循环管道系统、肺脏气管分岔过程、大脑皮层、消化道小肠绒毛等等都是分形,参天大树、连绵的山脉、奔涌的河水、漂浮的云朵等等,也都是分形。
人们对这些东西太熟悉了,当然熟悉不等于真正理解。
分形的确贴近人们的生活,因而由分形而来的分形艺术也并不遥远,普通人也能体验分形之美。
因为分形几何的迭代的原像一般不止一个,而且均为多映射迭代,为了叙述的方便,我们先作以下两个约定。
1.用(A,B,C)表示有顺序的两点A、B和C。
2.(A,B,C)(D,E,F,),(G,H,I)⇒表示A映射到D,B映射到D,C映射到F,然后添加映射A映射到G,B映射到H,C映射到I,如此类推。
【Sierpinski三角形】波兰著名数学家谢尔宾斯基在1915-1916年期间,为实变函数理论构造了几个典型的例子,这些怪物常称作“谢氏地毯”、“谢氏三角”、“谢氏海绵”、“谢氏墓垛”。
如今,几乎任何一本讲分形的书都要提到这些例子。
它们不但有趣,而且有助于形象地理解分形。
著名的Sierpinski三角形,它是很有代表性的线性分形,具有严格的自相似特点。
不断连接等边三角形的中点,挖去中间新的小三角形进行分割---随着分割不断进行Sierpinski三角形总面积趋于零,总长度趋于无穷。
Sierpinski 三角形在力学上也有实用价值,Sierpinski三角形结构节省材料,强度高,例如埃菲尔铁塔的结构与它就很相似。
【步骤】1.在平面上任意画一个三角形ABC,取三边中点为D、E、F,连接DEF。
2.新建参数n=33.顺次选择B,C,A三点和参数n,作深度迭代,(B,C,A)(D,F,A)⇒。
形的迷宫认识迭代形和分形
形的迷宫认识迭代形和分形形的迷宫:认识迭代形和分形形的迷宫是一种令人着迷的艺术形式,它展现了数学中的迭代过程和分形结构。
通过反复应用简单的规则,我们可以创造出复杂、精美的图案,这些图案具有自相似性和无穷细节的特点。
本文将介绍迭代形和分形,带您一起探索形的迷宫的奇妙世界。
一、迭代形的基本概念迭代形是指通过重复应用一组规则,以递归的方式生成的图形。
简单来说,就是将某个图形的一部分不断地按照固定的方法复制或变形,直到最终构成一个完整的图形。
这种迭代的过程可以无限进行下去,使图形变得更加复杂。
例如,考虑一个最基本的迭代形——科赫曲线。
它起初是一条长度为L的线段,然后在中间插入一个相等长度的线段并将其旋转90度,将原来的一条线段变为两条线段。
接着,对每一条线段都重复相同的操作,不断重复,直到达到一定的迭代次数。
随着迭代次数的增加,科赫曲线的长度也会变得越来越长,形状也越来越复杂。
二、分形的本质特征分形是指具有自相似性的图形,即图形的一部分与整体看起来非常相似。
一个分形结构可以在不同的尺度上反复出现,无论是放大或缩小,都可以看到相似的形状和细节。
这种无限的自相似性使得分形具有丰富的细节和复杂性。
迭代形就是分形的一种典型表现。
通过重复应用规则,不断生成新的形状,并在不同的尺度上反复出现,使得整个图案充满了细节,并且在各个层次上都具有相似的特征。
三、分形艺术的应用分形艺术是一种利用计算机生成分形图形的艺术形式。
艺术家通过编写程序,根据自己的审美意识和规则来生成各种各样的分形图案。
这种艺术形式不仅可以创造出美丽的图像,还可以用来表达深刻的数学概念和哲学思考。
分形艺术广泛应用于视觉效果的设计、艺术创作、科学研究等领域。
在视觉效果的设计中,分形艺术可以带给观众无穷的视觉享受,独特的形状和细节让人沉迷其中。
在艺术创作中,艺术家可以通过分形艺术表达自己对自然界、人类社会、宇宙等的思考和感受。
在科学研究中,分形艺术可以帮助人们更好地理解和分析复杂的自然现象,如天气、肺部结构等。
Matlab实验报告:分形迭代
数学实验报告:分形迭代练习11.实验目的:绘制分形图案并分析其特点。
2.实验内容:绘制Koch曲线、Sierpinski三角形和树木花草图形,观察这些图形的局部和原来分形图形的关系。
3.实验思路:利用函数反复调用自己来模拟分形构造时的迭代过程,当迭代指标n为0时运行作图操作,否则继续迭代。
4.实验步骤:(1)Koch曲线function koch(p,q,n) % p、q分别为koch曲线的始末复坐标,n为迭代次数if (n==0)plot([real(p);real(q)],[imag(p);imag(q)]);hold on;axis equalelsea=(2*p+q)/3; % 求出从p 到q 的1/3 处端点ab=(p+2*q)/3; % 求出从p 到q 的2/3 处端点bc=a+(b-a)*exp(pi*i/3);%koch(p, a, n-1); % 对pa 线段做下一回合koch(a, c, n-1); % 对ac 线段做下一回合koch(c, b, n-1); % 对cb 线段做下一回合koch(b, q, n-1); % 对bq 线段做下一回合end(2)Sierpinski三角形function sierpinski(a,b,c,n) % a、b、c为三角形顶点,n为迭代次数if (n==0)fill([real(a) real(b) real(c)],[imag(a) imag(b) imag(c)],'b');% 填充三角形abchold on;axis equalelsea1=(b+c)/2;b1=(a+c)/2;c1=(a+b)/2;sierpinski(a,b1,c1,n-1);sierpinski(a1,b,c1,n-1);sierpinski(a1,b1,c,n-1);end(3)树木花草function grasstree(p,q,n) % p、q分别为树木花草始末复坐标,n为迭代次数plot([real(p);real(q)],[imag(p);imag(q)]);hold on;axis equalif(n>0)a=(2*p+q)/3;b=(p+2*q)/3;c=a+(b-a)*exp(pi*i/6);%d=b+(q-b)*exp(-pi*i/6);%grasstree(a,c,n-1);grasstree(b,d,n-1);endend5.主要输出:指令:koch(0,1,5); soerpinski(0,1,exp(pi*i/3),5); grasstree(0,i,5);Koch曲线Sierpinski三角形树木花草6.实验结论:以上图案的局部形状与原本图形用某种自相似性,这正是分形的特点。
迭代——分形
这类图形的构造方式都有一个共同的特点,即最终 图形F都是按照一定的规则R通过对初始图形F0不断修 改得到的。其中最具有代表性的图形是Koch曲线。
7/48
1. Koch曲线
Koch曲线的构造方式是:
给定一条直线段F0,将该直线三等分,并将中间的 一段用以该线段为边的等边三角形的另外两条边替代, 得到图形F1
22/48
5. Weierstrass函数
W ( x)
k 1
( s 2 ) k
sin( x )
k
λ > 1, 1 < s < 2
0.6 0.3 0.2 0.1 -1 -0.5 -0.1 -0.2 -0.3 -0.6 0.5 1 -1 -0.5 -0.2 -0.4 -1 0.4 0.2 0.5 1
0.5
1
-1
-0.5 -0.5
1 -1 -0.5 -2 0.5 1 -0.5
0.5 -5 -10 -15
1
-4
23/48
代码如下:
lambda = 3; nmax = 30; s = 1.0; Plot[Sum[lambda^((s - 2)*k)*Sin[lambda^k*x], {k, 1, nmax}], {x, -1, 1}];
可以毫不夸张地说,“分形是大自然的几何学”, “分形处处可见”。
本讲的目的是以迭代的观点介绍分形的基本特性以 及生成分形图形的基本方法,使读者在欣赏美丽的分 形图案的同时对分形几何这门学科有一个直观的了解, 并从哲理的高度理解这门学科诞生的必然,激发读者 探寻科学真理的兴趣。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三迭代与分形
一、实验目的与要求
1.了解分形几何的基本情况;
2.了解通过迭代方式产生分形图的方法;
3.了解matlab软件中简单的程序结构;
4.掌握matlab软件中plot, fill等函数的基本用法;
二、问题描述
1.对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。
编制程序绘制出它的图形,并计算Koch
雪花的面积,以及它的分形维数。
2.自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。
三、问题分析
1.第一题要求我们利用一个等边三角形然后在三角形的基础上利用
理论课上的Koch曲线的画法,产生一朵Koch雪花,由于Koch
雪花的产生相当于将三条等长的直线分别产生的Koch曲线按照
等边三角形的坐标形式组合起来然后在同一个坐标系中表示出来,
这就形成了Koch雪花图案。
四、背景知识介绍
1.什么是迭代
迭代法是常用的一种数学方法,就是将一种规则反复作用在某个对象上,它可以产生非常复杂的行为。
我们这里介绍图形迭代和函数迭代两种方式。
(1)图形迭代。
给定初始图形F0,以及一个替换规则R,将R反复作用在初始图形F0上,产生一个图形序列:
R(F0)=F1,R(F1)=F2,R(F2)=F3,…
(2)函数迭代。
给定初始值x0,以及一个函数f(x),将f(x)反复作用在初始值x0上,产生一个数列:
f(x
)=x1,f(x1)=x2,f(x2)=x3,…
2.p lot函数介绍
plot是最重要最基本的二维曲线绘图指令,基本功能是画折线和曲线。
基本调用格式如下:
(1)plot(Y,LineSpec)。
其中,Y一般是数组;而LineSpec是用来指定线型、色彩等的选项字符串,可省略。
本功能是以数组Y作为竖坐标,以数组元素的下标为横坐标,画出一条折线。
当数组元素很多时,就出现连续曲线的效果。
(2) plot(X,Y)。
其中,X、Y一般是相同长度的数组。
本功能是以数组Y作为
竖坐标,以数组X 为横坐标,画出一条折线。
当数组元素很多时,就出现连续曲线的效果。
五、实验过程
迭代次数k 线段数目k a 每一段的长k l 面积k S
0 3 10 2/1*60sin *10*10
1 3x4 13/10 2/60sin *)3/10(4*32100 +S
2 24*
3 23/10 2/60sin *)3/10(*4*32211
+S •
••
k k 4*3 k 3/10 60sin *)(*211k k k l a S --+ 所以4/)9/4(*3751k k k
S S +=- 所以k=0时,325=k S ;k>0时,
])94(1[*315325k k S -+= 有一条直线的koch 曲线可知,我们可以分别对等边三角形的每一条边进行koch 迭代,然后再把每一次迭代的结果进行重叠,就可以得到等边三角形的koch 迭代结果。
对于每一次迭代后所得的图形的面积计算,我们可以分析其中的规律,分析过程
迭代次数k 线段数目k a 每一段的长k l 面积k S
0 3 10 2/1*60sin *10*10
1 3x4 13/10 2/60sin *)3/10(4*32100 +S
2 24*
3 23/10 2/60sin *)3/10(*4*32211
+S •
••
k k 4*3 k 3/10 60sin *)(*211k k k l a S --+
所以
4/)9/4(*3751k k k S S +=- 所以k=0时,325=k
S ;k>0时,])94(1[*315325k k S -+=
程序代码如下:
function plotkochsnow(k)
for a=0:2
if a==0; p=[0 0;10 0]; %存放等边三角形底边直线的坐标,初始值为底边的坐标
elseif a==1; p=[10 0;5 5*3.^1/2] ; %存放等边三角形右腰的坐标,初始值为底边的坐标 µãµÄ×ø±ê
else a==2; p=[5 5*3.^1/2;0 0]; %存放等边三角形左腰的坐标,初始值为底边的坐标 end
n=1; %存放线段的数量,初始值为1 A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)]; %用于计算新的结点
for s=1:k %实现迭代过程,计算所有的结点的坐标
j=0; % 结点的编号,不能取为1
%以下根据线段两个结点的坐标,计算迭代后它们之间增加的三个
%结点的坐标,并且将这些点的坐标按次序存暂时放到r 中
for i=1:n %每条边计算一次
q1=p(i,:); %目前线段的起点坐标
q2=p(i+1,:); %目前线段的终点坐标
d=(q2-q1)/3; %迭代后每条边的长度
j=j+1;r(j,:)=q1; %原起点存入r
j=j+1;r(j,:)=q1+d; %新1点存入r
j=j+1;r(j,:)=q1+d+d*A; %新2点存入r
j=j+1;r(j,:)=q1+2*d; %新3点存入r
end %原终点作为下条线段的起点,在迭代下条线段时存入r
n=4*n; %全部线段迭代一次后,线段数量乘4
clear p %清空p ,注意:最后一个终点q2不在r 中
p=[r;q2]; %重新装载本次迭代后的全部结点
clear r
end
hold on ;
plot(p(:,1),p(:,2)) %在直角坐标系中分别显示出三条koch 曲线,并在同一直角坐标系中表示出来
axis equal %各坐标同比例,使坐标的长度单位设成相等
end
if k==0;S=25*sqrt(3),%求面积
else S=sqrt(3)*25+15*sqrt(3)*[1-(4/9)^k];
S
end
运行结果图K=1:
K=2:
K=3:
:
练习2.自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。
1.利用老师在课堂上所讲的谢尔宾斯基(Sierpinski)地毯的主体程序加以改造形成一个红黄相间小正方形的新的地毯图案。
程序源代码:
function plotSierpinski(x,y,d,n);
% x 为正方形的顶点的横坐标,可取0 (一个顶点代表一个小正方形)% y 为正方形的顶点的纵坐标,可取0
% d 为初始正方形边长,可取1
% n为迭代次数,可取4
for p=1:n %实现迭代过程,计算所有的顶点坐标
a1=[]; %保存迭代后所有顶点的x坐标
b1=[]; %保存迭代后所有顶点的y坐标
c1=[];
d1=[];
%根据小正方形的顶点坐标,
%计算迭代后形成的8个新的小正方形的顶点坐标
for q=1:length(x) %每个小正方形计算一次
x1=x(q)+[0,d/3,2*d/3,0,2*d/3,0,d/3,2*d/3]; %新的x坐标 y1=y(q)+[0,0,0,d/3,d/3,2*d/3,2*d/3,2*d/3]; %新的y坐标x2=x(q)+[d/3,0,2*d/3,d/3];
y2=y(q)+[0,d/3,d/3,2*d/3];
a1=[a1,x1]; %所有顶点x坐标存入a1
b1=[b1,y1]; %所有顶点y坐标存入b1
c1=[c1,x2];
d1=[d1,y2];
end
d=d/3; %迭代一次,边长缩小
x=a1; %全部的x坐标重新放入x
y=b1; %全部的y坐标重新放入y
k=c1;
h=d1;
end
figure
hold on %在同一个图形窗口显示
for q=1:length(x) %用蓝色注满多边形区域
fill(x(q)+[0,d,d,0,0],y(q)+[0,0,d,d,0],'b')
fill(k(q)+[0,d,d,0,0],y(q)+h[0,0,d,d,0],'b')
end
hold off
axis off %不要坐标轴
axis equal %各坐标轴同比例
%不显示这些正方形的边界
set(findobj(gcf,'type','patch'),'edgecolor','none')
效果图:
六、实验总结
由于之前已经学过一条直线段进行koch迭代的方法,所以在画雪花图的时候,我将koch迭代方法用于每一段直线上就能够得到雪花的效果图了,在对每一段直线进行迭代需要我们事先确定每条至在坐标系中的初始位置和每次运算满足的关系式,这样就能画出迭代的雪花了。
第二个练习是我花了很多时间去想的,但是效果还不是十分好,因为当迭代次数增加后我的这个运算就不能达到很好的效果了,但是还是比较美观的,我实在老师给的练习题上进行改动的。