python计算对角线有理函数插值的方法

916次阅读  |  发布于5年以前

本文实例讲述了python计算对角线有理函数插值的方法。分享给大家供大家参考。具体实现方法如下:


    ''' p = rational(xData,yData,x)
      Evaluates the diagonal rational function interpolant p(x)
      that passes through he data points
    '''  
    from numpy import zeros
    def rational(xData,yData,x):
      m = len(xData)
      r = yData.copy()
      rOld = zeros(m)
      for k in range(m-1):
        for i in range(m-k-1):
          if abs(x - xData[i+k+1]) < 1.0e-9:
            return yData[i+k+1]
          else:
            c1 = r[i+1] - r[i]
            c2 = r[i+1] - rOld[i+1]
            c3 = (x - xData[i])/(x - xData[i+k+1])
            r[i] = r[i+1] + c1/(c3*(1.0 - c1/c2) - 1.0)
            rOld[i+1] = r[i+1]
      return r[0]

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8