- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华工数学实验实验三迭代与分形
PAGE 12
《数学实验》报告
华工数学实验实验三迭代与分形
实验三 迭代与分形
实验目的与要求
了解分形几何的基本情况;
了解通过迭代方式产生分形图的方法;
了解matlab软件中简单的程序结构;
掌握matlab软件中plot, fill等函数的基本用法;
实验内容
对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。
自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。
实验过程
1.问题分析
Koch曲线是通过图形迭代的方式产生的,其迭代规则是:对一条线段,首先将它分成三等份,然后将中间的一份替换成以此为底边的等边三角形的另外两条边。无限次迭代下去,最终形成的曲线就是Koch曲线。在本次实验当中,以等边三角形为基本单元进行迭代,从而形成Koch曲线。
在这个实验中,可借助一条线段迭代的代码进行修改,让它对一个等边三角形的每条边都按照Koch曲线的方式进行迭代,产生的分形图就为Koch雪花。编制程序绘制出它的图形时,我们要先规定等边三角形的三个顶点的坐标分别为(0,0)、(20,0)、(10,20*sin(pi/3)). 绘制出它的图形后计算Koch雪花的面积,以及它的分形维数。
2.编程实现
Koch雪花图形编制程序的具体代码如下,程序截图如图1所示
function plotkoch (k) % 显示迭代k次后的Koch曲线图
p=[0,0; 10,20*sin(pi/3); 20,0;0,0]; % 存放等边三角形3个结点坐标初始值
n=3; % 存放线段的数量,初始值为3
A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)]; % 用于计算新的结点
for s=1:k % 实现迭代过程,计算所有的结点的坐标
j=0;
% 以下根据线段两个结点的坐标,计算迭代后它们之间增加的三个
% 结点的坐标,并且将这些点的坐标按次序存暂时放到r中
for i=1:n % 每条边计算一次
q1=p (i,:); % 目前线段的起点坐标
q2=p (i+1,:); % 目前线段的终点坐标
d=(q2-q1)/3; %
j=j+1;r (j,:)=q1; % 原起点存入r
j=j+1;r (j,:)=q1+d; % 新1点存入r
j=j+1;r (j,:)=q1+d+d*A; % 新2点存入r
j=j+1;r (j,:)=q1+2*d; % 新3点存入r
end % 原终点作为下条线段的起点,在迭代下条线段时存入r
n=4*n; % 全部线段迭代一次后,线段数量乘4
clear p % 清空p ,注意:最后一个终点q2不在r中
p=[r;q2]; % 重新装载本次迭代后的全部结点
end
figure
plot (p (:,1),p (:,2)) % 显示各结点的连线图
title(Koch雪花) % 显示标题
axis equal % 各坐标轴同比例
xlabel(x),ylabel(y)
图1.程序截图
这个函数的调用方法是在命令窗口键入plotkoch (5)然后按回车键,结果显示如图2所示。我们也可以通过取不同n值观察对应的迭代图形,如图3-6所示。
图2迭代次数k=5的图形
不同k值对应的迭代图形:
K=1 K=3
K=5 K=7
3.面积计算
k=0时 S=
k=1时 S=+
k=2时 S=++
k=3时 S=++ +
k=n时 S=++ …++
每一次迭加,所产生的新三角形的边长变为上一次的,数量为上一次的4倍.
S=+*(3*+12*+……+3**)=+*
由上式可知,当k取无限大的时候,Koch雪花的曲线总面积趋于无穷大。
4.分形维数计算
由迭代规则可知:在Koch雪花中,相似形个数为12,边长放大倍数是3,所以m=12,c=3,则Koch雪花的分形维度为:d=ln(m)/ln(c)≈2.26。
第二部分:第二题
一.实验内容
自己构造生成元(
原创力文档


文档评论(0)