Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2002
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2002

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

Search the Archive

Re: Simple Trigonometric Integrals

  • To: mathgroup at smc.vnet.net
  • Subject: [mg32368] Re: [mg32338] Simple Trigonometric Integrals
  • From: Timothy Stiles <tastiles at students.wisc.edu>
  • Date: Wed, 16 Jan 2002 03:30:43 -0500 (EST)
  • References: <200201150730.CAA04585@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

This is a problem that I also occasionally run into. I'm not sure, but I
believe the cause is that Mathematica tries to simplify the argument to
Integrate before doing the integral. In this case, and in many others, the
simplification takes a long time. It may be easier to break the integral
up, since Integrate[a[x] + b[x], {x, x0, x1}] = Integrate[a[x],{x,x0,x1}] +
Integrate[b[x], {x, x0, x1}], and do each term separately. The following
small function does that for any function defined similar to Joe,

Apply[Plus, Map[Integrate[#, {t, 0, 2 Pi}]&, Level[Joe, 1]]]

On my system, for the Joe defined below, Mathematica returns 0 in 0.1
second.

Level[Joe, 1] returns a list of terms in Joe, which Integrate is mapped
over. The result of that is a list of the values of the integral of each
term, which then is summed with Apply[Plus, ...].

This doesn't work for anything you throw at it, in particular, the head of
Joe must be Plus for this to work at all, but it may work for what you
want.

--Tim Stiles


Joe Helfand wrote:

> Hey,
>
>     I have a thing about Mathematica.  Sometimes I have a real long
> expression that involves the integral of the sum of lots of cosines and
> sines of some variable let's say 't'.  But having done some fancy maths
> on my own to reduce it and get into a simple integral from 0 to 2 Pi,
> and the sines and cosines all involve some integer multiple of t, the
> integration takes for ever, it basically hangs.  Now, although the
> expression is long, and there are a lot of terms in it, it still just
> becomes a simple periodic integral from zero to 2 pi, and all the
> trigonometric terms involving t should just drop out.  Kind of like what
> sometimes can happen if you are playing around with a Fourier series
> expansion (by the way, does Mathematica have a built in Fourier Series
> expansion?  I mean something like Series[], but returns fourier
> coefficients?).  Uptill now, I have been able to get by with something
> like using
>
> periodicIntegral={Cos[t] -> 0, Cos[2 t] -> 0, Cos[3 t] -> 0, Cos[4 t] ->
> 0, Cos[5t] -> 0, Cos[6 t] -> 0, Cos[7 t] -> 0, Sin[t] -> 0, Sin[2 t] ->
> 0, Sin[3 t] -> 0, Sin[4 t] -> 0, Sin[5t] -> 0, Sin[6 t] -> 0, Sin[7 t]
> -> 0};
>
> and then doing a replace on the expresion, multiplying the result by 2
> Pi.  But now I am in a bind where no amount of TrigReduce, TrigExpand,
> TrigFactor, etc. will get this big ass expression into the desired form
> where the above is approriate (because there are other sines and cosines
> of other variables that get put into the terms and stand by
> themselves).  Still, the expression should be easy to do for the
> computer, even I can go through and set these terms to zero, but it will
> just take me a long time.  An example of what I am talking about, just
> try the following:
>
> In[687]:=
> Joe = a c Cos[t]/(g s) + b q Cos[2 t]/(c f) + c Cos[3 t]/(d a) +
>       d f Cos[4 t]/(h a n) + e q Cos[5t]/(g a) + f l Cos[6 t]/(w r m) +
>       g b Cos[7 t]/(o n x) + h Sin[t]/(b c) + i Sin[2 t]/(h e r) +
>       j y Sin[3 t]/(l p) + d k Sin[4 t]/(j c) + l m a Sin[5 t]/(f s b h)
> +
>       m p Sin[6 t]/(k j) + q n Sin[7 t]/(x c);
>
> In[688]:=
> Integrate[Joe, {t, 0, 2 Pi}]
>
> and you willl see it takes a long time to integrate.  (It will
> eventually get done.)  I know this is just zero, but why does it take so
> long for the computer to figure out?  It is true that my expression is
> even longer than this one, so essentially it hangs, but basically it is
> the same problem.  I do not what to be hunting through my equation from
> hell setting all the relevant trigonometric terms to zero when the
> computer should be able to do this.  Well, sorry for the harangue but I
> greatly appreciate you reading down so far, really.  If you have any
> suggestions or comments, point out I am an idiot there is some simple
> thing in Mathematica, please send it.
>
> Joe



  • Prev by Date: Re: Simple Trigonometric Integrals
  • Next by Date: Re: Simple Trigonometric Integrals
  • Previous by thread: Re: Simple Trigonometric Integrals
  • Next by thread: Re: Simple Trigonometric Integrals