本文简要介绍 python 语言中 scipy.interpolate.barycentric_interpolate
的用法。
用法:
scipy.interpolate.barycentric_interpolate(xi, yi, x, axis=0, *, der=0)#
多项式插值的便利函数。
构造一个通过给定点集的多项式,然后计算多项式。出于数值稳定性的原因,此函数不计算多项式的系数。
此函数使用 “barycentric interpolation” 方法,将问题视为有理函数插值的特殊情况。该算法在数值上相当稳定,但即使在精确计算的世界中,除非非常仔细地选择 x 坐标 - 切比雪夫零点(例如 cos(i*pi/n))是一个不错的选择 - 多项式插值本身就是由于Runge现象,非常ill-conditioned进程。
- xi: array_like
多项式应通过的点的 x 坐标的一维数组
- yi: array_like
多项式应通过的点的 y 坐标。
- x: 标量或类似数组
评估插值的一个或多个点。
- der: int 或列表或无,可选
要评估多少个导数,或者对于所有潜在的非零导数为“无”(即,等于点数的数字),或者要评估的导数列表。该数字包括作为 ‘0th’ 导数的函数值。
- axis: 整数,可选
yi 数组中对应于 x 坐标值的轴。
- y: 标量或类似数组
插值。形状是通过将原始数组中的插值轴替换为 x 的形状来确定的。
参数 ::
返回 ::
注意:
插值权重的构建是一个相对缓慢的过程。如果你想用相同的 xi(但可能改变 yi 或 x)多次调用它,你应该使用类
BarycentricInterpolator
。这就是这个函数在内部使用的。例子:
我们可以使用重心插值对 2D 观测数据进行插值:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.interpolate import barycentric_interpolate >>> x_observed = np.linspace(0.0, 10.0, 11) >>> y_observed = np.sin(x_observed) >>> x = np.linspace(min(x_observed), max(x_observed), num=100) >>> y = barycentric_interpolate(x_observed, y_observed, x) >>> plt.plot(x_observed, y_observed, "o", label="observation") >>> plt.plot(x, y, label="barycentric interpolation") >>> plt.legend() >>> plt.show()
相关用法
- Python SciPy interpolate.make_interp_spline用法及代码示例
- Python SciPy interpolate.krogh_interpolate用法及代码示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代码示例
- Python SciPy interpolate.BSpline用法及代码示例
- Python SciPy interpolate.LSQSphereBivariateSpline用法及代码示例
- Python SciPy interpolate.griddata用法及代码示例
- Python SciPy interpolate.splder用法及代码示例
- Python SciPy interpolate.LinearNDInterpolator用法及代码示例
- Python SciPy interpolate.PPoly用法及代码示例
- Python SciPy interpolate.NdBSpline用法及代码示例
- Python SciPy interpolate.pade用法及代码示例
- Python SciPy interpolate.RegularGridInterpolator用法及代码示例
- Python SciPy interpolate.NdPPoly用法及代码示例
- Python SciPy interpolate.interp2d用法及代码示例
- Python SciPy interpolate.approximate_taylor_polynomial用法及代码示例
- Python SciPy interpolate.RectSphereBivariateSpline用法及代码示例
- Python SciPy interpolate.sproot用法及代码示例
- Python SciPy interpolate.splantider用法及代码示例
- Python SciPy interpolate.CloughTocher2DInterpolator用法及代码示例
- Python SciPy interpolate.interp1d用法及代码示例
- Python SciPy interpolate.BPoly用法及代码示例
- Python SciPy interpolate.BarycentricInterpolator用法及代码示例
- Python SciPy interpolate.splrep用法及代码示例
- Python SciPy interpolate.make_smoothing_spline用法及代码示例
- Python SciPy interpolate.Rbf用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.interpolate.barycentric_interpolate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。