本文实例讲述了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程序设计有所帮助。