当前位置:文档之家› 迭代与分形

迭代与分形

实验名称:迭代与分形
专业:信息工程
班级:09级四班
姓名:
序号:29,38
提交日期:2011年4月29日
一、实验目的与要求
1.认识Fibonacci数列,体验发现其通项公式的过程;
2.了解matlab软件中进行数据显示与数据拟合的方式;
3.掌握matlab软件中plot, polyfit等函数的基本用法;
4.提高对数据进行分析与处理的能力。

二、问题描述
几何学研究的对象是客观世界中物体的形状。

传统欧氏几何学的研究对象,都是规则并且光滑的,比如:直线、曲线、曲面等。

但客观世界中物体的形状,并不完全具有规则光滑等性质,因此只能近似当作欧氏几何的对象,比如:将凹凸不平的地球表面近似为椭球面。

虽然多数情况下通过这样的近似处理后,能够得到符合实际情况的结果,但是对于极不规则的形态,比如:云朵、烟雾、树木等,传统的几何学就无能为力了。

如何描述这些复杂的自然形态?如何分析其内在的机理?这些就是分形几何学所面对和解决的问题。

三、问题解决
(1)对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。

编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。

(2)自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。

1、程序如下:
function plottrkoch(a,k)%函数,a为迭代0次的三角形的边长,k为迭代
次数
p=[0 0;a 0;a/2 a/2*sqrt(3);0 0];
n=3;
A=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)];
for s=1:k
j=0;
for i=1:n
q1=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;
end
n=4*n;
clear p
p=[r;q2];
end
mianji=sqrt(3)*(1+3*(1-(4/9)^k)/5)/4*a^2%计算迭代k次后的面积大小weishuD=log(4)/log(3)%计算维数
plot(p(:,1),p(:,2))
axis equal
当k=1时
当k=3时
当k=5时
因为是Koch曲线,所以维数d=ln4÷ln3=1.2619
计算面积:
假设最初的正三角形边长为1,则其周长为,面积为。

在生成六角形时,新生成三角形的边长为原边长的,新生成的三角形面积为原三角形面积的,因为共生成了三个新三角形
故总周长,总面积
同理,
依次进行下去,

2、程序如下:
function plottrkoch(k)
p=[0 0;10 0;5 5*sqrt(3);0 0];
n=3;。

相关主题