[Date Index]
[Thread Index]
[Author Index]
Re: Problem with LaplaceTransform (Help !)
*To*: mathgroup at christensen.cybernetics.net
*Subject*: [mg1039] Re: Problem with LaplaceTransform (Help !)
*From*: chen at fractal.eng.yale.edu (Richard Q. Chen)
*Date*: Wed, 10 May 1995 07:15:32 -0400
*Organization*: Yale University
In article <3nv8he$91e at news0.cybernetics.net>, gottsch at mikro.ee.tu-berlin.de (Gert Gottschalk) writes:
>
>Hello,
>
>I am looking into filter behaviour in signal processing. To do so
>I make use of LaplaceTransform and InverseLaplaceTransform.
>When I want results to be evaluated as in Plots I get problems
>from the transform with numerical computation error messages and
>warnings.
>
>I define:
>
>In[1]:= <<Calculus`LaplaceTransform`
>In[2]:= om[t_]:= If[t>0,1,0]
>In[3]:= q[s_] := LaplaceTransform[om[t],t,s]
>In[4]:= Plot[q[s],{s,0,100}]
>
Mma output deleted.
>
>The plot I finally get doesn't look like what I expected
>a simple switch in frequency.
>
>I think the problem comes from the integration in the transform.
>Normally it is done from -infinity to +infinity. With a finite
>set of data I would like to reduce this range.
>Perhaps then also the result of the transform would become better
>
>I would like to hear comments about these thoughts.
>
Laplace transform always does integrals from 0 to infinity. That is,
a step function is implicitly assumed. You really don't need to specify
this:
In[11]:= LaplaceTransform[1,t,s]
1
Out[11]= -
s
The transform you are trying to compute is not defined at s = 0.
Mathematically, there is a simple pole there. Of course q[s] is defined
for all Re[s] > 0.
In your case, Mma does not know how to do the transform analytically
(you need to load in a special package and use Heaviside function to
get analytic result), whence it resorts to numerical integation.
The numerical integration has trouble near s = 0. If you do
Plot[q[s],{s,1,10}]
you will get no message whatsoever. But if you replace 1 by 0.01 you
will see warning messages but you still get the plot. It is not reasonable
to ask for q[0] because it does not exist.
The integral Mma is trying to do is of the form
NIntegrate[E^(-s t),{t,0,Infinity}]
The following shows that this is precisely what happens
In[7]:= g[s_]:=NIntegrate[E^(-s t),{t,0,Infinity}]
In[8]:= g[0.01]
General::under: Underflow occurred in computation.
General::under: Underflow occurred in computation.
General::under: Underflow occurred in computation.
General::stop: Further output of General::under
will be suppressed during this calculation.
Out[8]= 100.
Mma manages to obtain the correct result.
--
Richard Q. Chen
chen at fractal.eng.yale.edu
Prev by Date:
**play to wav?**
Next by Date:
**The Case of the Mystery Option**
Previous by thread:
**Re: Problem with LaplaceTransform (Help !)**
Next by thread:
**Re: Strange answer from Eigensystem[]!**
| |