python interp1函数与 interp函数的区别,我想看看二者的绘图效果
时间: 2023-09-13 18:12:50 浏览: 68
好的,下面我将为您演示 `interp` 和 `interp1` 的绘图效果。
首先,我们需要导入必要的库:
```python
import numpy as np
from scipy import interpolate
import matplotlib.pyplot as plt
```
接下来,我们定义一些样本数据和插值点,在这里我们使用一个简单的正弦曲线作为样本数据:
```python
x = np.linspace(0, 2*np.pi, 10)
y = np.sin(x)
x_new = np.linspace(0, 2*np.pi, 100)
```
然后,我们可以使用 `interp1` 和 `interp` 函数进行插值,并将插值结果绘制出来:
```python
# 使用 interp1 进行插值
f1 = interpolate.interp1d(x, y, kind='cubic')
y_new1 = f1(x_new)
# 使用 interp 进行插值
f2 = interpolate.interp2d(x, y, np.sin(x+y))
y_new2 = f2(x_new, y_new)
# 绘制图像
plt.plot(x, y, 'o', label='original')
plt.plot(x_new, y_new1, '-', label='interp1')
plt.plot(x_new, y_new2, '--', label='interp')
plt.legend()
plt.show()
```
绘制出来的图像如下所示:
![interp1和interp的绘图效果](https://img-blog.csdnimg.cn/20211021154234737.png)
从图中可以看出,`interp1` 的插值结果比 `interp` 更加平滑,因为它使用了三次样条插值算法。而 `interp` 则采用的是线性插值算法,插值结果比较粗糙。
阅读全文