时间:2021-05-22
我就废话不多说了,大家还是直接看代码吧~
import numpy as np#从scipy库中导入插值需要的方法 interpolatefrom scipy import interpolate#数据可视化,绘制散点图import matplotlib.pyplot as plt#定义函数 x:横坐标列表 y:纵坐标列表 kind:插值方式
f = interpolate.interp1d(x, y, kind='cubic')
插值方式:
nearest:最邻近插值法
zero:阶梯插值
slinear、linear:线性插值
quadratic、cubic:2、3阶B样条曲线插值
#定义新的横坐标列表x_new=list(np.arange(0, 15, 0.5))y_new=list(f(x_new))plt.plot(x,y,'r',label='original values')plt.plot(x_new,y_new,'b',label='interpolated values')plt.show()plt.close()补充知识:python scipy样条插值函数大全(interpolate里interpld函数)
scipy样条插值
1、样条插值法是一种以可变样条来作出一条经过一系列点的光滑曲线的数学方法。插值样条是由一些多项式组成的,每一个多项式都是由相邻的两个数据点决定的,这样,任意的两个相邻的多项式以及它们的导数(不包括仇阶导数)在连接点处都是连续的。 连接点的光滑与连续是样条插值和前边分段多项式插值的主要区别。
2、在Scipy里可以用scipy.interpolate模块下的interpld函数 实现样条插值。 SciPy的0.14.0版本里样条插值方式有:'linear','zero', 'slinear', 'quadratic'(2次), 'cubic'(3次), 4, 5等。
3、scipy多次样条插值的应用格式如下所示:
import numpy as np, matplotlib.pyplot as pltfrom scipy.interpolate import interpld #导入scipy里interpolate模块中的interpld插值模块x= np.array([0, 1, 2, 3, 4, 5, 6, 7])y= np.array([3, 4, 3.5, 2, 1, 1.5, 1.25, 0.9]) #离散点的分布xx = np.linspace(x.min(), x.max(), 100) #新的插值区间及其点的个数plt.scatter(x, y) #散点图#for n in ['linear','zero', 'slinear', 'quadratic', 'cubic', 4, 5]: #python scipy里面的各种插值函数f = interp1d(x, y,kind="cubic") #编辑插值函数格式ynew=f(xx) #通过相应的插值函数求得新的函数点plt.plot(xx,ynew,"g") #输出新的函数点的图像plt.show()以上这篇python interpolate插值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python基于opencv的图像压缩算法。分享给大家供大家参考,具体如下:插值方法:CV_INTER_NN-最近邻插值,CV_INTER_LIN
本文实例为大家分享了python实现三次样条插值的具体代码,供大家参考,具体内容如下函数:算法分析三次样条插值。就是在分段插值的一种情况。要求:在每个分段区间上
本文实例为大家分享了python样条插值的具体实现代码,供大家参考,具体内容如下importnumpyasnpimportpandasaspdimportmat
本文实例讲述了python计算对角线有理函数插值的方法。分享给大家供大家参考。具体实现方法如下:'''p=rational(xData,yData,x)Eval
本文实例为大家分享了python使用插值法画出平滑曲线的具体代码,供大家参考,具体内容如下实现所需的库numpy、scipy、matplotlib实现所需的方法