python计算牛顿迭代多项式
代码:
复制代码 代码示例:
''' p = evalPoly(a,xData,x).
Evaluates Newton's polynomial p at x. The coefficient
vector 'a' can be computed by the function 'coeffts'.
a = coeffts(xData,yData).
Computes the coefficients of Newton's polynomial.
'''
def evalPoly(a,xData,x):
n = len(xData) - 1 # Degree of polynomial
p = a[n]
for k in range(1,n+1):
p = a[n-k] + (x -xData[n-k])*p
return p
def coeffts(xData,yData):
m = len(xData) # Number of data points
a = yData.copy()
for k in range(1,m):
a[k:m] = (a[k:m] - a[k-1])/(xData[k:m] - xData[k-1])
return a