Re: initial condition in using dsolve
- To: mathgroup at smc.vnet.net
- Subject: [mg64394] Re: [mg64316] initial condition in using dsolve
- From: Devendra Kapadia <dkapadia at wolfram.com>
- Date: Wed, 15 Feb 2006 03:32:13 -0500 (EST)
- References: <200602110832.DAA18297@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On Sat, 11 Feb 2006, rudy wrote: > Hello, > I'm trying to use DSolve tu obtaine the solution of the PDE: > eq={D[f[x, t], t]+ v*D[f[x, t], x]==0, f[x, 0]==fo[x]} > > but with the instruction > > DSolve[eq, f, {x, t}] > > Mathematica doesn't resolve. > It's strange because the solution is known: > > f[x,t] = f[x- v t,0] > > If I do: > > eq={D[f[x, t], t]+ v*D[f[x, t], x]==0} > and > DSolve[eq, f, {x, t}] > it works: > > out > {f -> Function[{x, t}, C[1][(t v - x)/v]]} > > I don't understand why it works in the second case and not in the first... > can anybody help? > Regards > Rudy > Hello Rudy, At present, the DSolve function can find the general solution for a linear first-order partial differential equation such as the one considered by you. However, it is currently not possible to solve initial-value problems for such equations. For this reason, In[3] below returns unevaluated while In[5] returns a result. ============================================== In[1]:= $Version Out[1]= 5.2 for Linux (June 27, 2005) In[2]:= eq = {D[f[x, t], t] + v*D[f[x, t], x] == 0, f[x, 0] == fo[x]}; In[3]:= DSolve[eq, f, {x, t}]//InputForm Out[3]//InputForm= DSolve[{Derivative[0, 1][f][x, t] + v*Derivative[1, 0][f][x, t] == 0, f[x, 0] == fo[x]}, f, {x, t}] In[4]:= eq = {D[f[x, t], t] + v*D[f[x, t], x] == 0}; In[5]:= (sol = DSolve[eq, f, {x, t}]) // InputForm Out[5]//InputForm= {{f -> Function[{x, t}, C[1][(t*v - x)/v]]}} =============================================== We hope to include the functionality for solving initial-value problems for PDEs in a future release. One can start with the general solution (Out[5] above) and find an expression for the solution f[x, t] of the initial-value problem as follows. ============================================= In[6]:= f0[x] == (f[x, t]/.sol[[1]]/.{t-> 0}) x Out[6]= f0[x] == C[1][-(-)] v In[7]:= f[x_, t_] = (f[x, t] /. sol[[1]] /. {C[1][a_] :> f0[-v*a]}) Out[7]= f0[-(t v) + x] ============================================= We can now verify that this solution satisfies the equation and the initial condition. ========================================== In[8]:= f[x, 0] Out[8]= f0[x] In[9]:= D[f[x, t], t] + v*D[f[x, t], x] Out[9]= 0 ======================================= Sorry for the inconvenience caused by this limitation. Sincerely, Devendra Kapadia. Wolfram Research
- References:
- initial condition in using dsolve
- From: rudy <rud-x@caramail.com>
- initial condition in using dsolve