Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

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


  • Prev by Date: Re: FindRoot & NDSolve
  • Next by Date: Re: 3D Graphics suggestions?
  • Previous by thread: Re: FindRoot & NDSolve
  • Next by thread: Re: FindRoot & NDSolve