MathGroup Archive 2004

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

Search the Archive

Re: FindRoot in Version 5

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46280] Re: FindRoot in Version 5
  • From: drbob at bigfoot.com (Bobby R. Treat)
  • Date: Fri, 13 Feb 2004 02:28:48 -0500 (EST)
  • References: <c0fh4j$9ls$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

This works in version 5:

system[a_] := {Derivative[1][y1][x] == 
     y2[x], Derivative[1][y2][x] == 
     -Sin[y2[x]] + Cos[5*x], y1[-1] == 0, 
    y2[-1] == a}; 
myODEsoln[a_] := NDSolve[system[a], 
   {y1[x], y2[x]}, {x, -1, 1}]
yend[(a_)?NumericQ] := 
  y1[x] /. myODEsoln[a] /. x -> 1
bc = FindRoot[First[yend[a]] == 0, 
    {a, -2, 2}]; 
Plot[Evaluate[y1[x] /. myODEsoln[
      a /. bc]], {x, -1, 1}, 
   AxesLabel -> {"x", "y1(x)"}]; 

It's hard to imagine how your code could have worked in ANY version,
but if you say so....

Bobby

bghiggins at ucdavis.edu (Brian Higgins) wrote in message news:<c0fh4j$9ls$1 at smc.vnet.net>...
> Hi,
> 
> In version 4 I used the following code to solve nonlinear BVP using
> NDSolve
> 
> system[?_] := {y1'[x] == y2[
>     x], y2'[x] == -Sin[y2[x]] + Cos[5x], y1[-1] == 0, y2[-1] == ?};
> myODEsoln[?_] := NDSolve[system[?], {y1[x], y2[x]}, {x, -1, 1}]
> yend[?_] := (y1[x] /. myODEsoln[?]) /. x -> 1
> bc = FindRoot[First[yend[?]] == 0, {?, -2, 2}];
> Plot[Evaluate[y1[x] /. myODEsoln[? /. bc]], {
>       x, -1, 1}, AxesLabel -> {"x", "y1(x)"}];
> 
> In Version 5 is does not work. I have read on this group that FindRoot
> was modified so that it now requires that in the above code I replace
> yend[Q_] with yend[Q_?NumericQ]. But now the problem is that FindRoot
> fails to converge.
> 
> So my question: Does anyone know what other modifications have been
> made to FindRoot so that I can get this code and many others like it
> to work again?
> 
> Thanks much
> 
> Brian


  • Prev by Date: significant digits in random numbers in scientificform
  • Next by Date: RE: Drawing a HEART in mathematica?
  • Previous by thread: Re: FindRoot in Version 5
  • Next by thread: Re: FindRoot in Version 5