基于艾特肯加速抛物线算法分形图形的研究

2007-07-05 01:40姜卓睿
智能计算机与应用 2007年3期
关键词:分形初值抛物线

姜卓睿 段 汕

摘要:抛物线法和艾特肯法都是数值分析中在实数范围内方程求根的快速迭代算法。针对Julla集的绘图原理。给出了 一种用抛物线法在复数范围内的迭代运算。然后用艾特肯法对其加速,最后将运算结果绘成分形图形的改进算法。

关键词:分形抛物线法艾特肯法复数迭代逸逸时间算法

中图分类号TP311.11文献标识码B文章编号:1002-2422(2007)03-0052-02

1抛物线法

设已知方程f(x)=0的三个近似根xk,xk-1,xk-22,我们以这三点为节点构造二次插值多项式p(x),并适当选取p(x)的一个零点Xk+1作为新的近似根,这样确定的迭代过程称为抛物线法,亦称密勒(Muller)法。在几何图形上,这种方法的基本思想是用抛物线y=p(x)与x轴的交点xk+1作为所求根的近似位置。

抛物线法是超线形收敛的算法,其收敛阶p=1.840,收敛速度比割线法更接近牛顿法。

2艾特肯加速方法

如果迭代序列收敛很慢,要达到要求的精度将使计算量很大,为此,需采用加速迭代收敛性的方法,艾特肯加速方法就是其中的一种,其迭代公式如下:

3复平面上的艾特肯加速抛物线算法

上述抛物线和艾特肯算法都是在实平面上实现的,计算一次,其结果只和初值有关,也不可能得到二维图形,本算法选择在复平面上实现,算法步骤如下:

(1)获取图片大小信息:picx;Picture1.SealeWidth:picy=Picture1.ScaleHeight(picx和picy分别为图片横向和纵向的最大像素值),设定初始近似值的变化范围ss=1.5:ww.x=-ss:ww.y=ss:hh.x=-ss:hh.y=ss,同时设定初值row=0;

(2)如果row

(3)col=0;

(4)如果col

(5)预设抛物线迭代时的初值0为复数):

上述算法中最大的问题是要先计算出f(z)=O的根值形算法最关键的技术之一就是迭代,但对任意一函数迭代的结果只有两种可能:收敛或逃逸(发散).如图2所示,假设有一个充分大的整数N,当未述逸区域M中的初始点a经过小于N次迭代就达到未逃逸区域M的边界,甚至超出了边界,就认为a点逃逸出去了:而经过N次迭代后a的轨迹仍未达到M的边界,就认为a是收敛区域A上的点。用这种方法描绘出收敛区域A的边界图形,这便是逃逸时间算法的基本思想。运用这种思想,不必计算f(z)=O的根值,只要事先确定整数N和逃逸区域M的边界范围即可。则算法基本框架不变,只是将步骤(9)做如下变更:

(9)如果M为事先设定的逃逸边界值,若满足条件,则根据此结果设计颜色在屏幕上打点,并终止迭代

转步骤(11);否则执行步骤(10):

采用此种方式绘制的分形图形无穷无尽。再也不必因为找不到f(z)=O的根值z*烦恼。

4结束语

上述分形图像有着非常明显的几何意义,为复平面上的函数提供了新的解释,同时也给我们带来了美的享受。分形图像有着非常广泛的用途,例如可以制作成各种尺寸的装饰画(用卡纸装裱,可获得很好的装饰画效果);用作包装材料图案,效果新颖;还可以制作成各种尺寸的分形挂历、台历、贺卡等等。

猜你喜欢
分形初值抛物线
像科幻电影般变幻莫测
分形
巧用焦点弦公式,妙解抛物线
绝美的分形艺术
美国三季度GDP初值创两年最高
让抛物线动起来吧,为运算量“瘦身”
《吉普林》欧元区经济持续低迷
分形的意蕴
一道题目的推广与应用