欢迎来到天天文库
浏览记录
ID:57726467
大小:52.50 KB
页数:2页
时间:2020-09-02
《分形计盒维数.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、如上图所示线上第k个点的坐标为(xk,yk),k=1,2,3...n第一步:计算网格间距dx=Hx/Ndy=Hy/N(如果Hx=Hy,那么可以用H表示)先令count=1第二步:对计算第一个点所在的网格位子i1=int(x1/dx)j1=int(y1/dy)第三步:计算下一个点(k点)所在网格的位子i2=int(xk/dx)j2=int(yk/dy),k=2...n第四步:判断两个点的位置,并计算两个点连线所占格子数,方法为:ifi1==i2ifj1==j2count=countelsecount=count+abs(j1-j2)endifelseifj1==j2c
2、ount=count+abs(i1-i2)elsecount=count+abs(i1-i2)+abs(j1-j2)注:蓝色部分为判断两点连线是否经过格子的角点,如果是,那么就要减去一个格子。这种算法计算量比较大,有待于进一步优化。forli=i1,i2,(i2-i1)/abs(i2-i1)forlj=j1,j2,(j2-j1)/abs(j2-j1)if((xk-xk-1)/(yk-yk-1)==(li*dx-xk-1)/(lj*dy-yk-1))count=count-1endifnextljnextliendifendifi1=i2j1=j2第五步:判断k是否等
3、于n如果否转入第三步。否则保存count和格子总数N,改变N转入第一步,直到达到要求为止第六步:计算盒维数。注:红色部分是为了便于理解,其实可以直接该为:ifj1!=j2count=count+abs(j1-j2)endif算例:如上图所示:对于第一个点和第二个点i1=0,j1=N-2及i2=0,j2=N-2这样格子就没有增加。对于第二个点和第三个点i1=0,j1=N-2及i2=1,j2=N-3这样格子就增加了两个,如果这两点线的连线经过网格角点,那么格子只增加一个。对于第三个和第四个点i1=1,j1=N-3及i2=4,j2=N-5这样格子就增加了5个,但是两点连线
4、经过了一个角点,所以就要减去一个,就只增加了4个格子。所以1到4号点增加的格子数为6个,加上第一个格子总格子数为7个
此文档下载收益归作者所有