本文简要介绍 python 语言中 scipy.interpolate.insert
的用法。
用法:
scipy.interpolate.insert(x, tck, m=1, per=0)#
将结插入B-spline。
给定 B-spline 表示的节点和系数,创建一个新的 B-spline,在点 x 处插入 m 次节点。这是 FITPACK 的 FORTRAN 例程插入的包装器。
- x (u): array_like
插入新结的一维点。如果tck从返回
splprep
, 那么参数值, u 应该被给出。- tck:
BSpline
实例或元组 如果是元组,那么它应该是一个元组 (t,c,k),其中包含节点向量、B-spline 系数和样条曲线的度数。
- m: 整数,可选
插入给定结的次数(其多重性)。默认值为 1。
- per: 整数,可选
如果非零,则输入样条被认为是周期性的。
- BSpline 实例或元组
一个新的B-spline,具有节 t、系数 c 和度 k。
t(k+1) <= x <= t(n-k)
,其中 k 是样条的度数。如果是周期样条(per != 0
) 必须至少有 k 个内部结 t(j) 满足t(k+1)<t(j)<=x
或至少 k 个内部结 t(j) 满足x<=t(j)<t(n-k)
.如果输入参数返回一个元组tck是一个元组,否则构造并返回一个 BSpline 对象。
参数 ::
返回 ::
注意:
基于 [1] 和 [2] 中的算法。
不建议直接操作tck-tuples。在新代码中,更喜欢使用
BSpline
对象。参考:
[1]W. Boehm,“在b-spline 曲线中插入新结。”,计算机辅助设计,12,p.199-201,1980。
[2]P. Dierckx,“用样条进行曲线和曲面拟合,数值分析专着”,牛津大学出版社,1993 年。
例子:
您可以将结插入B-spline。
>>> from scipy.interpolate import splrep, insert >>> import numpy as np >>> x = np.linspace(0, 10, 5) >>> y = np.sin(x) >>> tck = splrep(x, y) >>> tck[0] array([ 0., 0., 0., 0., 5., 10., 10., 10., 10.])
插入一个结:
>>> tck_inserted = insert(3, tck) >>> tck_inserted[0] array([ 0., 0., 0., 0., 3., 5., 10., 10., 10., 10.])
插入了一些结:
>>> tck_inserted2 = insert(8, tck, m=3) >>> tck_inserted2[0] array([ 0., 0., 0., 0., 5., 8., 8., 8., 10., 10., 10., 10.])
相关用法
- Python SciPy interpolate.interp2d用法及代码示例
- Python SciPy interpolate.interp1d用法及代码示例
- Python SciPy interpolate.interpn用法及代码示例
- 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.barycentric_interpolate用法及代码示例
- Python SciPy interpolate.RegularGridInterpolator用法及代码示例
- Python SciPy interpolate.NdPPoly用法及代码示例
- 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.BPoly用法及代码示例
- Python SciPy interpolate.BarycentricInterpolator用法及代码示例
- Python SciPy interpolate.splrep用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.interpolate.insert。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。