python对角线有理函数插值计算实例代码

发布时间:2020-09-10编辑:脚本学堂
有关python实现对角线有理函数插值计算的方法,python数学运算中插值计算的例子。

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]