本文简要介绍 python 语言中 scipy.interpolate.BPoly
的用法。
用法:
class scipy.interpolate.BPoly(c, x, extrapolate=None, axis=0)#
就系数和断点而言的分段多项式。
x[i]
和x[i + 1]
之间的多项式写在 Bernstein 多项式基中:S = sum(c[a, i] * b(a, k; x) for a in range(k+1)),
其中
k
是多项式的次数,并且:b(a, k; x) = binom(k, a) * t**a * (1 - t)**(k - a),
其中
t = (x - x[i]) / (x[i+1] - x[i])
和binom
是二项式系数。- c: ndarray,形状(k,m,...)
多项式系数,阶 k 和 m 区间
- x: ndarray,形状(m + 1,)
多项式断点。必须按升序或降序排序。
- extrapolate: 布尔型,可选
如果是布尔值,则确定是根据第一个和最后一个间隔外推到越界点,还是返回 NaN。如果‘periodic’,使用周期性外推。默认为真。
- axis: 整数,可选
插值轴。默认为零。
参数 ::
注意:
伯恩斯坦多项式的性质在文献中有很好的记载,例如参见 [1] [2] [3]。
参考:
[2]Kenneth I. Joy,伯恩斯坦多项式,http://www.idav.ucdavis.edu/education/CAGDNotes/Bernstein-Polynomials.pdf
[3]E. H. Doha、A. H. Bhrawy 和 M. A. Saker,边界值问题,2011 年卷,文章 ID 829546,DOI:10.1155/2011/829543。
例子:
>>> from scipy.interpolate import BPoly >>> x = [0, 1] >>> c = [[1], [2], [3]] >>> bp = BPoly(c, x)
这将创建一个二阶多项式
- x: ndarray
断点。
- c: ndarray
多项式的系数。它们被重新整形为一个 3-D 数组,最后一个维度表示原始系数数组的尾随维度。
- axis: int
插值轴。
属性 ::
相关用法
- Python SciPy interpolate.BSpline用法及代码示例
- Python SciPy interpolate.BarycentricInterpolator用法及代码示例
- Python SciPy interpolate.make_interp_spline用法及代码示例
- Python SciPy interpolate.krogh_interpolate用法及代码示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代码示例
- 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.barycentric_interpolate用法及代码示例
- 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.splrep用法及代码示例
- Python SciPy interpolate.make_smoothing_spline用法及代码示例
- Python SciPy interpolate.Rbf用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.interpolate.BPoly。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。