数学实验报告学院:班级:学号:姓名:完成日期:
实验二分形(一)练习题 1一.实验目的1.了解分形几何的基本情况;2.了解通过迭代方式,产生分形图的方法;3.了解 matlab 软件中简单的程序结构
问题描述对一个等边三角形,每条边按照 Koch 曲线的方式进行迭代,产生的分形图称为 Koch 雪花
编制程序绘制出它的图形,并计算 Koch 雪花的面积,以及它的分形维数
三.实验过程仿照Koch曲线代码对三角形的每条边进行Koch曲线化,建立函数“snow”的输入参数有三角形的边长R和迭代次数k,输出Koch雪花图形以及雪花所围面积S
源代码如下:function snow(R,k)p=[0;R/2+1i*R*sin(pi/3);R;0];S=0;n=3;A=exp(1i*pi/3);for s=1:k
j=0;for i=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;clear pp=[r;q2];endfigureq(:,1)=real(p(:,1));q(:,2)=imag(p(:,1));plot(q(:,1),q(:,2))fill(q(:,1),q(:,2),'b')for i=0:kS=S+(3
5-i))*0
^2);end
Saxis equal按照以上程序,输入参数,有以下结果:>> 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,