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