- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学实验报告
学 院:
班 级:
学 号:
姓 名:
完成日期:
实验二 分形
(一)练习题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: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
figure
q(:,1)=real(p(:,1));
q(:,2)=imag(p(:,1));
plot(q(:,1),q(:,2))
fill(q(:,1),q(:,2),b)
for i=0:k
S=S+(3.^(0.5-i))*0.25*(R.^2);
end
S
axis 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,5) S =0.6486 图形如下:
四.总结分析和心得体会
根据观察迭代的面积规律,即可推得面积递推公式:
,其中
即:面积公式,也就等于
分形维数,根据迭代的规律得到:
相似形个数:m=4
边长放大倍数c=3,
维数d=ln m/ln c=ln 6/ln 3=1.631
(二)练习题2
一.实验目的
1.了解分形几何的基本情况;
2.了解通过迭代方式,产生分形图的方法;
3.了解matlab软件中简单的程序结构。
二. 问题描述对一条竖线段,在其三分之一分点处,向左上方向画一条线段,在其三分之二点处,向右上方向画一条线段,线段长度都是原来的三分之一,夹角都为30度,迭代一次后变成图3-22.继续迭代得到分形图,可模拟树木花草,编制程序绘制出它的图形。
三.实验过程代码如下:function tree(z1,z2,N,n)
if nN
return
end
if n==1
d=(z2-z1)/3;
q1=z1+d+d*exp(1i*pi/6);
q2=z1+2*d+d*exp(-1i*pi/6);
plot([z1+d,q1])
hold on
axis equal
plot([z1+2*d,q2])
plot([z1,z2])
tree(z1,z2,N,n+1)
else
d=(z2-z1)/3;
q1=z1+d+d*exp(1i*pi/6);
q2=z1+2*d+d*exp(-1i*pi/6);
plot([z1+d,q1])
plot([z1+2*d,q2])
tree(z1+d,q1,N,n+1);
tree(z1+d,z1+2*d,N,n+1);
tree(z1+2*d,q2,N,n+1);
tree(z1+2*d,z2,N,n+1);
end
其中N为迭代次数,n的初始值为1,输入以下代码:
tree (0,10i,2,1) 图形如下:
tree (0,10i,3,1) 图形如下:
tree (0,10i,4,1) 图形如下:
tree (0,10i,5,1) 图形如下:
tree (0,10i,6,1) 图形如下:
四.总结分析和心得体会
通过本次的实验,我更了解了几合分形图以及用matlab软件产生几合分形图的方法、程序结构。总的来说,通过本次实验,学习到了matlab
文档评论(0)