Re: Laplace Transforms of piecewise continuous functions
- To: mathgroup at smc.vnet.net
- Subject: [mg28309] Re: Laplace Transforms of piecewise continuous functions
- From: Matthias Hertel <wir95cgu at studserv.uni-leipzig.de>
- Date: Mon, 9 Apr 2001 02:58:07 -0400 (EDT)
- References: <200104070744.DAA02009@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Michael,
you can use UnitStep as the building block for piecewise continuous
functions. Your function could be written as
3 UnitStep[t] - 5 UnitStep[t-2] + 2 UnitStep[t-3]
Transcribing functions from a list of cases to sums of UnitSteps
becomes tiresome after a while. It becomes easier if you define a box
function that is 1 in the closed interval [a,b] and 0 elsewhere (for
a <= b):
box[t_, a_, b_] := UnitStep[t - a] + UnitStep[b - t] - 1
Now you can easily define a triangle function
/ t, 0 <= t < alpha
f(t) = { 2 alpha - t, alpha <= t < 2 alpha
\ 0, else
as
f[t_] := t box[t, 0, alpha] + (2 alpha - t)box[t, alpha, 2 alpha]
and apply LaplaceTransform to it:
LaplaceTransform[f[t], t, s]
The output looks a bit intimidating, but you can simplify it by
clueing in FullSimplify on our assumption that the lower bound of the
interval given to box is not greater than the upper bound:
FullSimplify[%, alpha>=0]
which gives
alpha s 2
(-1 + E )
----------------
2 alpha s 2
E s
Of course, there might be a more direct approach. But for some reason,
the alternate definition of box,
box[t_, a_, b_] := If[a <= t <= b, 1, 0]
doesn't play nice with LaplaceTransform (and ZTransform won't touch it
at all). As for why, I have no idea.
Separately integrating the pieces and adding could be the easiest
route (if you let Mathematica do the work):
pwlaplace[pieces : {{_, _, _} ..}, t_, s_] :=
Plus @@ (Integrate[Exp[-s t]#1, {t, #2, #3}] & @@@ pieces)
pwlaplace[{{t, 0, alpha}, {2alpha - t, alpha, 2alpha}}, t, s]
// Simplify
does the same as above with less hassle. Your example would be
pwlaplace[{{3, 0, 2}, {-2, 2, 3}}, t, s]
or
pwlaplace[{{3, 0, 2}, {-2, 2, 3}, {0, 3, Infinity}}, t, s]
HTH
Matthias
"Michael A. Powers" <mapowers at email.com> writes:
> Hi,
>
> The documentation isn't very clear on how to compute a Laplace Transform of
> a piecewise continuous function f(t). Say I have a function f(t) such that:
>
> f(t) = {3 over 0<=t<2, -2 over 2<=t<3, 0 over 3 <=t}
>
> how can I use the LaplaceTransform[] function to compute this easily?
> (aside from separately integrating the pieces, and adding)
>
> Thanks,
>
> -Mike
- References:
- Laplace Transforms of piecewise continuous functions
- From: "Michael A. Powers" <mapowers@email.com>
- Laplace Transforms of piecewise continuous functions