为什么';这个R码不会产生同样的结果吗?(卷积与FFT)
为什么这不能产生相同的结果为什么';这个R码不会产生同样的结果吗?(卷积与FFT),r,fft,convolution,R,Fft,Convolution,为什么这不能产生相同的结果 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).... x它们不是等价的,因为convalve具有默认参数conj=TRUE,并且fft返回复杂类型的向量。如果我们改变这些,结果确实是一样的: all.equal(R
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)....
x它们不是等价的,因为convalve
具有默认参数conj=TRUE
,并且fft
返回复杂类型的向量。如果我们改变这些,结果确实是一样的:
all.equal(Re(f) / length(f), convolve(x, y, conj = FALSE))
# TRUE
@毛里塔尼亚:我不是学数学的,但是@DiceboyT设置conj=FALSE
确实有效。谢谢