scipy.signal.

高斯样条#

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

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

参数:
xarray_like

一个节点向量

n整数

样条的阶数。必须是非负的,即 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样条的快速且精确的高斯导数。在:Sgallari F., Murli A., Paragios N. (编) 计算机视觉中的尺度空间和变分方法。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