Performs a Fourier analysis on a real periodic sequence on the given dimension.
Available in version 6.3.0 and later.
function ezfftf_n ( x : numeric, dim  : integer ) return_val : typeof(x)
A variable containing one or more periodic sequences to be transformed. The dim argument represents the dimension of x to transform. The size of this dimension need not be a power of 2.dim
A scalar integer indicating which dimension of x to transform. Dimension numbering starts from the left at 0.
A double array is returned if x is double, otherwise a float array is returned.
If npts is the size of the dimension to be transformed, and NL and NR represent an arbitrary number of dimensions to the left and right of dim, then the Fourier coefficients are returned as an variable dimensioned (2,NL,npts/2,NR). The leftmost dimension of size 2 contains the real and imaginary coefficients.
It also returns the series mean(s) as an attribute called xbar. A second attribute, npts, specifies the length of the original series.
Given a real periodic sequence x, ezfftf_n performs a forward Fourier transform on the given dimension. This is often called Fourier Analysis.
ezfftf_n is a direct call to the FFTPACK routine at
If any missing values are encountered in one of the input arrays, then no calculations will be performed on that array, and the corresponding output array will be filled with missing values.
Peter Bloomfield Fourier analysis of time series : An introduction New York : John Wiley and Sons , 1976
See the ezfftf documentation for more detailed examples. Below is the second example from this documentation.
Assume x(ntim,klvl,nlat,mlon) and you want to do the transform on the "mlon" dimension.
In the "Return Value" documentation, NL corresponds to the dimension sizes (ntim,klvl,nlat), and NR is just 1.
cf = ezfftf_n (x,3) ; ==> cf(2,ntim,klvl,nlat,mlon/2) ; ==> cf@npts = mlon ; ==> cf@xbar ==> contains the means length=ntim*klvl*nlatThe attribute xbar is returned as a one-dimensional array. The following will make this a three-dimensional array:
xAvg = reshape(cf@xbar, (/ntim,klvl,nlat/) )