MathGroup Archive 1998

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

Search the Archive

DSolve initial conditions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg13614] DSolve initial conditions
  • From: "Richard W. Klopp" <rwklopp at unix.sri.com>
  • Date: Fri, 7 Aug 1998 03:08:16 -0400
  • Organization: SRI International
  • Sender: owner-wri-mathgroup at wolfram.com

Dear List,

I've run into a behavior of DSolve that I think is a little strange, and
wonder if there's (a) a good explanation of the behavior and (b) a nice
work-around.

I ask DSolve to solve the following differential equation with initial
condition and get the answer I expect, no problemo, to wit:

In[3]:=
DSolve[{y'[t] == y[t] E^(-a t), y[0] == b}, y[t], t] // InputForm
Out[3]//InputForm=
{{y[t] -> b*E^(a^(-1) - 1/(a*E^(a*t)))}}

Now, if I add the initial condition to the differential equation, keep
the initial condition, and repeat the DSolve, I get an error message
and a different answer than the above. (By the way, version 2.2 gives
the same answer, but without the error message.) Mathematica appears
not to recognize y[0] - b = 0. Why the (to me) funny answer, and why an
answer despite the error message?

In[4]:=
DSolve[{y'[t] + b == y[t] E^(-a t) + y[0], y[0] == b}, y[t], t] //
InputForm
DSolve::"nvld": 
    "The description of the equations appears to be ambiguous or
invalid."
Out[4]//InputForm=
{{y[t] -> (a*b*E^a^(-1) + b*ExpIntegralEi[1/(a*E^(a*t))] - 
       ExpIntegralEi[1/(a*E^(a*t))]*y[0] + 
       ExpIntegralEi[a^(-1)]*(-b + y[0]))/
     (a*E^(1/(a*E^(a*t))))}}

Thanks so much,
Rich Klopp
SRI International


  • Prev by Date: Solving log equations, how?
  • Next by Date: Re: Does Mathematica speed up with multiple processors under NT?
  • Previous by thread: Re: Solving log equations, how?
  • Next by thread: Re: Does Mathematica speed up with multiple processors under NT?