Re: FindRoot & NDSolve

*To*: mathgroup at smc.vnet.net*Subject*: [mg64668] Re: [mg64650] FindRoot & NDSolve*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Sun, 26 Feb 2006 05:07:51 -0500 (EST)*References*: <200602250753.CAA13936@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

On 25 Feb 2006, at 08:53, Takashi Inoue wrote: > 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 > In[1]:= g[(a_)?NumericQ] := f /. NDSolve[ {D[f[x], {x, 1}] - 2*x - a == 0, f[0] == 0}, f, {x, -3, 3}][[1]] In[2]:= FindRoot[g[a][2] == 4, {a, -10, 10}] Out[2]= {a -> -7.3171562090692666*^-9} Another possible approach is to evaluate Developer`SetSystemOptions["EvaluateNumericalFunctionArgument" -> False]; Once you have done this your original code will work fine. Andrzej Kozlowski Tokyo, Japan

**References**:**FindRoot & NDSolve***From:*Takashi Inoue <takash-i@sophia.ac.jp>