MathGroup Archive 2011

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

Search the Archive

Shooting for the endpoint of a ODE system

  • To: mathgroup at
  • Subject: [mg121142] Shooting for the endpoint of a ODE system
  • From: João Paulo Pereira <joaopereira9 at>
  • Date: Wed, 31 Aug 2011 06:04:41 -0400 (EDT)
  • Delivered-to:


I wonder if you could help me.

I have a system of ODE in which I have to figure out the initial
conditions of part of the differential equations. I managed to do this
by the shooting method by writing the system as a function of the
initial conditions.

For example solution[yini_,zini_]:=NDSolve[......

then I used FindRoot on the set of terminal restrictions to find yini
and zini (these are the initial conditions). This procedure worked
although it is terribly sensitive to the first guesses on the FindRoot
and some results I get are obviously wrong. But this is something I
can refine.

Now I have a similar goal but the variable I'm trying to guess is not
an initial condition of a differential equation but the terminal value
of the range of the exogenous variable. For example,

If I have a system of 2 ODE , y[x] and z[x], I want to know for {x,
0,xtarget} what is my xtarget. Think of x as time and I want to figure
when is the terminal time of the system such that some restrictions at
the terminal time are met.

My first ideia was to adapt the above procedure, writing

then giving the set of restrictions and then using FindRoot to get
xtarget, but Mathematica gives me an error message the xtarget is not
a real value.

My question is :

 Is it possible to adapt the procedure outlined above, meaning that
I'm just doing some kind of error here (that I'll have to correct), or
Mathematica does not handle this kind of problems directly in NDSolve
and I have to write some sort of loop with ever more refined guesses
for xtarget?

My best regards

Joao Pereira

  • Prev by Date: ODE system - shooting for a terminal point
  • Next by Date: Re: Sudden memory-usage increase with SparseArray
  • Previous by thread: ODE system - shooting for a terminal point
  • Next by thread: Re: Shooting for the endpoint of a ODE system