为什么这不会产生相同的结果?
x <- runif(10, 0, 1)
y <- runif(10, 0, 1)
convolve(x,y)
f <- fft(fft(x)*fft(y), inverse = TRUE)
f/length(f) ##not the same as convolve(x,y)....
如果这不是函数 convolve
正在做的事情,那么还有什么?
最佳答案
它们并不等价,因为 convolve
有默认参数 conj = TRUE
,而 fft
返回复数类型的向量。如果我们改变这些,结果确实是一样的:
all.equal(Re(f) / length(f), convolve(x, y, conj = FALSE))
# TRUE
关于r - 为什么这个 R 代码没有产生相同的结果? (卷积与 FFT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60198758/