当前位置>>常用算法>>算法11    
返回首页  
 

 
     
 

算法11 迭代算法

 
 
算法描述
迭代算法。
算法分析

 基本思想: 对于一个问题的求解x,可由给定的一个初值x0,根据某一迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和直到|x1-x0|<ε(某一给定的精度)。此时可将x1作为问题的解。

用迭代法求某个数的平方根。 已知求平方根的迭代公式为:
          

代码如下(通过定义一个自定义函数Fsqrt来实现):

Private Function Fsqrt( a As single ) AS single
  Dim x0 As Single, x1 As Single
     x0 =a/2          '迭代初值
     x1 = 0.5*(x0 + a/x0)
     Do
        x0 = x1   '为下一次迭代作准备
        x1 = 0.5*(x0 + a/x0)
    Loop While Abs(x1 - x0) > 0.00001
    Fsqrt=x1
End Function