我有一个关于python的问题fftconvolve.在我目前的研究中,我被要求计算两个函数之间的一些卷积.为此,我使用傅立叶变换(我使用numpy.fft并对其进行标准化)来计算它.问题是,如果我想使用fftconvolve包进行比较,它无法给出正确的结果.这是我的代码:
#!/usr/bin/python
import numpy as np
from scipy.signal import fftconvolve , convolve
def FFT(array , sign):
if sign==1:
return np.fft.fftshift(np.fft.fft(np.fft.fftshift(array))) * dw / (2.0 * np.pi)
elif sign==-1:
return np.fft.fftshift(np.fft.ifft(np.fft.fftshift(array))) * dt * len(array)
def convolve_arrays(array1,array2,sign):
sign = int(sign)
temp1 = FFT(array1 , sign,)
temp2 = FFT(array2 , sign,)
temp3 = np.multiply(temp1 , temp2)
return FFT(temp3 , -1 * sign) / (2. * np.pi)
""" EXAMPLE """
dt = .1
N = 2**17
t_max …Run Code Online (Sandbox Code Playgroud)