迭代与分形.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
迭代与分形.doc

《数学实验》报告 学 院: 电子与信息学院 专业班级: 信息工程2班 学 号: 201130301153 姓 名: 黄 锌 实验名称: 迭代与分形 实验日期: 实验三 迭代与分形 实验目的与要求 了解分形几何的基本情况; 了解通过迭代方式产生分形图的方法; 了解matlab软件中简单的程序结构; 掌握matlab软件中plot, fill等函数的基本用法; 实验任务 对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。 设计过程 任务1:对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 分析:要想实现该效果,必定要用到迭代。首先可以知道等边三角形本质上就是连在一起的三条等长线段,将对一条线段的动作循环执行3次即可。而对于每一条线段这就是一条Koch. (1)代码程序如下: function xuehua(k) for j=0:2 if j==0; p=[0,0;10,0]; elseif j==1; p=[5,-5*sqrt(3);0,0]; else j==2; p=[10,0;5,-5*sqrt(3)]; end n=1; 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]; clear r end plot(p(:,1),p(:,2)) hold on; axis equal end (2)运行结果如下: 当k=0时, 当k=1时, 当k=2时, 当k=3时, 当k=4时, 当k=5时, (3) Koch雪花的面积 设三角形的边长为a 当k=0时, S= 当k=1时, S=+3 当k=2时, S=+3+12 当k=3时, S=+3+12+48 当k=4时, S=+3+12+48+192 ………. 当k=m时, S=+3+12+48+192+….+3 = = ) = 根据上述推导可以确定: (4) Koch雪花分形维数。 相似形个数:m=12, 边长放大倍数:c=3, 任务2:对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 代码程序如下: function xuehua1(k) for j=0:15 if j==0; p=[0,0;10,0]; elseif j==1; p=[0,-10;0,0]; elseif j==2; p=[10,0;10,-10]; elseif j==3; p=[10,-10;0,-10]; elseif j==4; p=[0,-5;5,0]; elseif j==5; p=[5,0;10,-5] elseif j==6; p=[10,-5;5,-10]; elseif j==7; p=[5,-10;0,-5] elseif j==8; p=

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档