本文实例讲述了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