[R] Is R's fast fourier transform function different from "fft2" in Matlab?

Sundar Dorai-Raj sundar.dorai-raj at pdf.com
Thu May 3 05:45:17 CEST 2007


Li Li said the following on 5/2/2007 7:53 PM:
> Thanks for both replies.
> Then I found the "ifft2" from Matlab gives different result from "fft( ,
> inverse=T)" from R.
> An example:
> in R:
>> temp  <- matrix(c(1,4,2, 20), nrow=2)
>> fft(temp)
>        [,1]   [,2]
> [1,]  27+0i -17+0i
> [2,] -21+0i  15+0i
>> fft(temp,inverse=T)
>        [,1]   [,2]
> [1,]  27+0i -17+0i
> [2,] -21+0i  15+0i
> 
> In Matlab:
>> A = [1,2;4,20];
>> fft2(A)
> Ans =
>    27    -17
>   -21     15
>> ifft2(A)
> Ans=
>    6.7500    -4.2500
>   -5.2500      3.7500
> 
> I also tried mvfft with inverse but can't get same result with "ifft2". Does
> any function work?


This is easily explained if you read ?fft and the description of the 
'inverse' argument in the Value section. Please do read the help pages 
as the posting guide suggests.

  Re(fft(temp, inverse = TRUE)/4)

--sundar



More information about the R-help mailing list