nonlinear two point boundary problems
- To: mathgroup <mathgroup at yoda.physics.unc.edu>
- Subject: nonlinear two point boundary problems
- From: HAY at leicester.ac.uk
- Date: Wed, 25 NOV 92 15:45:07 GMT
> I am in the process of trying to see if Mma can help me solve a nonlinear
> differential game problem and need to solve a nonlinear two point boundary
> value problem with a system of ODE's. Does anyone have any experience with
> trying to get Mma to solve two
> point boundary value problems. NDSolve doesn't seem to do the job. I would
> be very grateful for any advice. Many thanks
> Mark Salmon
The following is a re-write of the "shooting" method demonstrated at the
Rotterdam Mma Conference by Edward Lumsdaine and Jennifer Voitle for solving
Blasius' Equation.
f[n] f''[n] + 2 f'''[n]==0
f[0] == 0, f'[0] == 0, f'[10] == 1.
It takes about twice the time of their program because of using the system
function FindRoot rather than custom code.
Transform to a system of first order equations and construct the "gun";use
FindRoot to find the value of f''[0] (= w[0] below) needed to "hit" f'[10] = 1;
store the latest solution to the system on the way.
gun :=
(soln = (* cache the latest trial solution *)
NDSolve[
{ 2 w'[n] + f[n] w[n] == 0,
w[n] == v'[n],
v[n] == f'[n],
w[0] == #, v[0] == 0, f[0] == 0
},
{w,v,f},
{n,0,10}
]
)[[1,2,2]][10.]&
FindRoot[
gun[x] == 1, {x,1,0.5}
]
The current value of soln gives the solution required; it may be seen by, for
example,
Plot[
Evaluate[{f[n],v[n],w[n]}/.solution], {n,0,10},
PlotStyle -> Apply[RGBColor,IdentityMatrix[3],1]
]
Allan Hayes
hay at leicester.ac.uk