Re: Fourier Transforms
- To: mathgroup at smc.vnet.net
- Subject: [mg75011] Re: [mg74964] Fourier Transforms
- From: Clifford Martin <camartin at snet.net>
- Date: Sat, 14 Apr 2007 01:05:52 -0400 (EDT)
Chris,
Generally easy to write your own 2D Fourier Transform. The following function works fairly well. It's a little old but still works well.
fourier2d[in_]:=Block[{nr,nc,r,c,out},
{nr,nc}=Dimensions[in];
{r,c}={Floor[nr/2]-1,Floor[nc/2]-1};
out=RotateLeft[Transpose[RotateLeft[in,r]],c];
out=N[Fourier[out]];
out=RotateRight[
Transpose[RotateRight[out,r]],c];
out=Chop[out]]
Regards.
Cliff
Christopher Arthur <caa0012 at unt.edu> wrote: Mathematica's numerical package for fourier transforms is
well-developed for the classical one-dimensional fourier transform. If
there would be, however, support for multidimensional transforms, then
its documentation is not easy to find in the help browser.
Furthermore, NIntegrate seems to choke quickly in its default mode if
we give it a form that is similar to these transforms. Can someone
recommend a technique for this? Suppose a two-dimensional transform
would be sufficient. Chris Arthur