SciPy

scipy.interpolate.SmoothBivariateSpline

class scipy.interpolate.SmoothBivariateSpline(x, y, z, w=None, bbox=[None, None, None, None], kx=3, ky=3, s=None, eps=None)[source]

Smooth bivariate spline approximation.

Parameters:
x, y, z : array_like

1-D sequences of data points (order is not important).

w : array_like, optional

Positive 1-D sequence of weights, of same length as x, y and z.

bbox : array_like, optional

Sequence of length 4 specifying the boundary of the rectangular approximation domain. By default, bbox=[min(x,tx),max(x,tx), min(y,ty),max(y,ty)].

kx, ky : ints, optional

Degrees of the bivariate spline. Default is 3.

s : float, optional

Positive smoothing factor defined for estimation condition: sum((w[i]*(z[i]-s(x[i], y[i])))**2, axis=0) <= s Default s=len(w) which should be a good value if 1/w[i] is an estimate of the standard deviation of z[i].

eps : float, optional

A threshold for determining the effective rank of an over-determined linear system of equations. eps should have a value between 0 and 1, the default is 1e-16.

See also

bisplrep
an older wrapping of FITPACK
bisplev
an older wrapping of FITPACK
UnivariateSpline
a similar class for univariate spline interpolation
LSQUnivariateSpline
to create a BivariateSpline using weighted

Notes

The length of x, y and z should be at least (kx+1) * (ky+1).

Methods

__call__(x, y[, dx, dy, grid]) Evaluate the spline or its derivatives at given positions.
ev(xi, yi[, dx, dy]) Evaluate the spline at points
get_coeffs() Return spline coefficients.
get_knots() Return a tuple (tx,ty) where tx,ty contain knots positions of the spline with respect to x-, y-variable, respectively.
get_residual() Return weighted sum of squared residuals of the spline approximation: sum ((w[i]*(z[i]-s(x[i],y[i])))**2,axis=0)
integral(xa, xb, ya, yb) Evaluate the integral of the spline over area [xa,xb] x [ya,yb].