MathGroup Archive 1997

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

Search the Archive

Re: Help with findroot

  • To: mathgroup at
  • Subject: [mg9173] Re: [mg9169] Help with findroot
  • From: David Withoff <withoff>
  • Date: Tue, 21 Oct 1997 02:02:47 -0400
  • Sender: owner-wri-mathgroup at

> I'm having a problem using findroot to solve an equation.  Perhaps
> someone
>  could shed some light on what's wrong.
> FindRoot[Sqrt[x/(1.2 10^ -4)]==-0.1*Tan[Sqrt[x/(1.2*10^
> -4)]],{x,0.1,0.1,2}]
> Mathematica 3. returns a value of -0.07 for x which is not anywhere
> close to correct.
>  Further, I've tried several different starting values and min/max
> limits, but
>  a negative answer is always returned.  Eventually I'de like to compile
> a list
>  of all the roots of the equation up to, say, x=1000, but I can't even
> get one
>  right now.
> Thanks,
> Karl Kevala

One of the more useful ways to understand this type of example is to
look at plots of the functions, such as

Plot[{Sqrt[x/(1.2 10^-4)], -0.1 Tan[Sqrt[x/(1.2 10^-4)]]},
    {x, 0, .01}, PlotRange -> {-5, 15}]

which correctly suggests that this equation has an infinite number of
solutions (as well as some awkward singularities that are likely to
make the problem computationally challenging).  There is a solution
near .0003

In[12]:= FindRoot[Sqrt[x/(1.2 10^ -4)]==-0.1*Tan[Sqrt[x/(1.2*10^-4)]],

Out[12]= {x -> 0.000319609}

and another one near .0027

In[22]:= FindRoot[Sqrt[x/(1.2 10^ -4)]==-0.1*Tan[Sqrt[x/(1.2*10^-4)]],

Out[22]= {x -> 0.00268874}

and so forth.  Because of the singularities, you may need to choose
starting values that are rather close to the solution in order for the
algorithm to converge to the solution that you want.  The plots can be
very useful in choosing good starting values.

Dave Withoff
Wolfram Research

  • Prev by Date: Re: Problems with Limit, Log, E
  • Next by Date: Re: Help with findroot
  • Previous by thread: Re: Help with findroot
  • Next by thread: Re: Help with findroot