MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

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.




  • Prev by Date: Updated enhancements on MathSource
  • Next by Date: Re: PDE's?
  • Previous by thread: Re: NDSolve error message: Can't find starting value ...
  • Next by thread: Re: NDSolve error message: Can't find starting value ...