import numpy as np from scipy.interpolate import Rbf, InterpolatedUnivariateSpline import matplotlib.pyplot as plt # setup data x = np.linspace(0, 10, 9) y = np.sin(x) xi = np.linspace(0, 10, 101) # use fitpack2 method ius = InterpolatedUnivariateSpline(x, y) yi = ius(xi) plt.subplot(2, 1, 1) plt.plot(x, y, 'bo') plt.plot(xi, yi, 'g') plt.plot(xi, np.sin(xi), 'r') plt.title('Interpolation using univariate spline') # use RBF method rbf = Rbf(x, y) fi = rbf(xi) plt.subplot(2, 1, 2) plt.plot(x, y, 'bo') plt.plot(xi, fi, 'g') plt.plot(xi, np.sin(xi), 'r') plt.title('Interpolation using RBF - multiquadrics') plt.show()