使用 scipy 包进行样条插值
1.导入必要的库: import numpy as np
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt2.定义原始数据: x = np.array()
y = np.array()这里的 x 和 y 是原始数据点的 x 和 y 坐标。
3.进行一次、二次和三次样条插值: p1 = interp1d(x, y, kind='linear')
p2 = interp1d(x, y, kind='quadratic')
p3 = interp1d(x, y, kind='cubic')使用 interp1d 函数进行一次、二次和三次样条插值,分别指定插值方法为线性插值、二次插值和三次插值,并得到插值函数 p1、p2 和 p3。
4.生成新的 x 值: x1 = np.linspace(1, 17, 100)使用 np.linspace() 函数生成了一组新的 x 值,在范围从 1 到 17 之间均匀分布,用于绘制插值曲线。
5.计算对应的 y 值: y1 = p1(x1)
y2 = p2(x1)
y3 = p3(x1)
使用插值函数 p1、p2 和 p3 计算了对应于新 x 值的插值结果。
6.绘制图形: plt.scatter(x, y)
plt.plot(x1, y1, label='linear')
plt.plot(x1, y2, label='quadratic')
plt.plot(x1, y3, label='cubic')
plt.legend()使用 plt.scatter() 绘制原始数据点,使用 plt.plot() 绘制插值曲线,并添加图例,标记不同插值方法对应的曲线类型。
7.显示图形:
plt.show()
最后,显示绘制的图形,包括原始数据点和插值曲线。
这样,你就可以观察到原始数据点以及根据不同插值方法得到的插值曲线。
页:
[1]