当前位置:文档之家› 分形维数算法

分形维数算法

分形维数算法
分形维数算法
分形包括规则分形和无规则分形两种。

规则分形是指可以由简单的迭代或者是按一定规律所生成的分形,如Cantor集,Koch曲线,Sierpinski海绵等。

这些分形图形具有严格的自相似性。

无规则分形是指不光滑的,随机生成的分形,如蜿蜒曲折的海岸线,变换无穷的布朗运动轨迹等。

这类曲线的自相似性是近似的或统计意义上的,这种自相似性只存于标度不变区域。

对于规则分形,其自相似性、标度不变性理论上是无限的(观测尺度可以趋于无限小)。

不管我们怎样缩小(或放大)尺度(标度)去观察图形,其组成部分和原来的图形没有区别,也就是说它具有无限的膨胀和收缩对称性。

因些对于这类分形,其计算方法比较简单,可以用缩小测量尺度的或者不断放大图形而得到。

分形维数
D=lnN(λ)/ln(1/λ) (2-20)
如Cantor集,分数维D=ln2/ln3=0.631;Koch曲线分数维D=ln4/ln3=1.262; Sierpinski海绵分数维D=ln20/ln3=2.777。

对于不规则分形,它只具有统计意义下的自相似性。

不规则分形种类繁多,它可以是离散的点集、粗糙曲线、多枝权的二维图形、粗糙曲面、以至三维的点集和多枝权的三维图形,下面介绍一些常用的测定方法[26]。

(1)尺码法
用某个选定尺码沿曲线以分规方式测量,保持尺码分规两端的落点始终在曲线上。

不断改变尺码λ,得到一系列长度N(λ),λ越小、N越大。

如果作lnN~lnλ图后得到斜率为负的直线,这表明存在如下的幂函数关系
N~λ-D(2-21)
上式也就是Mandelbrot在《分形:形状、机遇与维数》专著中引用的Richardson公式。

Richardson是根据挪威、澳大利亚、南非、德国、不列颠西部、葡萄牙的海岸线丈量结果得出此公式的,使用的测量长度单位一般在1公里到4公里之间。

海岸线绝对长度L被表示为:
L=Nλ~λ1-D(2-22)
他得到挪威东南部海岸线的分维D≈1.52,而不列颠西部海岸线的分维D≈1.3。

这说明挪威的海岸线更曲折一些[27]。

(2)小岛法
如果粗糙曲线都是封闭的,例如海洋中的许多小岛,就可以利用周长-面积关系求分维,因此这个方法又被称为小岛法。

对于规则图形的周长与测量单位尺寸λ的一次方成正比,而面积A 则与λ的二次方成正比。

通常我们可以把它们写成一个简单的比例关系:
P ∝A 1/2 (2-23)
对于二维空间内的不规则分形的周长和面积的关系显然更复杂一些,Mandelbrot 提出,应该用分形周长曲线来代替原来的光滑周长,从而给出了下述关系式:
1/1/2D 1/200[()](1)/[()][()]D P a D D A a A 1/-1λ=λ-λ=λλλ (2-24)
这里的分维D 大于1(周长光滑时D=1,上式转化成为(2.23)式),使P 的变化减缓,a 0是和岛的形状有关的常数,λ是测量尺寸,一般取λ为小于1的数
值(如取岛的最大直径为1),使因子λ(1-D )/D 随测量尺寸λ减小而增大。

作log[P(λ)/λ]~log[A(λ)1/2/λ]图,从其中直线部分的斜率的倒数,可以得到分维D 。

这个方法也可以推广到粗糙曲线(表面积-体积法)。

(3)计盒维数法[28]
这是一种常用的计算分形图形分维数的实用方法。

取边长为r 的小盒子,把分形曲线覆盖起来。

则有些小盒子是空的,有些小盒子覆盖了曲线的一部分。

计数多少小盒子不是空的,所得的非空盒子数记为N (r )。

然后缩小盒子的尺寸,所得N (r )自然要增大,当r→0时,得到分形维数:
0log ()lim log r N r D r
→=- (2-25) 实际计算中只能取有限的r ,通常的做法与尺码法类似,求一系列r 和N (r ),然后在双对数坐标中用最小二乘法拟合直线,所得直线的斜率即所求分形维数。

(4)结构函数法[29]
具有分形特征的时间序列能使其采样数据的结构函数满足:
242()[()()]D S z x z x C τττ-=+-= (2-26)
式中:
2[()()]z x z x τ+-表示差方的算术平均值。

τ是数据间隔的任意选择值。

针对若干尺度τ对分形曲线的离散信号计算出相应的S(τ),然后在对数坐标中得logS(τ)~log τ直线的斜率W,则分形维数:
42
W D -= (2-27) 2.2.4系统所采用的二种计算维数的方法
以上介绍的各种测量不规则分形的分维方法,在原理上都是利用了它们的自相似性和被测量是随测量尺度的改变而改变的特性。

因此选择哪一种方法来测定和计算分维只能从实际问题出发,没有统一的标准。

但在计算分维时存在的共同点是在计算原则上要求图形象素尽量多以及相似的层次尽量多。

但实际图形往往达不到这样的要求,计算机模拟结果原则上可以有大得多的线性范围,但限于计算时,一般双对数图上的线性范围是2~3个量级。

因此我们在实际的研究工作中,对研究对象使用分形或分维等概念时一定要注意它的适用范围。

下面介绍在系统中所使用的二种求分形的方法。

a 、 半方差法
半方差法用于复杂的分形曲线的计算,适用于对随机过程数据的处理。

该方法简单易行,适合于计算机处理,是一种较实用的计算方法。

设在某一测量距离或测量时间序列上得到一族z (t ),且随机变量的平均差表示为:
1()[()()]m a z t z t t n
=-+∆∑ (2-28) 其中:
m(a)为平均差;
z(t)为在t 位置函数曲线的测量值;
z(t+Δt)为在t+Δt 位置函数曲线的测量值;
Δt 为一对数据的间据
n 为数据对数。

方差表示为:
21()[()()]s a z t z t t n
=-+∆∑ (2-29) 半方差表示为:
211()()[()()]22r a s a z t z t t n
==-+∆∑ (2-30) 式中数据的对数n 的确定方法是:若以等间距Δt 连续测量某一距离的各点数值时,得到一随机数据z(1),z(2),…,z(k),如图2-6所示
当一对数据的间距t 1=Δt 时,数据的对数n=k-1,如图2-6 (a)所示。

当一对数据的间距t 2=2Δt 时,计算相应的半方差时,数据的对数n 2=k-2,如图2-6 (b)所示。

F ig 2-6 the definition of n in semi-variance
method
当试验数据较多时,往下依次类推。

每当改变一对数据的间距时,由式(2-30)可以得到相应的半方差r(a)。

对于分形曲线,a 与r(a)存在如下的幂型关系:
r(a)∝h W (2-31)
t 1=Δt n 1=k-1 z(1) z(2) z(3) z(4) z(5) z(6) z(7) z(8) z(9) z(k) (a) t 2=2Δt n 2=k-2 z(1) z(2) z(3) z(4) z(5) z(6) z(7) z(8) z(9) z(k) (b) t 3=3Δt
其中,W 是幂指数,是分形维数D 的一种逼近,把h 和r(h)绘到双对数坐标图上,并进行线性回归,得到回归方程,其斜率即为W 。

而斜率W 与分形维数D 有如下关系[23]:
W=4-2D (2-32)
则 42
W D -= (2-33) b 、 变换法
这是Dubuc 等[29]介绍的方法,在本质上它与计盒维数法相似,但对已知分形曲线运用此法得到的结果比计盒维数法准确,。

后来Spanos 和Irene [25]把此方法推广应用于粗糙曲面,也得到很好的结果。

此法设置宽为R的矩形(盒子)覆盖到分形曲线上,矩形的高度由分形曲线在框内的最高点和最低点决定(图2-7),一步一步移动矩形遍及所有象素点,将所有矩形的高和宽相乘并且相加起来得到总面积S (R ),系列改变R的大小重复以上操作,得到一系列S (R )。

注意上述操作过程中矩形经过的范围应远远大于矩形的宽度。


图2-7 变换法求分维
Fig 2-7 dimension calculating using
variation
S (R )除以R 2得到N (R )=S (R )/R 2,作lnN(R)~ln(1/R)曲线,取其中线性部分的斜率为分维D,因为在线性范围内存在N (R )~R -D的关系。

或者直接作lnS(R)~lnR 曲线,其中线性部分斜率为W ,并且由此斜率得到分维D 。

R R1
D=2-W (2-34)
变换法也可以推广到粗糙曲面的分维计算。

此时测量用的矩形被正方柱代替。

变换法和计盒维数法在本质上是相同的,它们都是用不断改变尺寸的盒子去覆盖图形。

其较为准确的原因在于它允许二维或三维的盒子数N(R)为非整数,同时N(R)也是遍及所有象素点得到的数值。

相关主题