You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

高斯函数与非对称高斯函数卷积结果峰值位置异常问题咨询

卷积结果峰值位置不符合预期的原因分析

我对高斯函数与非对称高斯函数执行卷积运算,实现代码如下:

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,500)
dx=x[1]-x[0]

# Gaussian
sigma1=0.1
peak1=1
gauss1=np.exp(-(x-peak1)**2/(2*sigma1**2))

# Asymmetric Gaussian
gauss2=0.5*np.exp(-(x-1.5)**2/(-0.2+x*0.4)**2)

# convolution
conv=np.convolve(gauss1,gauss2,mode='same')*dx

plt.plot(x,gauss1,label='Gaussian')
plt.plot(x,gauss2,label='Asymmetric Gaussian')
plt.plot(x,conv,label='Convolution')
plt.xlim(0,5)
plt.legend()
plt.show()

已得到卷积结果图像,但无法理解结果曲线的位置,原本认为它的峰值应该处于两个原始曲线的峰值位置之间,这是为什么?


原因解析

  1. 误解了卷积峰值的位置规律:两个函数卷积的峰值位置不是原函数峰值的中间,而是原函数峰值位置的和(当函数定义在整个实数域时)。
    卷积的数学定义为:$(f*g)(t) = \int_{-\infty}^{\infty} f(\tau)g(t-\tau)d\tau$,当$t = a + b$($a$是$f(x)$的峰值位置,$b$是$g(x)$的峰值位置)时,$\tau = a$,$t-\tau = b$,此时两个函数同时取到各自的峰值,乘积达到最大值,积分结果也对应卷积的峰值。

  2. 对应你的具体案例:

    • gauss1的峰值在$x=1$,gauss2的峰值在$x=1.5$,按照规律卷积的峰值应出现在$1+1.5=2.5$附近,这和你得到的结果完全一致。
  3. 非对称高斯的影响:你的gauss2是右拖尾的非对称高斯($x>1.5$区域衰减更慢),这会让卷积曲线在峰值右侧的拖尾更长,但这不会改变峰值位置的核心逻辑——峰值位置由两个原函数峰值的和决定。

内容的提问来源于stack exchange,提问作者freja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:05:29