Fwd: NDSolve error message: Can't find starting value ...
- To: mathgroup at smc.vnet.net
- Subject: [mg23811] Fwd: [mg23755] NDSolve error message: Can't find starting value ...
- From: Genny Russo <gen.rus at tin.it>
- Date: Sat, 10 Jun 2000 03:00:19 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Hello, I hope the following suggestions help you. If you have differential equations with up to n-order derivatives, then you need to give initial conditions for up to (n-1)-order derivatives, or give boundary conditions at n points. With a second order equation, you need to give initial conditions for up to first derivatives. For example, In[1]:= NDSolve[{R''[x] + DiracDelta[x] - R[x] == 0, R[-3] == 0, R'[3] == 0}, R, {x, -3, 3}] Out[1]= {{R -> InterpolatingFunction[{{-3., 3.}}, "<>"]}} With a third order equation, you need to give initial conditions for up to second derivatives. In[2]:= NDSolve[ { y'''[x] + 8 y''[x] + 17 y'[x] + 10 y[x] == 0, y[0] == 6, y'[0] == -20, y''[0] == 84}, y, {x, 0, 1} ] Out[2]= {{y -> InterpolatingFunction[{{0., 1.}}, "<>"]}} With a third order equation, you can also give boundary conditions at three points. In[3]:= NDSolve[ { y'''[x] + Sin[x] == 0, y[0] == 4, y[1] == 7, y[2] == 0 }, y, {x, 0, 2}] Out[3]= {{y -> InterpolatingFunction[{{0., 2.}}, "<>"]}} Mathematica allows you to use any appropriate linear combination of function values and derivatives as boundary conditions. In[4]:= NDSolve[{ y''[x] + y[x] == 12 x, 2 y[0] - y'[0] == -1, 2 y[1] + y'[1] == 9}, y, {x, 0, 1}] Out[4]= {{y -> InterpolatingFunction[{{0., 1.}}, "<>"]}} This plots the solution obtained: In[5]:= Plot[Evaluate[ y[x] /. % ], {x, 0, 1}]; Out[4]= - Graphics - >Date: Mon, 5 Jun 2000 01:09:50 -0400 (EDT) >From: Axel Kowald <axel at itb.biologie.hu-berlin.de> To: mathgroup at smc.vnet.net >To: mathgroup at smc.vnet.net >Subject: [mg23811] [mg23755] NDSolve error message: Can't find starting value ... >Organization: Technische Universitaet Berlin, Deutschland > >Hello, > >I try to solve the following second order ODE with NDSolve > >NDSolve[{0 == R''[x] + DiracDelta[x] - R[x], R''[-3] == 0, >R''[3] == 0}, R, {x, -3, 3}] > >and I get the following error message: > >NDSolve::"ndsv": "Cannot find starting value for the variable x." > >I couldn't find any description of this message in the Mathematica book, >so I'm >not sure what to do. I have a second order ODE with two boundary >conditions, what's missing ? > >Many thanks, > > Axel Kowald > >P.S. Btw., this is done with Mathematica 4.