scipy.signal.

gauss_spline#

scipy.signal.gauss_spline(x, n)[源代码]#

B 样条基函数的 n 阶高斯近似。

参数:
xarray_like

一个节点向量

nint

样条的阶数。必须是非负的,即 n >= 0

返回:
resndarray

由零均值高斯函数近似的 B 样条基函数值。

备注

B 样条基函数可以用标准差等于 \(\sigma=(n+1)/12\) 的零均值高斯函数很好地近似,对于较大的 n

\[\frac{1}{\sqrt {2\pi\sigma^2}}exp(-\frac{x^2}{2\sigma})\]

参考文献

[1]

Bouma H., Vilanova A., Bescos J.O., ter Haar Romeny B.M., Gerritsen F.A. (2007) 基于 B 样条的快速精确高斯导数。In: Sgallari F., Murli A., Paragios N. (eds) 计算机视觉中的尺度空间和变分方法。SSVM 2007。计算机科学讲义,第 4485 卷。Springer,柏林,海德堡

示例

我们可以计算由高斯分布近似的 B 样条基函数

>>> import numpy as np
>>> from scipy.signal import gauss_spline
>>> knots = np.array([-1.0, 0.0, -1.0])
>>> gauss_spline(knots, 3)
array([0.15418033, 0.6909883, 0.15418033])  # may vary