scipy.signal.

gauss_spline#

scipy.signal.gauss_spline(x, n)[source]#

对n阶B样条基函数的Gaussian近似。

参数::
x类数组

一个节点向量

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样条的快速准确高斯导数。在:Sgallari F., Murli A., Paragios N. (eds) 计算机视觉中的尺度空间和变分方法。SSVM 2007。计算机科学讲义,卷 4485。Springer,Berlin,Heidelberg

示例

我们可以计算由高斯分布近似的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