Previous Page Contents

transform::laplace, transform::invlaplace -- Laplace and inverse Laplace transform

Introduction

transform::laplace(f, t, s) computes the Laplace transform int(f*exp(-s*t), t=0..infinity) of the expression f = f(t) with respect to the variable t at the point s.

transform::invlaplace(F, S, T) computes the inverse Laplace transform of the expression F = F(S) with respect to the variable S at the point T.

Call(s)

transform::laplace(f, t, s)
transform::invlaplace(F, S, T)

Parameters

f, F - arithmetical expressions
t, S - identifiers (the transformation variables)
s, T - arithmetical expressions (the evaluation points)

Returns

an arithmetical expression or an unevaluated function call of domain type transform::laplace or transform::invlaplace, respectively.

Overloadable:

f, F

Details

Example 1

The following call produces the Laplace transform as an expression in the variable s:

>> transform::laplace(exp(-a*t), t, s)
                                     1
                                   -----
                                   a + s
>> transform::invlaplace(%, s, t)
                                 exp(-a t)

Note that the Laplace transform can be evaluated directly at a specific point such as s = 2*a or s = 5:

>> transform::laplace(t^10*exp(-a*t), t, s),
   transform::laplace(t^10*exp(-a*t), t, 2*a),
   transform::laplace(t^10*exp(-a*t), t, 1 + PI)
                     3628800    44800       3628800
                    ---------, --------, --------------
                           11        11              11
                    (a + s)    2187 a    (a + PI + 1)

Some further examples:

>> transform::laplace(1 + exp(-a*t)*sin(b*t), t, s)
                             1         b
                             - + -------------
                             s    2          2
                                 b  + (a + s)
>> transform::invlaplace(1/(s^3 + s^5), s, t)
                                        2
                                       t
                              cos(t) + -- - 1
                                       2
>> transform::invlaplace(exp(-2*s)/(s^2 + 1) + s/(s^3 + 1), s, t)
                                    exp(-t)
      sin(t - 2) heaviside(t - 2) - ------- +
                                       3
      
                  /    /    1/2 \           /    1/2 \ \
            / t \ |    | t 3    |    1/2    | t 3    | |
         exp| - | | cos| ------ | + 3    sin| ------ | |
            \ 2 / \    \   2    /           \   2    / /
         -----------------------------------------------
                                3

Example 2

An unevaluated call is returned, if no explicit representation of the transform is found:

>> transform::laplace(exp(-t^3), t, s)
                                              3
                    transform::laplace(exp(- t ), t, s)

Note that this is not an ordinary expression, but a domain element of domain type transform::laplace:

>> domtype(%)
                            transform::laplace

The inverse of the formal transform yields the original expression:

>> transform::invlaplace(%2, s, t)
                                        3
                                 exp(- t )

Example 3

The distribution dirac and the Heaviside function heaviside are handled:

>> transform::laplace(dirac(t - 3), t, s)
                                 exp(-3 s)
>> transform::invlaplace(1, s, t)
                                 dirac(t)
>> transform::laplace(heaviside(t - PI), t, s)
                                exp(-s PI)
                                ----------
                                    s

Example 4

The Laplace transform of a function is related to the Laplace transform of its derivative:

>> transform::laplace(diff(f(t), t), t, s)
                  s transform::laplace(f(t), t, s) - f(0)

Changes




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000