资源描述:
《华工数学实验-作业-迭代与分形》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数学实验》报告学院:电子与信息学院专业班级:通信工程4班学号:201130301443姓名:李腾辉实验名称:迭代与分形实验日期:2013.04.7第三次实验1.实验内容1.对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。2.实验过程方法一仿照Koch曲线代码对三角形的每条边进行Koch曲线化,函数的输入参数有三角形的边长R和迭代次数k,输出Koch雪花图形以及雪花所围面积S.KochSnow面积推导如下所示:迭代次数k面积S0:S=1:S=R2+(R)2*32:S=R2+(
2、R)2*3+(()2R)2*323:S=R2+(R)2*3+(()2R)2*32+(()3R)2*33``````N:S=R2+(R)2*3+(()2R)2*32+(()3R)2*33+…(()nR)2*3n如此相加下去,当Nà无穷时,S将为无穷大源代码如下:functionkochsnow(R,k)%R为正三角形边长,k为迭代次数p01=[0,0];p02=[R/2,sqrt(3)*R/2];p03=[R,0];%3个起始点S=0;%S为面积,开始设为0forline=0:2%依次对3条边进行Koch曲线运算ifline==0;p=[p01;p02];elseifline==1
3、;p=[p02;p03];elseline==2;p=[p03;p01];endn=1;%存放线段的数量,初始值为1A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)];%变换矩阵用于计算新的结点fors=1:kj=0;%j为行数fori=1:nq1=p(i,:);%目前线段的起点坐标q2=p(i+1,:);%目前线段的终点坐标d=(q2-q1)/3;j=j+1;r(j,:)=q1;%原起点存入rj=j+1;r(j,:)=q1+d;%新1点存入rj=j+1;r(j,:)=q1+d+d*A';%新2点存入rj=j+1;r(j,:)=q1+2*d;
4、%新3点存入rendn=4*n;%全部线段迭代一次后,线段数量乘4clearp%清空p,注意:最后一个终点q2不在r中p=[r;q2];%一条边的全部结点clearrendifline==0;%把第一条边的全部结点放在aa=p;elseifline==1;%把第二条边的全部结点放在bb=p;elseline==2;%把第三条边的全部结点放在cc=p;endendall=[a;b;c];%三条边全部结点放入allplot(all(:,1),all(:,2))%连接各个结点fill(all(:,1),all(:,2),'g')%填充所围区域fori=0:k%计算KochSnow的面积
5、S=S+(3^(0.5-i))*0.25*(R^2);endSaxisequalKoch雪花图形输入半径R=2K=0时是正三角形此时面积为1.7321K=1时是正六边形此时面积为2.3094K=2时的koch雪花此时面积为2.5019K=3时的Koch雪花此时面积为2.5660K=4时的Koch雪花此时面积为2.5874分形维数:根据迭代的规律得到:相似形个数:m=6边长放大倍数:c=3,1.631方法2只生成一次Koch曲线,然后对生成的Koch曲线进行旋转变换,旋转3次即可得到所需图形。代码略去。图形如下第二题1.实验内容自己构造生成元(要有创意),按照图形迭代的方式产生分形
6、图,用计算机编制程序绘制出它的图形,并计算其分形维数。2.实验过程在原来Koch曲线的基础上修改旋转矩阵,并对一个图形进行旋转,得到如下的一些图形图形1:飞镖代码如下functionmyPicture(k)%k取4的效果p=[00;100];%P为初始两个点的坐标,第一列为x坐标,第二列为y坐标n=2;%n为结点数A1=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)];A2=[cos(pi/4),-sin(pi/4);sin(pi/4),cos(pi/4)];A=[0-1;10];%旋转矩阵fori=1:kd=diff(p)/3;%diff计算
7、相邻两个点的坐标之差,得到相邻两点确定的向量%则d就计算出每个向量长度的三分之一,与题中将线段三等分对应m=5*n-4;%迭代公式q=p(1:n-1,:);%以原点为起点,前n-1个点的坐标为终点形成向量p(6:5:m,:)=p(2:n,:);%迭代后处于5k+1位置上的点的坐标为迭代前的相应坐标p(2:5:m,:)=q+d;%用向量方法计算迭代后处于5k+2位置上的点的坐标p(3:5:m,:)=q+d+1*d*A';%用向量方法计算迭代后处于5k+3位置上的点的坐标p(4:5: