FindRoot:: Failed to converge to the requested accuracy
- To: mathgroup at smc.vnet.net
- Subject: [mg57437] FindRoot:: Failed to converge to the requested accuracy
- From: <topolog at gazeta.pl>
- Date: Sat, 28 May 2005 05:39:00 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Dear Mathematica Users,
This is a valid part of a code that provides shooting method to
solve equation EQJ = J1(W,z)*v(z) + J2(W,z)*v(z) + J3(W,z)*v(z) == 0
with W - an eigenvalue.
dYdX[W_?NumericQ] := EQJ; (* the equation *)
Y1X1[W_?NumericQ] := {v[z1] == BCV1, v'[z2] == BCV2}; (* boundary
conditions *)
eqset[W_?NumericQ] := Join[{dYdX[W] == 0.}, Y1X1[W]]; (* the set of
the above *)
(* function that solves eqset for the specified W *)
ndsolut[W_?NumberQ] := NDSolve[eqset[W], v, {z, z1, z2}][[1, 1, 2]];
(* searching for W that satisfies another boundary condition *)
FindRoot[ndsolut[W][z2] == BCV3, {W, W1, W2}]
While in version 4.0 of Mathematica similar code was able to find
solutions quickly and accurately, the 5.1 version breaks after 100
iterations in FindRoot:
FindRoot::cvmit: Failed to converge to the requested accuracy or
precision within 100 iterations
Any sugestion, please.
Rafal Kosinski