Re: Help with findroot
- To: mathgroup at smc.vnet.net
- Subject: [mg9182] Re: [mg9169] Help with findroot
- From: Steven Wilkinson <wilkinson at NKU.EDU>
- Date: Tue, 21 Oct 1997 02:02:55 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Karl, Concerning the strange behavior of FindRoot[Sqrt[x/(1.2 10^ -4)]==-0.1*Tan[Sqrt[x/(1.2*10^ >-4)]],{x,0.1,0.1,2}] , the bad news is that it is difficult to choose >first guesses for solutions to your equation that Newton's method >(FindRoot[ ]) can handle. To see this let me simplify your equation to u == -0.1Tan[u] Tan[u] is discontinuous for values of u that are odd multiples of Pi/2. Graph u + 0.1Tan[u] over the range {u, Pi/2, 3Pi/2}. The solution to your equation on this range is very close to the discontinuity at Pi/2. Newton's method works by drawing the tangent line at your initial guess and sees where it crosses the u-axis. In this case, unless your initial guess is very close to the actual solution, the tangent line will not even cross the u-axis in the range {u, Pi/2, 3Pi/2}. There is hope, however. Note that if your initial guess is between Pi/2 and the part of the curve that has maximal bend, then you are in good shape. Curvature is a quantity you can compute and even maximize. I calculated that the maxima of the curvature for this function are found at u = + or - 0.0000312478 around each discontinuity. Steve Wilkinson >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