SciPy - 拟合高斯包络
SciPy - fit a Gaussian envelope
我有一个数值计算的光脉冲时间形状,存储在 NumPy 数组中。我想找到它的高斯包络函数的参数(特别是 FWHM),但首先我必须适应它。
是否有用于包络拟合的内置 SciPy 函数或函数集,或者我必须自己编写此代码? (由于准确性不是太重要,我可能只取局部最大值并在其上拟合高斯...)
光脉冲看起来像这样:
如果你只想找到最大值,我建议使用 Scipy 的 argrelextrema。
不过在我看来,您可能想要使用 Scipy 的 Hilbert transform
为了找到包络的解析形式。然后,您可以为可以拟合高斯的包络线生成一个数组。
对于高斯拟合有一个很好的答案here。
我有一个数值计算的光脉冲时间形状,存储在 NumPy 数组中。我想找到它的高斯包络函数的参数(特别是 FWHM),但首先我必须适应它。
是否有用于包络拟合的内置 SciPy 函数或函数集,或者我必须自己编写此代码? (由于准确性不是太重要,我可能只取局部最大值并在其上拟合高斯...)
光脉冲看起来像这样:
如果你只想找到最大值,我建议使用 Scipy 的 argrelextrema。
不过在我看来,您可能想要使用 Scipy 的 Hilbert transform 为了找到包络的解析形式。然后,您可以为可以拟合高斯的包络线生成一个数组。
对于高斯拟合有一个很好的答案here。