Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*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 2006

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

Search the Archive

Re: piecewise integration

  • To: mathgroup at smc.vnet.net
  • Subject: [mg67002] Re: piecewise integration
  • From: "Chris Chiasson" <chris at chiasson.name>
  • Date: Tue, 6 Jun 2006 06:29:05 -0400 (EDT)
  • References: <20060605102611.774$dR_-_@newsreader.com> <3AD65290-CE3D-41D7-B2B4-BA3BFCA7C6E6@mimuw.edu.pl>
  • Sender: owner-wri-mathgroup at wolfram.com

Actually, even I have used the PiecewiseIntegrate package before.
Maxim mentioned it in answer to a problem I had with DSolve & a
Piecewise forcing function. I have also noticed the problem with
DiracDelta functions occurring at the end points of integration. This
makes me wonder how they are handled by DSolve and NDSolve. I am not
presently at a Mathematica capable computer, so I can't test it.

On 6/5/06, Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
> *This message was transferred with a trial version of CommuniGate(tm) Pro*
>
> On 5 Jun 2006, at 23:26, David W. Cantrell wrote:
>
> >
> >
> > Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
> >> On 4 Jun 2006, at 15:01, Chris Chiasson wrote:
> >>
> >>> The Integrate result seems pretty weak. Is there any way to obtain a
> >>> more explicit exact answer besides manually converting the Piecewise
> >>> function to two UnitStep functions? Can the same be done if the
> >>> final
> >>> limit of integration is a variable?
> >>>
> >>> in
> >>>
> >>> load[x_]=-9*10^3*DiracDelta[x]+Piecewise[{{x*10*(10^3/3),
> >>> 0<=x<=3}}]-6*10^3*DiracDelta[x-5]//InputForm
> >>>
> >>> out
> >>>
> >>> -6000*DiracDelta[-5 + x] - 9000*DiracDelta[x] +
> >>> Piecewise[{{(10000*x)/3, 0 <= x <= 3}}, 0]
> >>>
> >>> in
> >>>
> >>> Integrate[load[x],{x,0,5}]//InputForm
> >>>
> >>> out
> >>>
> >>> Integrate[InputForm[-6000*DiracDelta[-5 + x] - 9000*DiracDelta[x] +
> >>> Piecewise[{{(10000*x)/3, 0 <= x <= 3}}, 0]], {x, 0, 5}]
> >>>
> >>> --
> >>> http://chris.chiasson.name/
> >>>
> >>
> >> I am sure Maxim does not need my help to advertise his package but
> >> somehow people still keep posting such questions with surprising
> >> frequency.
> >
> > It shouldn't surprise you. Such questions will continue to be posted
> > frequently until Mathematica _itself_ can adequately handle
> > integration of
> > Piecewise functions.
>
> No doubt you are right, but I was referring to the fact that I
> mentioned the package in a related context only a few days earlier
> and Maxim has posted several times in  detail on this topic. So I
> naturaly felt  a little bit like a person trying to  help another
> person  with a Sisyphean task.
> >
> >> Even if for some reason you do not want to use a third
> >> party package you can always look at the Mathematica code inside,
> >> which should answer questions such as these.
> >>
> >> load[x_] = -9*10^3*
> >>      DiracDelta[x] + Piecewise[{{x*10*(10^3/3), 0 <=
> >>        x <= 3}}] - 6*10^3*DiracDelta[x - 5];
> >> << piecewise`
> >>
> >> In[3]:=
> >> PiecewiseIntegrate[load[x],{x,0,5}]
> >>
> >> Out[3]=
> >> 0
> >
> > That might or might not be what Chris wanted. It depends on whether he
> > wanted integration of DiracDelta to be handled as Mathematica does
> > or as
> > PiecewiseIntegrate does.
> >
> > Using Mathematica, we have, for example,
> >
> > In[28]:= Integrate[DiracDelta[x],{x,0,2}]
> > Out[28]= 1/2
> >
> > rather than 1, which I infer is what PiecewiseIntegrate would do.
>
> I confess that I never noticed that Integrate and DiracDelta in
> Mathematica behaved like this at end points.  It seems to me that the
> Piecewise approach, which assumes that boundary points are treated
> the same as interior points, is the more natural. But Chris obviously
> was not interested in the answer to this particular problem but in
> more general matters. It is trivial to modify the behaviour of the
> package in this respect (by adding ones own rules for handling
> DiracDelta) to make it conform with what Mathematica does, if one
> really wanted to.  But my main point was that the package is
> interesting in its own right and it seems to me that anyone seriously
> interested in this topic would have already taken a look at it. Why,
> even people not seriously interested in it, like myself, have done so
> and found interesting and instructive things in it.
>
> Andrzej
>
> >
> > If Chris really wanted the integration of the DiracDelta functions
> > to be
> > handled as Mathematica does, then I should think he'd want
> > Integrate[load[x],{x,0,5}] to return 7500, rather than your Out[3]=0.
> >
> > David
> >
> >> In[4]:=
> >> PiecewiseIntegrate[load[x], {x, 0, a}]
> >>
> >> Out[4]=
> >> If[Inequality[0, Less, a, LessEqual, 3], (5000*a^2)/3, 0] + If[3 < a,
> >> 15000, 0] + If[a < 0, 9000, 0] + If[0 <= a, -9000, 0] +
> >>    If[5 <= a, -6000, 0]
> >>
> >> Andrzej Kozlowski
>
>


-- 
http://chris.chiasson.name/


  • Prev by Date: Re: piecewise integration
  • Next by Date: Re: LaTeX and the ConversionRules option
  • Previous by thread: Re: Re: piecewise integration
  • Next by thread: Re: Colored Tick Labels?