分形与迭代.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分形与迭代

实验三 迭代与分形 实验目的与要求 了解分形几何的基本情况; 了解通过迭代方式产生分形图的方法; 了解matlab软件中简单的程序结构; 掌握matlab软件中plot, fill等函数的基本用法; 问题描述 对一个等边三角形,每条边按照Koch曲线的方式进行迭代,产生的分形图称为Koch雪花。编制程序绘制出它的图形,并计算Koch雪花的面积,以及它的分形维数。 自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制程序绘制出它的图形,并计算其分形维数。 问题分析 第一题要求我们利用一个等边三角形然后在三角形的基础上利用理论课上的Koch曲线的画法,产生一朵Koch雪花,由于Koch雪花的产生相当于将三条等长的直线分别产生的Koch曲线按照等边三角形的坐标形式组合起来然后在同一个坐标系中表示出来,这就形成了Koch雪花图案。 背景知识介绍 什么是迭代 迭代法是常用的一种数学方法,就是将一种规则反复作用在某个对象上,它可以产生非常复杂的行为。我们这里介绍图形迭代和函数迭代两种方式。 (1)图形迭代。给定初始图形F0,以及一个替换规则R,将R反复作用在初始图形F0上,产生一个图形序列: R(F0)=F1,R(F1)=F2,R(F2)=F3,… (2)函数迭代。给定初始值x0,以及一个函数f(x),将f(x)反复作用在初始值x0上,产生一个数列: f(x0)=x1,f(x1)=x2,f(x2)=x3,… plot函数介绍 plot是最重要最基本的二维曲线绘图指令,基本功能是画折线和曲线。基本调用格式如下: (1) plot(Y, LineSpec)。其中,Y一般是数组;而LineSpec是用来指定线型、色彩等的选项字符串,可省略。本功能是以数组Y作为竖坐标,以数组元素的下标为横坐标,画出一条折线。当数组元素很多时,就出现连续曲线的效果。 (2) plot(X,Y)。其中,X、Y一般是相同长度的数组。本功能是以数组Y作为竖坐标,以数组X为横坐标,画出一条折线。当数组元素很多时,就出现连续曲线的效果。 五、实验过程 迭代次数k 线段数目 每一段的长 面积 0 3 10 1 3x4 2 k 所以 所以k=0时,;k0时, 有一条直线的koch曲线可知,我们可以分别对等边三角形的每一条边进行koch迭代,然后再把每一次迭代的结果进行重叠,就可以得到等边三角形的koch迭代结果。 对于每一次迭代后所得的图形的面积计算,我们可以分析其中的规律,分析过程 迭代次数k 线段数目 每一段的长 面积 0 3 10 1 3x4 2 k 所以 所以k=0时,;k0时, 程序代码如下: function plotkochsnow(k) for a=0:2 if a==0; p=[0 0;10 0]; %存放等边三角形底边直线的坐标,初始值为底边的坐标 elseif a==1; p=[10 0;5 5*3.^1/2] ; %存放等边三角形右腰的坐标,初始值为底边的坐标 μ?μ?×?±ê else a==2; p=[5 5*3.^1/2;0 0]; %存放等边三角形左腰的坐标,初始值为底边的坐标 end n=1; %存放线段的数量,初始值为1 A=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)]; %用于计算新的结点 for s=1:k %实现迭代过程,计算所有的结点的坐标 j=0; % 结点的编号,不能取为1 %以下根据线段两个结点的坐标,计算迭代后它们之间增加的三个 %结点的坐标,并且将这些点的坐标按次序存暂时放到r中 for i=1:n %每条边计算一次 q1=p(i,:); %目前线段的起点坐标 q2=p(i+1,:); %目前线段的终点坐标 d=(q2-q1

文档评论(0)

2017ll + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档