简单分形维数的探究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单分形及维数的研究
(河南大学,物理与电子学院,物理学,河南开封,475004)摘要:本文介绍了分形、维数的相关知识,并以简单分形做例子进行了演示,又求得了Sierpinski三角分形及埃侬映射的维数。
关键词:分形,维数,程序设计。
一、分形
分形(fractal)是指由各部分组成的形态,每个部分以某种方式与整体相似。对这一描述加以引伸,它可以包括以下含义:
分形可以是几何图形,也可以是由“功能”或“信息”架起的数理模型;分形可以同时具有形态、功能和信息三方面的自相似性,也可以只有其中某一方面的自相似性。
分形的创建历史:
(1)曼德勃罗在美国《科学》杂志上发表论文《英国的海岸线有多长》震惊学术界(1967
年)。
(2)法兰西学院讲演报(1973年)。
(3)“病态”“数学怪物”命名——分形(Fractal)(1975年)。
(4)法文版《分形对象:形、机遇和维数》出版(1975年)。
(5)英文版《分形:形、机遇和维数》出版(1977年)。
(6)英文版《大自然的几何学》出版(1982年) 。
分形是由Mandelbrot在20世纪70年代为了表征复杂图形和复杂过程而引入自然领域的。原意是破碎的、不规则的物体。分形分为两类,规则分形,又称决定类的分形,它是按一定的规则构造出的具有严格自相思的分形;另一类是无规则的分形,它是在生长现象中和许多物理问题中产生的分形,其特点是不具备严格意义上的自相似,只是在统计意义上是自相似的。本文研究的是规则分形。
有以上可知,自相似性是分形最大的几何特征。下面我们就科赫曲线和Sierpinski对此进行讨论。
1、科赫曲线
科赫曲线的生成方法:把一条曲线三等分,中间的一段用夹角为60的折线替代,得到第一个生成元;把第一个生成元中的每一条直线都用生成元迭代,得到第二个生成元;经过无数次迭代,即可得到科赫曲线。
实现程序如下:
s=[0,1];t=[0,0];n=8;
for j=1:n
x=[];y=[];
for i=1:length(s)-1
d1=s(i+1)-s(i);
d2=t(i+1)-t(i);
x1=s(i)+[0,d1/3,(s(i+1)+s(i))/2-sqrt(3)/6*d2-s(i),2/3*d1,d1];
y1=t(i)+[0,d2/3,(t(i+1)+t(i))/2+sqrt(3)/6*d1-t(i),2/3*d2,d2];
if i==1
x=[x,x1];y=[y,y1];
else
x=[x,x1(2:5)];y=[y,y1(2:5)];
end
end
s=x;t=y;
plot(x,y,'c')
end
axis equal
n取不同值时得到如下图像:
n=1时的科赫曲线n=2时的科赫曲线
n=3时的科赫曲线n=7时的科赫曲线由以上各图,我们很清晰的看到科赫曲线的自相似特征。
2、Sierpinski三角
生成方法:从一个三角形进行迭代操作:将其4等分,去掉中心部分,无限制的进行此操作即可得到。
实现程序如下:
clear;a=1;b=0.5;c=1;
k=8;
A=zeros(2,3^(k+1));A(:,1:3)=[0 a b;0 0 c];
for n=1:k;
B=1/2*A;A(:,1:3^n)=B(:,1:3^n);
A(:,3^n+1:2*3^n)=B(:,1:3^n)+1/2*[a;0]*ones(1,3^n);
A(:,2*3^n+1:3^(n+1))=B(:,1:3^n)+1/2*[b;c]*ones(1,3^n);
end
for i=1:3^k;
patch(A(1,3*i-2:3*i),A(2,3*i-2:3*i),'b');
end
调整k的大小,即可得到如下三角分形图:
K=1时分形图K=2时分形图
K=3时分形图K=7时分形图
上图我们可以知道,Sierpinski三角分形的自相似性存在。
根据上述论述,自相似性是规则分形的必备特征。
二、维数
无论其起源或构造方法如何,所有的分形都具有一个重要的特征:可通过一个特征数,即分形维数测定其不平度,复杂性或卷积度。
最早将维数从整数推广到非整数中去的是豪斯道夫(Hausdorff)和贝西科维奇(Besicovitch)。豪斯道夫于1919年首先提出连续空间的概念,认为空间维数不是跃变的,而是可以连续变化的,既可以是整数,也可以是分数。而贝西科维奇则证明对任何集合S存在一个实数D,使得d维测度对d
贝西科维奇维数(或称分形维数),简称分维。分维是定量描写分形的重要参数,有多种定义和计算方法。
一般地,把一个Df维几何物体的每维尺寸放大L倍,就得到一个原来的几何对象,令:K=L^Df 对此式两段取对数得:Df=log(K)/log(L)。
上式中的Df即为豪斯道夫—贝西科维奇维数的定义。
当然,我们缩小几何对象来定义分维。把一个Ds维的几何对象等分成N个小的
几何图形,则每个小图形每维缩小为原来的r倍,而N个小图形的总和应
为:N*r^Ds=1 Ds=log(n)/log(1/r)
r称为局部与整体的相似比,Ds即称为相似维数。
本文通过盒子维数法进行维数的计算。
盒子维数
计算相似比复杂图形时,采用小方块(或圆片)去覆盖(或填充)被测对象,统计覆盖所需的方块数来计算其维数。如此方法计算的维数称为容量维数,即盒子维数。
现用长度为r 尺子去测长度为L 的线段,L 与r 之比为N。N 值的大小与r 长短有关,r 越小N 越大:N (r ) ∝1/ r
取对数得盒子维数:D=lg(N)/lg(1/r)(在r趋近0时)
根据上述叙述可知,有Sierpinski三角分形生成过程可知,边长扩大2倍时,面积扩大3倍,所以维数D=lg(3)/lg(2)=1.585。
下面介绍一下用程序实现盒子维数的基本思路。我们取一个合适的边长做一个正方形,使它包含所有点,然后不变减少正方形边长,最后我们查出有点的盒子数目即N,(如下图)由于我们不可能取到r无限接近0,但根据上诉叙述,边长的对数和盒子数目的对数是呈线性关系的,我们可以多求几组,作图求斜率,而斜率即为维数。
r=1.01 N=4 r=0.5005 N=12