python三次样条插值代码
时间: 2023-10-13 11:24:49 浏览: 105
Python实现线性插值和三次样条插值的示例代码
5星 · 资源好评率100%
以下是使用Python进行三次样条插值的示例代码:
```python
import numpy as np
from scipy.interpolate import CubicSpline
import matplotlib.pyplot as plt
# 生成测试数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([3, 2, 4, 1, 6])
# 创建三次样条插值对象
cs = CubicSpline(x, y)
# 插值点
x_new = np.linspace(1, 5, 100)
# 计算插值结果
y_new = cs(x_new)
# 绘制插值结果
plt.plot(x, y, 'o', label='原始数据')
plt.plot(x_new, y_new, label='插值结果')
plt.legend()
plt.show()
```
在上面的示例中,我们首先创建了一个包含5个点的测试数据集,并使用`CubicSpline`函数创建了一个三次样条插值对象。然后,我们使用`linspace`函数生成了一个包含100个插值点的数组,并使用插值对象计算了这些插值点的函数值。最后,我们使用Matplotlib绘制了原始数据和插值结果的图形。
阅读全文