数学实验报告学院:班级:学号:姓名:完成日期:实验二分形(一)练习题1一.实验目的1.了解分形几何的基本情况;2.了解通过迭代方式,产生分形图的方法;3.了解matlab软件中简单的程序结构。二.问题描述对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。三.实验过程仿照Koch曲线代码对三角形的每条边进行Koch曲线化,建立函数“snow”的输入参数有三角形的边长R和迭代次数k,输出Koch雪花图形以及雪花所围面积S.源代码如下:functionsnow(R,k)p=[0;R/2+1i*R*sin(pi/3);R;0];S=0;n=3;A=exp(1i*pi/3);fors=1:kj=0;fori=1:nq1=p(i,:);q2=p(i+1,:);d=(q2-q1)/3;j=j+1;r(j,:)=q1;j=j+1;r(j,:)=q1+d;j=j+1;r(j,:)=q1+d+d*A;j=j+1;r(j,:)=q1+2*d;endn=4*n;clearpp=[r;q2];endfigureq(:,1)=real(p(:,1));q(:,2)=imag(p(:,1));plot(q(:,1),q(:,2))fill(q(:,1),q(:,2),'b')fori=0:kS=S+(3.^(0.5-i))*0.25*(R.^2);endSaxisequal按照以上程序,输入参数,有以下结果:snow(1,1)S=0.5774图形如下:snow(1,2)S=0.6255图形如下:snow(1,3)S=0.6415图形如下:snow(1,4)S=0.6468图形如下:snow(1,5)S=0.6486图形如下:四.总结分析和心得体会根据观察迭代的面积规律,即可推得面积递推公式:,其中即:面积公式,也就等于分形维数,根据迭代的规律得到:相似形个数:m=4边长放大倍数c=3,维数d=lnm/lnc=ln6/ln3=1.631(二)练习题2一.实验目的1.了解分形几何的基本情况;2.了解通过迭代方式,产生分形图的方法;3.了解matlab软件中简单的程序结构。二.问题描述对一条竖线段,在其三分之一分点处,向左上方向画一条线段,在其三分之二点处,向右上方向画一条线段,线段长度都是原来的三分之一,夹角都为30度,迭代一次后变成图3-22.继续迭代得到分形图,可模拟树木花草,编制程序绘制出它的图形。三.实验过程代码如下:functiontree(z1,z2,N,n)ifnNreturnendifn==1d=(z2-z1)/3;q1=z1+d+d*exp(1i*pi/6);q2=z1+2*d+d*exp(-1i*pi/6);plot([z1+d,q1])holdonaxisequalplot([z1+2*d,q2])plot([z1,z2])tree(z1,z2,N,n+1)elsed=(z2-z1)/3;q1=z1+d+d*exp(1i*pi/6);q2=z1+2*d+d*exp(-1i*pi/6);plot([z1+d,q1])plot([z1+2*d,q2])tree(z1+d,q1,N,n+1);tree(z1+d,z1+2*d,N,n+1);tree(z1+2*d,q2,N,n+1);tree(z1+2*d,z2,N,n+1);end其中N为迭代次数,n的初始值为1,输入以下代码:tree(0,10i,2,1)图形如下:tree(0,10i,3,1)图形如下:tree(0,10i,4,1)图形如下:tree(0,10i,5,1)图形如下:tree(0,10i,6,1)图形如下:四.总结分析和心得体会通过本次的实验,我更了解了几合分形图以及用matlab软件产生几合分形图的方法、程序结构。总的来说,通过本次实验,学习到了matlab软件的一种新的用法,对自己的数学实验能力又提升了不少。体验了通过图形迭代方式产生分形图的过程,迭代的规则非常简单,产生的结果却异常奇妙,并且这些图形很好地反映出了分形所具有的自相似的层次结构。