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