2019年8月15日 python玄学建模(5):插值(二维)

2019年8月15日 python玄学建模(5):插值(二维),第1张

概述官方文档链接:https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html#scipy.interpolate.interp2d 这篇博客接着上次的scipy一维插值,讲讲二维插值api的用法 scipy库中可以通过interp2d类来实现一维插值 类原型:class scipy.inter

官方文档链接:https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.HTML#scipy.interpolate.interp2d

这篇博客接着上次的scipy一维插值,讲讲二维插值API的用法

scipy库中可以通过interp2d类来实现一维插值

类原型:class scipy.interpolate.interp2d(xyzkind=‘linear‘copy=Truebounds_error=Falsefill_value=None)

参数如下:

x和y:插值点的x和y坐标。具体有两种写法,如果x和y可以通过笛卡尔积构成网格(例如x=[1,2,3],y=[0,3]),则x和y就会被视为网格,插值点个数为len(x)*len(y);

如果不能,那么x和y必须一一对应以指出每个插值点的x和y坐标,x和y的长度必须一致,比如x=[2,3,1],y=[0,4]就表示(2,0),(3,(1,4)三个插值点,插值点个数为len(x)或len(y);

如果x和y是多维的,则会被自动展平;

z:插值点的z坐标,一维数组(如果是多维则会被自动展平),长度必须与x和y决定的插值点个数一致;

kind:插值方式,有三种可选,分别是‘linear‘(线性插值)、‘cubic‘(三次样条插值)、‘quintic‘(五次样条插值);

copy、bounds_error、fill_value三个参数用法和一维插值基本一样,不过fill_value只有固定填充值和外插两种方式。

二维插值API的用法一样很简单,下面就是官方文档中给出的例子:

>>> from scipy import interpolate>>> x = np.arange(-5.01,5.01,0.25)>>> y = np.arange(-5.01,0.25)>>> xx,yy = np.meshgrID(x,y) #生成网格点,不了解用法的话可以直接查,资料很多>>> z = np.sin(xx**2+yy**2)>>> f = interpolate.interp2d(x,y,z,kind=cubic)>>> import matplotlib.pyplot as plt>>> xnew = np.arange(-5.01,1e-2)>>> ynew = np.arange(-5.01,1e-2)>>> znew = f(xnew,ynew)>>> plt.plot(x,z[0,:],ro-,xnew,znew[0,b-)>>> plt.show()

以上就是interp2d的简单用法。

总结

以上是内存溢出为你收集整理的2019年8月15日 python玄学建模(5):插值(二维)全部内容,希望文章能够帮你解决2019年8月15日 python玄学建模(5):插值(二维)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1191876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存