bisplrep#
- scipy.interpolate.bisplrep(x, y, z, w=None, xb=None, xe=None, yb=None, ye=None, kx=3, ky=3, task=0, s=None, eps=1e-16, tx=None, ty=None, full_output=0, nxest=None, nyest=None, quiet=1)[source]#
找到曲面的双变量 B 样条表示。
给定表示曲面 z=f(x,y) 的一组数据点 (x[i], y[i], z[i]),计算曲面的 B 样条表示。基于 FITPACK 中的例程 SURFIT。
- 参数:
- x, y, zndarray
数据点的秩 1 数组。
- wndarray,可选
权重的秩 1 数组。默认情况下,
w=np.ones(len(x))
.- xb、xefloat,可选
x 中近似区间的端点。默认
xb = x.min(), xe=x.max()
。- yb、yefloat,可选
y 中近似区间的端点。默认
yb=y.min(), ye = y.max()
。- kx、kyint,可选
样条的次数 (1 <= kx, ky <= 5)。建议使用三次(kx=ky=3)。
- taskint,可选
如果 task=0,则对给定平滑系数 s 查找 x 和 y 中的结点,以及系数。如果 task=1,则找到适用于平滑系数 s 另一个值的结点和系数。此前必已使用 task=0 或 task=1 调用过 bisplrep。如果 task=-1,则找到一组给定结点 tx, ty 的系数。
- sfloat,可选
非负平滑系数。如果权重与 z 中误差的标准差的倒数相对应,那么在一个范围
(m-sqrt(2*m),m+sqrt(2*m))
中应该可以找到一个良好的 s 值,其中 m=len(x)。- epsfloat,可选
用于确定超定线性方程组的有效秩的一个阈值 (0 < eps < 1)。不太可能需要更改 eps。
- tx、tyndarray,可选
当 task=-1 时,用于存储样条结点的秩 1 数组
- full_outputint,可选
非零值表示返回可选的输出。
- nxest、nyestint,可选
结点总数的高估值。如果为 None,则
nxest = max(kx+sqrt(m/2),2*kx+3)
,nyest = max(ky+sqrt(m/2),2*ky+3)
。- quietint,可选
非零值表示禁止打印消息。
- 返回:
- tckarray_like
一个包含表面二次 B 样条表示形式的结点 (tx, ty) 和系数 (c) 的列表,以及样条的次数。
- fpndarray
样条逼近的加权平方残差和。
- ierint
关于 splrep 成功与否的一个整数标志。当 ier<=0 时表示成功。如果 ier 在 [1,2,3] 中,则发生了错误但未引发。否则会引发错误。
- msgstr
对应于整数标志 ier 的一条消息。
另请参阅
注释
参阅
bisplev
根据 tck 表示法计算 B 样条的值。如果输入数据单位不匹配且相差几个数量级,插值器可能出现数值伪影。考虑在插值前重新调整数据。
参考
[1]Dierckx P.:使用样条函数进行曲面拟合 Ima J. Numer. Anal. 1 (1981) 267-283.
[2]Dierckx P.:使用样条函数进行曲面拟合 report tw50, Dept. Computer Science,K.U.Leuven, 1980.
[3]Dierckx P.:使用样条函数进行曲线和曲面拟合,数值分析专著,牛津大学出版社,1993 年。
示例
示例 在教程中给出了。