插值 (scipy.interpolate)#

用于插值函数和对象的子包。

请参阅用户指南,了解选择例程的建议和其他使用细节。

单变量插值#

make_interp_spline(x, y[, k, t, bc_type, ...])

创建具有指定次数和边界条件的插值 B 样条。

CubicSpline(x, y[, axis, bc_type, extrapolate])

分段三次插值器,用于拟合值(C2 光滑)。

PchipInterpolator(x, y[, axis, extrapolate])

PCHIP 保形插值器(C1 光滑)。

Akima1DInterpolator(x, y[, axis, method, ...])

Akima “视觉美观”插值器(C1 光滑)。

FloaterHormannInterpolator(points, values, *)

Floater-Hormann 重心有理插值器(实轴上 C∞ 光滑)。

BarycentricInterpolator(xi[, yi, axis, wi, rng])

重心(Lagrange,稳定性改进)插值器(C∞ 光滑)。

KroghInterpolator(xi, yi[, axis])

Krogh 插值器(C∞ 光滑)。

CubicHermiteSpline(x, y, dydx[, axis, ...])

分段三次插值器,用于拟合值和一阶导数(C1 光滑)。

单变量插值的低级数据结构

PPoly(c, x[, extrapolate, axis])

幂基下的分段多项式。

BPoly(c, x[, extrapolate, axis])

Bernstein 基下的分段多项式。

BSpline(t, c, k[, extrapolate, axis])

B 样条基下的单变量样条。

多变量插值#

非结构化数据

LinearNDInterpolator(points, values[, ...])

N > 1 维的分段线性插值器。

NearestNDInterpolator(x, y[, rescale, ...])

N > 1 维的最近邻插值器。

CloughTocher2DInterpolator(points, values[, ...])

N=2 维的分段三次、C1 光滑、曲率最小化插值器。

RBFInterpolator(y, d[, neighbors, ...])

N ≥ 1 维的径向基函数插值器。

网格数据

RegularGridInterpolator(points, values[, ...])

N ≥ 1 维的直角网格上的指定阶插值器。

张量积多项式和样条的低级数据结构

NdPPoly(c, x[, extrapolate])

分段张量积多项式

NdBSpline(t, c, k, *[, extrapolate])

张量积样条对象。

一维样条平滑和近似#

make_lsq_spline(x, y, t[, k, w, axis, ...])

创建一个满足最小二乘 (LSQ) 准则的平滑 B 样条。

make_smoothing_spline(x, y[, w, lam, axis])

创建一个满足广义交叉验证 (GCV) 准则的平滑 B 样条。

make_splrep(x, y, *[, w, xb, xe, k, s, t, nest])

创建一个具有有界误差并最小化导数跳跃的平滑 B 样条函数。

make_splprep(x, *[, w, u, ub, ue, k, s, t, nest])

创建一个具有有界误差并最小化导数跳跃的平滑参数 B 样条曲线。

generate_knots(x, y, *[, w, xb, xe, k, s, nest])

生成节点向量,直到满足最小二乘 (LSQ) 准则。

有理近似#

AAA(x, y, *[, rtol, max_terms, clean_up, ...])

AAA 实数或复数有理近似。

FITPACK 例程的 1D 和 2D 样条拟合接口#

本节列出了 FITPACK 的 1D 和 2D 平滑样条功能的包装器。在大多数情况下,用户最好使用前面章节中列出的高级例程。

一维 FITPACK 样条#

此包提供两组功能等效的包装器:面向对象的和函数的。

函数式 FITPACK 接口

splrep(x, y[, w, xb, xe, k, task, s, t, ...])

找到一维曲线的 B 样条表示。

splprep(x[, w, u, ub, ue, k, task, s, t, ...])

找到 N 维曲线的 B 样条表示。

splev(x, tck[, der, ext])

评估 B 样条或其导数。

splint(a, b, tck[, full_output])

评估 B 样条在两个给定点之间的定积分。

sproot(tck[, mest])

找到三次 B 样条的根。

spalde(x, tck)

在一个点(或一组点)上评估 B 样条及其所有导数,最高阶为 k(样条的次数),其中 0 为样条本身。

splder(tck[, n])

计算给定样条的导数的样条表示

splantider(tck[, n])

计算给定样条的反导数(积分)的样条。

insert(x, tck[, m, per])

向 B 样条插入节点。

面向对象的 FITPACK 接口

UnivariateSpline(x, y[, w, bbox, k, s, ext, ...])

对给定数据集进行一维平滑样条拟合。

InterpolatedUnivariateSpline(x, y[, w, ...])

对给定数据集进行一维插值样条。

LSQUnivariateSpline(x, y, t[, w, bbox, k, ...])

具有显式内部节点的一维样条。

二维 FITPACK 样条#

网格数据

RectBivariateSpline(x, y, z[, bbox, kx, ky, ...])

矩形网格上的双变量样条近似。

RectSphereBivariateSpline(u, v, r[, s, ...])

球体上矩形网格上的双变量样条近似。

非结构化数据(面向对象接口)

BivariateSpline()

双变量样条的基类。

SmoothBivariateSpline(x, y, z[, w, bbox, ...])

平滑双变量样条近似。

SmoothSphereBivariateSpline(theta, phi, r[, ...])

球坐标系中的平滑双变量样条近似。

LSQBivariateSpline(x, y, z, tx, ty[, w, ...])

加权最小二乘双变量样条近似。

LSQSphereBivariateSpline(theta, phi, r, tt, tp)

球坐标系中的加权最小二乘双变量样条近似。

非结构化数据(函数式接口)

bisplrep(x, y, z[, w, xb, xe, yb, ye, kx, ...])

找到曲面的双变量 B 样条表示。

bisplev(x, y, tck[, dx, dy])

评估双变量 B 样条及其导数。

附加工具#

lagrange(x, w)

返回 Lagrange 插值多项式。

approximate_taylor_polynomial(f, x, degree, ...)

通过多项式拟合估计 f 在 x 处的泰勒多项式。

pade(an, m[, n])

将多项式的 Pade 近似作为两个多项式的比率返回。

interpn(points, values, xi[, method, ...])

在规则或直角网格上的多维插值。

griddata(points, values, xi[, method, ...])

用于在多个维度中插值非结构化数据的便捷函数。

barycentric_interpolate(xi, yi, x[, axis, ...])

重心插值的便捷函数。

krogh_interpolate(xi, yi, x[, der, axis])

Krogh 插值的便捷函数。

pchip_interpolate(xi, yi, x[, der, axis])

pchip 插值的便捷函数。

Rbf(*args, **kwargs)

用于从 N 维散点数据到 M 维域进行径向基函数插值的类(旧版)。

interp1d(x, y[, kind, axis, copy, ...])

插值一维函数(旧版)。

interp2d(x, y, z[, kind, copy, ...])

用于二维插值的类(已弃用并移除)