Main Content

ifourier

Inverse Fourier transform

Description

ifourier(F) returns the Inverse Fourier Transform of F. By default, the independent variable is w and the transformation variable is x. If F does not contain w, ifourier uses the function symvar.

example

ifourier(F,transVar) uses the transformation variable transVar instead of x.

example

ifourier(F,var,transVar) uses the independent variable var and the transformation variable transVar instead of w and x, respectively.

example

Examples

collapse all

Compute the inverse Fourier transform of exp(-w^2/4). By default, the inverse transform is in terms of x.

syms w
F = exp(-w^2/4);
ifourier(F)
ans =
exp(-x^2)/pi^(1/2)

Compute the inverse Fourier transform of exp(-w^2-a^2). By default, the independent and transformation variables are w and x, respectively.

syms a w t
F = exp(-w^2-a^2);
ifourier(F)
ans =
exp(- a^2 - x^2/4)/(2*pi^(1/2))

Specify the transformation variable as t. If you specify only one variable, that variable is the transformation variable. The independent variable is still w.

ifourier(F,t)
ans =
exp(- a^2 - t^2/4)/(2*pi^(1/2))

Compute the inverse Fourier transform of expressions in terms of Dirac and Heaviside functions.

syms t w
ifourier(dirac(w), w, t)
ans =
1/(2*pi)
f = 2*exp(-abs(w))-1;
ifourier(f,w,t)
ans =
-(2*pi*dirac(t) - 4/(t^2 + 1))/(2*pi)
f = exp(-w)*heaviside(w);
ifourier(f,w,t)
ans =
-1/(2*pi*(- 1 + t*1i))

Specify parameters of the inverse Fourier transform.

Compute the inverse Fourier transform of this expression using the default values of the Fourier parameters c = 1, s = -1. For details, see Inverse Fourier Transform.

syms t w
f = -(sqrt(sym(pi))*w*exp(-w^2/4)*i)/2;
ifourier(f,w,t)
ans =
t*exp(-t^2)

Change the Fourier parameters to c = 1, s = 1 by using sympref, and compute the transform again. The sign of the result changes.

sympref('FourierParameters',[1 1]);
ifourier(f,w,t)
ans =
-t*exp(-t^2)

Change the Fourier parameters to c = 1/(2*pi), s = 1. The result changes.

sympref('FourierParameters', [1/(2*sym(pi)) 1]);
ifourier(f,w,t)
ans =
-2*pi*t*exp(-t^2)

Preferences set by sympref persist through your current and future MATLAB® sessions. Restore the default values of c and s by setting FourierParameters to 'default'.

sympref('FourierParameters','default');

Find the inverse Fourier transform of the matrix M. Specify the independent and transformation variables for each matrix entry by using matrices of the same size. When the arguments are nonscalars, ifourier acts on them element-wise.

syms a b c d w x y z
M = [exp(x), 1; sin(y), i*z];
vars = [w, x; y, z];
transVars = [a, b; c, d];
ifourier(M,vars,transVars)
ans =
[                         exp(x)*dirac(a),    dirac(b)]
[ (dirac(c - 1)*1i)/2 - (dirac(c + 1)*1i)/2, dirac(1, d)]

If ifourier is called with both scalar and nonscalar arguments, then it expands the scalars to match the nonscalars by using scalar expansion. Nonscalar arguments must be the same size.

ifourier(x,vars,transVars)
ans =
[ x*dirac(a), -dirac(1, b)*1i]
[ x*dirac(c),      x*dirac(d)]

If ifourier cannot transform the input, then it returns an unevaluated call to fourier.

syms F(w) t
f = ifourier(F,w,t)
f =
fourier(F(w), w, -t)/(2*pi)

Input Arguments

collapse all

Input, specified as a symbolic expression, function, vector, or matrix.

Independent variable, specified as a symbolic variable. This variable is often called the "frequency variable." If you do not specify the variable, then ifourier uses w. If F does not contain w, then ifourier uses the function symvar to determine the independent variable.

Transformation variable, specified as a symbolic variable, expression, vector, or matrix. It is often called the "time variable" or "space variable." By default, ifourier uses x. If x is the independent variable of F, then ifourier uses t.

More About

collapse all

Inverse Fourier Transform

The inverse Fourier transform of the expression F = F(w) with respect to the variable w at the point x is

f(x)=|s|2πcF(w)eiswxdw.

c and s are parameters of the inverse Fourier transform. The ifourier function uses c = 1, s = –1.

Tips

  • If any argument is an array, then ifourier acts element-wise on all elements of the array.

  • If the first argument contains a symbolic function, then the second argument must be a scalar.

  • The toolbox computes the inverse Fourier transform via the Fourier transform:

    ifourier(F,w,t)=12πfourier(F,w,t).

    If ifourier cannot find an explicit representation of the inverse Fourier transform, then it returns results in terms of the Fourier transform.

  • To compute the Fourier transform, use fourier.

References

[1] Oberhettinger, F. "Tables of Fourier Transforms and Fourier Transforms of Distributions." Springer, 1990.

Version History

Introduced before R2006a