MathGroup Archive 2007

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

Search the Archive

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


  • Prev by Date: Re: Using FindRoot
  • Next by Date: RE: Using FindRoot
  • Previous by thread: Re: Using FindRoot
  • Next by thread: Re: Using FindRoot