python 插值


  1. 4个数据点x = [-1, 0, 2.0, 1.0]y = [1.0, 0.3, -0.5, 0.8]进行Rbf插值,插值中使用三种插值方法分别是multiquadricgaussian、和linear(参见课件5scipy_rbf.py),需要作图点(加密点)为np.linspace(-3, 4, 100)




    RBf插值代码如下:


    #导入模块


    import numpy as np


    from scipy import interpolate


    import pylab as pl


    #给定xy向量


    x=np.array([-1, 0, 2.0, 1.0])


    y=np.array([1.0, 0.3, -0.5, 0.8])


    #新的x的步长


    xnew=np.linspace(-3,4,100)


    pl.plot(x,y,'ro')


    #遍历输出多重二次曲面,高斯,线性插值


    for kind in['multiquadric','gaussian','linear']:


        f=interpolate.Rbf(x,y,kind=kind)


        ynew=f(xnew)


        pl.plot(xnew,ynew,label=str(kind))


        pl.legend(loc='lower right')


        pl.show()


    打印结果:






你可能感兴趣的:(python 插值)