import numpy as np
import scipy.interpolate as si
import matplotlib.pyplot as mp
min_x = -50
max_x = 50
x = np.linspace(min_x, max_x, 15)
y = np.sinc(x)
mp.grid(linestyle=':')
mp.scatter(x, y, s=60, color='dodgerblue', marker='o', label='Samples')
#通过样本点生成插值函数
cubic = si.interp1d(x, y, kind='cubic')
cubic_x = np.linspace(min_x, max_x, 1000)
cubic_y = cubic(cubic_x)
mp.plot(cubic_x, cubic_y, color='green', label='CA')
mp.legend()
mp.show()