這篇文章主要介紹了python計算對角線有理函數插值的方法,涉及Python數學運算的相關技巧,需要的朋友可以參考下
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ''' 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程序設計有所幫助。