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.