Python scipy卷积结果取决于基础x的离散化
我在理解scipy的卷积如何工作时遇到了一些问题。只是为了尝试如何工作,我把一条高斯曲线和它自己卷积起来。对卷积的结果进行积分应该得到1,但我得到的结果取决于我在离散x时选择的点数。 我不明白为什么会这样。稍后,我想在其他情况下使用卷积,在这些情况下,这是至关重要的,因此我需要了解如何避免这个问题Python scipy卷积结果取决于基础x的离散化,python,scipy,convolution,Python,Scipy,Convolution,我在理解scipy的卷积如何工作时遇到了一些问题。只是为了尝试如何工作,我把一条高斯曲线和它自己卷积起来。对卷积的结果进行积分应该得到1,但我得到的结果取决于我在离散x时选择的点数。 我不明白为什么会这样。稍后,我想在其他情况下使用卷积,在这些情况下,这是至关重要的,因此我需要了解如何避免这个问题 import numpy as np import scipy as sc import scipy.signal import matplotlib.pyplot as plt def Gauss
import numpy as np
import scipy as sc
import scipy.signal
import matplotlib.pyplot as plt
def Gaussian(x, sigma):
return 1/(sigma*(2*np.pi)**0.5)*np.exp(-0.5*(x/sigma)**2)
x = np.linspace(-1, 1, 1000)
sigma = 0.01
gauss_integrated = np.trapz(Gaussian(x, sigma), x)
convolution = sc.signal.convolve(Gaussian(x, sigma), Gaussian(x, sigma), mode='same')
convolution_integrated = np.trapz(convolution, x)
print(gauss_integrated)
print(convolution_integrated)
plt.plot(x, Gaussian(x, sigma))
plt.plot(x, convolution)
plt.show()