FindRoot in Version 5
- To: mathgroup at smc.vnet.net
- Subject: [mg46179] FindRoot in Version 5
- From: bghiggins at ucdavis.edu (Brian Higgins)
- Date: Tue, 10 Feb 2004 00:05:48 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
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