MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Fourier and InverseFourier

I kind person on this ng (Gulliet) recently contributed a 
convolution scheme which works nicely to plot x2 below:

conv[f1_, f2_] := Module[{u}, Evaluate[Integrate[f1[u] f2[# 
- u], {u, 0, #}]] &]

x2[t_] := convolve[Sin[t], Exp[-t]][t]

Plot[x2[t], {t, 0, 15}, PlotRange -> All]

Wondering if I could achieve the same thing in the freq. 
domain, I tried what I thought should give the same result 
in x3:

fs = FourierTransform[Sin[t], t, w]
fe = FourierTransform[Exp[-t], t, w]

x3[t_] := InverseFourierTransform[fs*fe, w, t]

Plot[x3[t], {t, 0, 15}, PlotRange -> All]

I find this does not work, getting this err message and Mathematica 
(v.5.1) didn't stop in over 30 minutes.

NIntegrate::ploss: Numerical integration stopping due to 
loss of precision. Achieved neither the requested 
PrecisionGoal nor AccuracyGoal; suspect one of the 
following: highly oscillatory integrand or the true value of 
the integral is 0. If your integrand is oscillatory on a 
(semi-)infinite interval try using the option 
Method->Oscillatory in NIntegrate.

Since I'm using the internal integrals of 
InverseFourierTransform I don't know how to try the 
suggestion of Method->Oscillatory as the message suggests.

I changed the Sin[t] to t and the process gave no err 
messages and finished in just a few minutes. The plot had 
axes but nothing on it.

Can someone give me any hints as what might work?

  • Prev by Date: Re: FourierTransform and removable singularities
  • Next by Date: Re: How to make a loop for this problem!
  • Previous by thread: Re: Finding cardinality of set based on random selection from set
  • Next by thread: Re: Fourier and InverseFourier