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

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?