Re: Using FindRoot
- To: mathgroup at smc.vnet.net
- Subject: [mg83492] Re: [mg83429] Using FindRoot
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Wed, 21 Nov 2007 03:03:01 -0500 (EST)
- References: <11053132.1195599919716.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
eqn = .15* Pi*(R^2) == (2*R^2*ArcCos[45.9/(2*R)]) - (.5*45.9* Sqrt[4*R^2 - 45.9^2]); FindRoot[eqn, {R, 25}] {R -> 30.8774} As we see below, the RHS isn't real near your starting point: diff = Subtract @@ eqn; discriminant = Rationalize@First@Cases[diff, Sqrt[x_] :> x, Infinity] -(210681/100) + 4 R^2 Reduce[discriminant > 0, R, Reals] R < -(459/20) || R > 459/20 Bobby On Tue, 20 Nov 2007 02:51:58 -0600, tdude <stiletto at bigfoot.com> wrote: > I am trying to find the root of the following equation > FindRoot[.15*[Pi]*(R^2)==(2*R^2*ArcCos[45.9/(2*R)])-(.5*45.9*Sqrt[4*R^2-45.9^2]),{R,.1}, > MaxIterations->100000] > > When I try this with two other systems, both give me an answer of > 30.8773686. > > However, with Mathematica, the answer I get appears to be a complex > root, along with this message: > FindRoot::lstol: The line search decreased the step size to within > tolerance specified by AccuracyGoal and PrecisionGoal but was unable to > find a sufficient decrease in the merit function. You may need more > than MachinePrecision digits of working precision to meet these > tolerances. > {R -> 20.1137- 4.87774*10^-14 \[ImaginaryI]} > > Why would the answer be a complex root when using Mathematica, yet real > when using the other two packages? > Thanks Tony. > > -- DrMajorBob at bigfoot.com