您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 华工电信数学实验3-迭代与分形
1《数学实验》报告学院:电子与信息学院专业班级:学号:姓名:实验名称:实验三迭代与分形实验日期:2一、实验目的与要求1.了解分形几何的基本情况;2.了解通过迭代方式产生分形图的方法;3.了解matlab软件中简单的程序结构;4.掌握matlab软件中plot,fill等函数的基本用法;二、练习1.对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。1)问题分析:对等边三角形每条边按照Koch曲线的方式进行迭代,则对于每条边的长度,初始为1,迭代一次后共有4段,每段长:13,增加的长:13,总长:43;以后每次迭代,总长度增加13,即总长度是原来的43倍;故经过n次迭代后,总长:(43)n。则对于三角形来说,迭代后总长3*(43)n.边长为1的等边的三角形的面积为43,迭代一次后多出来的每个小三角形面积为9143,由于多增加了3个小三角形,故整个大三角形面积为(1+)×43。则经过n次迭代后可知,三角形的面积变为()×43。迭代次数三角形周长三角形面积034313××4323××43………n3××43由上图可知经过n次迭代后,三角形的周长和面积都将趋于无穷。32)代码functionmyplotkoch(k)%显示迭代K次后的Koach曲线图p=[0,0;0.5,0.5*sqrt(3);1,0];%存放节点坐标,每行一个点,初始值为两节点的坐标n=3;%存放线段的数量,初始值为3A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)];%用于计算新的节点fors=1:k%实现迭代过程,计算所有节点的坐标j=1;fori=1:n%每条边计算一次q1=p(i,:);ifi==n;%若计算到最后一个节点,则将其返回第一个点q2=p(1,:);elseq2=p(i+1,:);endd=(q2-q1)/3;r(j,:)=q1;j=j+1;%原起点存入rr(j,:)=q1+d;j=j+1;%新1点存入rr(j,:)=q1+d+d*A';j=j+1;%新2点存入rr(j,:)=q1+2*d;j=j+1;%ÐÂ3µã´æÈërend%原重点作为下条线段的起点,在迭代下条线段时存入rn=4*n;%全部线段迭代一次后,线段数量乘以4clearpp=[r;q2];%重新装载本次迭代后的全部节点endfigureplot(p(:,1),p(:,2))%显示各节点的连线图axisequal%各坐标同轴比例实验结果如下:4迭代一次后的图形迭代5次后的图形:53)实验总结:在进行本次实验时,开始是尝试能不能简单的分三次拼接由线段组成的Koch图形,在多次失败之后,失败原因也许是还没有完全理解各分量的关系,于是我又重新看了一遍老师的PPT,认真研究了一条线段时的代码,发现如果要形成等边三角形的Koch图形,只需要在原来线段代码的基础上,将原坐标点设置成三个点,迭代时将最后一个点设置为原点形成封闭的图形即可。运用这种思想形成的代码,经过调试,果然成功。通过本次的实验,我更了解了几合分形图以及用matlab软件产生几合分形图的方法、程序结构。总的来说,通过本次实验,学习到了matlab软件的一种新的用法,对自己的数学实验能力又提升了不少。
本文标题:华工电信数学实验3-迭代与分形
链接地址:https://www.777doc.com/doc-4984018 .html