Inverse Laplace transform




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

Input Arguments


Symbolic expression or function, vector or matrix of symbolic expressions or functions.


Symbolic variable representing the transformation variable. This variable is often called the "complex frequency variable".

Default: The variable s. If F does not contain s, then the default variable is determined by symvar.


Symbolic variable or expression representing the evaluation point. This variable is often called the "time variable".

Default: The variable t. If t is the transformation variable of F, then the default evaluation point is the variable x.


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

syms x y
F = 1/y^2;
ilaplace(F, y, x)
ans =

Compute the inverse Laplace transform of this expression calling the ilaplace function with one argument. If you do not specify the transformation variable, ilaplace uses the variable s.

syms a s x
F = 1/(s - a)^2;
ilaplace(F, x)
ans =

If you also do not specify the evaluation point, ilaplace uses the variable t:

ans =

Compute the following inverse Laplace transforms that involve the Dirac and Heaviside functions:

syms s t
ilaplace(1, s, t)
ans =
ilaplace(exp(-2*s)/(s^2 + 1) + s/(s^3 + 1), s, t)
ans =
heaviside(t - 2)*sin(t - 2) - exp(-t)/3 +...
(exp(t/2)*(cos((3^(1/2)*t)/2) + 3^(1/2)*sin((3^(1/2)*t)/2)))/3

If ilaplace cannot find an explicit representation of the transform, it returns an unevaluated call:

syms F(s) t
f = ilaplace(F, s, t)
f =
ilaplace(F(s), s, t)

laplace returns the original expression:

laplace(f, t, s)
ans =

Find the inverse Laplace 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
ilaplace([exp(x), 1; sin(y), i*z],[w, x; y, z],[a, b; c, d])
ans =
[        exp(x)*dirac(a),      dirac(b)]
[ ilaplace(sin(y), y, c), dirac(1, d)*1i]

When the input arguments are nonscalars, ilaplace acts on them element-wise. If ilaplace is called with both scalar and nonscalar arguments, then ilaplace 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
ilaplace(x,[x, w; y, z],[a, b; c, d])
ans =
[ dirac(1, a), x*dirac(b)]
[  x*dirac(c), x*dirac(d)]

Note that nonscalar input arguments must have the same size.

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;
ilaplace([f1, f2],x,[a, b])
ans =
[ ilaplace(exp(x), x, a), dirac(1, b)]

More About

expand all

Inverse Laplace Transform

The inverse Laplace transform is defined by a contour integral in the complex plane:


Here, c is a suitable complex number.


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

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

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

  • To compute the direct Laplace transform, use laplace.

Introduced before R2006a

Was this topic helpful?