scipy.interpolate.

SmoothBivariateSpline#

scipy.interpolate.SmoothBivariateSpline(x, y, z, w=None, bbox=[None, None, None, None], kx=3, ky=3, s=None, eps=1e-16)[源代码]#

平滑双变量样条近似。

参数:
x, y, zarray_like

数据点的一维序列(顺序不重要)。

warray_like,可选

正 1-D 加权序列,长度与 xyz 相同。

bboxarray_like,可选

指定矩形近似域边界的长度为 4 的序列。默认情况下,bbox=[min(x), max(x), min(y), max(y)]

kx、ky整数,可选

双变量样条函数的次数。默认为 3。

s浮点数,可选

针对估计条件定义的正平滑因子:sum((w[i]*(z[i]-s(x[i], y[i])))**2, axis=0) <= s 默认为 s=len(w),如果 1/w[i]z[i] 标准偏差的估计值,则这是个好值。

eps浮点数,可选

用于确定超定线性方程组有效秩的阈值。eps 应在开区间 (0, 1) 内,默认为 1e-16。

另请参阅

BivariateSpline

双变量样条函数的基础类。

UnivariateSpline

平滑的单变量样条函数,用于拟合给定的一组数据点。

LSQBivariateSpline

使用加权最小二乘拟合的双变量样条函数

RectSphereBivariateSpline

球面上矩形网格上的双变量样条函数

SmoothSphereBivariateSpline

球坐标系中的平滑双变量样条函数

LSQSphereBivariateSpline

球坐标系中使用加权最小二乘拟合的双变量样条函数

RectBivariateSpline

矩形网格上的双变量样条函数

bisplrep

查找曲面的双变量 B 样条函数表示形式的函数

bisplev

计算双变量 B 样条函数及其导数的函数

备注

xyz 的长度应至少为 (kx+1) * (ky+1)

如果输入数据让输入维度单位不相称且相差许多个数量级时,插补函数可能出现数值伪像。请考虑在插补前重新缩放数据。

此例程通过 FITPACK 算法自动构造样条结点向量。样条结点可以放置在远离数据点的位置。对于某些数据集,即使通过 s=0 参数请求一个插值样条,此例程也可能会无法构造一个插值样条。在此类情况下,建议直接使用 bisplrep / bisplev 代替此例程,并且在需要时增加 bisplrepnxestnyest 参数的值。

对于线性插值,优先使用 LinearNDInterpolator。请参阅 https://gist.github.com/ev-br/8544371b40f414b7eaf3fe6217209bff 以了解讨论内容。

方法

__call__(x, y[, dx, dy, grid])

在给定位置处评估样条或其导数。

ev(xi, yi[, dx, dy])

在点处评估样条

get_coeffs()

返回样条系数。

get_knots()

分别返回一个包含 tx、ty 的元组,其中 tx、ty 包含样条相对于 x 变量和 y 变量的结点位置。

get_residual()

返回样条逼近的加权平方残差和:sum ((w[i]*(z[i]-s(x[i],y[i])))**2,axis=0)

integral(xa, xb, ya, yb)

评估 [xa,xb] x [ya,yb] 区域上的样条积分。

partial_derivative(dx, dy)

构造一个新样条,它表示此样条的一个偏导数。