Re: FindRoot & NDSolve
- To: mathgroup at smc.vnet.net
- Subject: [mg64670] Re: [mg64650] FindRoot & NDSolve
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sun, 26 Feb 2006 05:07:52 -0500 (EST)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
You can use Hold to keep NDSolve from trying to evaluate too soon. FindRoot[Hold[(f/.NDSolve[{ f'[x]-2 x-a==0,f[0]==0},f,{x,-3,3}][[1]])[2]==4],{a,-10,10}] {a -> -7.3171562090692666*^-9} However, the differential equation can be solved exactly FindRoot[(f/.DSolve[{f'[x]-2 x-a==0,f[0]==0},f,x][[1]])[2]==4,{a,-10}] {a -> 0.} And so can the resulting equation Solve[(f/.DSolve[{f'[x]-2 x-a==0,f[0]==0},f,x][[1]])[2]==4,a][[1]] {a -> 0} Bob Hanlon > > From: Takashi Inoue <takash-i at sophia.ac.jp> To: mathgroup at smc.vnet.net > Subject: [mg64670] [mg64650] FindRoot & NDSolve > > Hi all, > > This is my first post to here. > I have a problem and want your help. > > Mathematica 4 did the following calculation with no pleblem, > while Mathematica 5(.2) cannot do it. > > FindRoot[ > (f /.NDSolve[ {D[f[x], {x,1}] - 2 x - a == 0, f[0] == 0}, f, {x, -3, 3} > ][[1]])[2] == 4, > {a, -10, 10} > ] > > Does anyone know solution or altanative way to do it? > > Takashi Inoue, > Dept. Phys. Sophia University > >