Python-插值基础(二)

Python中的插值

插值类所在模块:

scipy.interpolate

1.一维插值

interpolate.interp1d(x, y, kind = 'linear' ,...)

kind 的可选参数为:

'nearest' ,'zero':阶梯插值,0阶样条插值
'slinear' ,'linear' : 线性插值
'quadratic','cubic': 二阶,三阶样条插值

2. 二维插值:

interpolate.interp2d(x, y, kind = 'linear' ,...)

3. 实例

使用 s i n sin sin函数的 10 10 10个点作为原始数据,采用 P y t h o n Python Python中的不同方法插值.
代码:

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

kind = ['nearest','zero',#阶梯插值,0阶样条插值
'slinear' ,'linear', #: 线性插值
'quadratic','cubic']#: 二阶,三阶样条插值

x = np.arange(11)
y = np.sin(x)
u = np.arange(0,10.05,0.05) #需要插值的数据点
fig,axes = plt.subplots(2,3)
ax =axes.ravel() #将二维数组转化为一维
for i,kd in enumerate(kind):
    ax[i].plot(x,y,'o',mec='k',mfc='w',ms=15)
    f = interp1d(x, y,kind=kd)
    v = f(u)
    ax[i].plot(u,v,'b',label=kd)
    ax[i].legend()

结果:
Python-插值基础(二)

上一篇:KubeVela 上手(1)|让云端应用交付更加丝滑


下一篇:k8s for beginner 一次完整的k8s部署体验