龙藏经-公司早会小游戏
分形实例
2、对一条横向线段,先将其等分成4段,然后再将第二段向上移,将第三段向下移,
再将第四段的相邻端点连接起来,迭代一次后变成图3-21.继续迭代得到的分形图,
称为Minkouski香肠。
编制程序绘制出它的图形,并计算它的分形维数。
图3-21 Minkouski香肠一次迭代
(1) 编辑实现上述迭代的函数
在Matlab中,编制一个函数来绘制Minkouski香肠的图形。
具体代码如下:
function frat1(k)
p=[0,0;10,0];
A=[0,1;-1,0];
n=1;
for s=1:k
j=0;
for i=1:n;
q1=p(i,:);
q2=p(i+1,:);
d=(q2-q1)4;
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+d*A;
j=j+1;r(j,:)=q1+2*d+d*A';
j=j+1;r(j,:)=q1+3*d+d*A';
j=j+1;r(j,:)=q1+3*d;
end
n=n*7;
clear p
p=[r;q2];
end
1 4
分形实例
plot(p(:,1),p(:,2))
axis equal
将这个文件保存,文件名记为
(2) 绘制Minkouski香肠的图形
代码:frat(3)
运行结果:
3
2
1
0
-1
-2
-3
代码:frat(5)
运行结果:
2 4
分形实例
3
2
1
0
-1
-2
-3
(3)计算Minkouski香肠的维数
根据迭代规律得到:形似形个数m=7,边长放大倍数c=4,故维数d=1.4037.因此,
Minkouski香肠的维数介于1与2之间。
具体计算如下:
d=ln mln c=ln 7ln 4=1.4037
5、自己构造生成元(要有创意),按照图形迭代的方式产生分形图,用计算机编制
程序绘出它的图形,并计算维数。
function frat2(k)
p=[-5,5;5,5;5,-5;-5,-5;-5,5];
A=[1.5,-0.5;0.5,1.5];
n=4;
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=n*4;
3 4
炫舞时代网页版-伊奘诺尊
品种审定-衣物漂白剂
乌龟的寿命-老版笑傲江湖
伊春旅游攻略-生活大爆炸第二季下载
事无巨细-声音定位
热血江湖下载-无间道2剧情
ca909-千年敬祈
探索发现ufo-孩子脚臭怎么办
发表评论
要发表评论,您必须先登录。
0]; n=1; for s=1
称为Minkouski香肠
function frat2(k) p=[-5
)=q1; j=j+1;r(j
n; q1=p(i
编制程序绘制出它的图形
)=q1+3*d+d*A'; j=j+1;r(j