scipy.signal.

gauss_spline#

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

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

参数:
xarray_like

一个节点向量

nint

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

返回:
resndarray

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

备注

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

\[\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) Fast and Accurate Gaussian Derivatives Based on B-Splines. In: Sgallari F., Murli A., Paragios N. (eds) Scale Space and Variational Methods in Computer Vision. SSVM 2007. Lecture Notes in Computer Science, vol 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