三阶多项式插值(立方插值):
fx=ax^3+bx^2+cx+d
interp1d(x,y,kind='cubic') 'cubic'立方插值
import numpy as np
from scipy.interpolate import interp1d,interp2d
import pylab as pl
x=np.array([1,2,3,4,5])
y=np.array([1,4,2,4,1]) #Y=x^3+x^2+x+1
fc=interp1d(x,y,kind='cubic')
xint=np.linspace(x.min(),x.max(),20)
print(xint)
print(fc(xint))
pl.scatter(xint,fc(xint),c='r',marker='o')
pl.plot(xint,fc(xint),color='blue',label='Cubic-10')
pl.show()
插值点:
xint [1. 1.21052632 1.42105263 1.63157895 1.84210526 2.05263158
2.26315789 2.47368421 2.68421053 2.89473684 3.10526316 3.31578947
3.52631579 3.73684211 3.94736842 4.15789474 4.36842105 4.57894737
4.78947368 5. ]
y: [1. 2.71628517 3.73859163 4.19288526 4.20513194 3.90129757
3.40734801 2.84924916 2.3529669 2.04446712 2.04446712 2.3529669
2.84924916 3.40734801 3.90129757 4.20513194 4.19288526 3.73859163
2.71628517 1. ]