Documentation

ifourier

Inverse Fourier transform

Syntax

  • ifourier(F,trans_var,eval_point)
    example

Description

example

ifourier(F,trans_var,eval_point) computes the inverse Fourier transform of F with respect to the transformation variable trans_var at the point eval_point.

Examples

Inverse Fourier Transform of Symbolic Expression

Compute the inverse Fourier transform of this expression with respect to the variable y at the evaluation point x.

syms x y
F = sqrt(sym(pi))*exp(-y^2/4);
ifourier(F, y, x)
ans =
exp(-x^2)

Default Transformation Variable and Evaluation Point

Compute the inverse Fourier transform of this expression calling the ifourier function with one argument. If you do not specify the transformation variable, ifourier uses the variable w.

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

If you also do not specify the evaluation point, ifourier uses the variable x:

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

For further computations, remove the assumptions:

syms a w t clear

Inverse Fourier Transforms Involving Dirac and Heaviside Functions

Compute the following inverse Fourier transforms that involve the Dirac and Heaviside functions.

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

Parameters of Inverse Fourier Transform

Specify parameters of the inverse Fourier transform.

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

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

Change the values of the Fourier parameters to c = 1s = 1 by using sympref. Then compute the inverse Fourier transform of the same expression again.

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

Change the values of the Fourier parameters to c = 1/2πs = 1 by using sympref. Compute the inverse Fourier transform using these values.

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

The preferences set by sympref persist through your current and future MATLAB® sessions. To restore the default values of c and s, set sympref to 'default'.

sympref('FourierParameters','default');

Inverse Fourier Transform of Matrix

Find the inverse Fourier transform of this matrix. Use matrices of the same size to specify the transformation variable and evaluation point.

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

When the input arguments are nonscalars, ifourier acts on them element-wise. If ifourier is called with both scalar and nonscalar arguments, then ifourier expands the scalar arguments into arrays of the same size as the nonscalar arguments with all elements of the array equal to the scalar.

syms w x y z a b c d
ifourier(x,[x, w; y, z],[a, b; c, d])
ans =
[ -dirac(1, a)*1i, x*dirac(b)]
[     x*dirac(c), x*dirac(d)]

Note that nonscalar input arguments must have the same size.

Inverse Fourier Transform of Vector of Symbolic Functions

When the first argument is a symbolic function, the second argument must be a scalar.

syms f1(x) f2(x) a b
f1(x) = exp(x);
f2(x) = x;
ifourier([f1, f2],x,[a, b])
ans =
[ fourier(exp(x), x, -a)/(2*pi), -dirac(1, b)*1i]

If Inverse Fourier Transform Cannot be Found

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

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

Input Arguments

collapse all

F — Input functionsymbolic expression | symbolic function | vector of symbolic expressions or functions | matrix of symbolic expressions or functions

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

trans_var — Transformation variablew (default) | symbolic variable

Transformation variable, specified as a symbolic variable. This variable is often called the "frequency variable".

If you do not specify the transformation variable, ifourier uses the variable w by default. If F does not contain w, then the default variable is determined by symvar.

eval_point — Evaluation pointx (default) | t | symbolic variable | symbolic expression | vector of symbolic variables or expressions | matrix of symbolic variables or expressions

Evaluation point, specified as a symbolic variable, expression, or vector or matrix of symbolic variables or expressions. This is often called the "time variable" or the "space variable".

If you do not specify the evaluation point, ifourier uses the variable x by default. If x is the transformation variable of F, then the default evaluation point is the variable t.

More About

expand 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 defined as follows:

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

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

Tips

  • If you call ifourier with two arguments, it assumes that the second argument is the evaluation point eval_point.

  • If F is a matrix, ifourier acts element-wise on all components of the matrix.

  • If eval_point is a matrix, ifourier acts element-wise on all components of the matrix.

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

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

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

  • To compute the direct Fourier transform, use fourier.

References

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

Introduced before R2006a

Was this topic helpful?