''' 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程序设计有所帮助。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com