Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How can I find the Proper starting point in FindRoot command?

  1. Jul 28, 2012 #1

    I have some problems in finding the proper starting value in FindRoot[] command.
    Cause I don't know exactly what the point is,I can't get the right answer!!! :cry:
    How can I find roots without having the starting point?

  2. jcsd
  3. Jul 28, 2012 #2
    Well, what is the FindRoot command? What are you referring too?

    Anyways, I assume you are talking about a popular, well known analytical algorithm like Newton's method. For these methods, you NEED a starting point. The crucial idea behind these algorithms is that you start somewhere, and using information relating to the gradient of the function, you hone in on a root (if possible - consider f(x) = x^(1/3)). It is like finding a maximum or minimum of a function. These algorithms take a local search approach, so there is no way to take on a global perspective.

    Thus, if your function has several roots, you can only find one of them at a time, and you can only find a specific root given that you starting point is sufficiently close to it.
  4. Jul 28, 2012 #3
    It's something like this:
    Table[FindRoot[(a function of variable x containing Bessel functions==0),{x,k[]}],{i,1,N}]
    I gave one starting point but I couldn't get the proper solution!
    I just wanna know if there is another command for calculating these kind of equations or not?

    thanks a lot
  5. Jul 28, 2012 #4
    Well, what software are you using? It would help if you specify the environment in which you are working.
  6. Jul 28, 2012 #5
    Mathematica 6
  7. Jul 28, 2012 #6
    Well, you could check the Mathematica manual. You could automatically have it give itself a random starting point with some code, but I highly doubt that is what you want and I highly doubt that will be useful. I also would think that if Mathematica had such a function (I don't doubt one exists), it would simply give arbitrary starting positions anyways.

    Like I said, the FindRoot function utilizes an analytic approach that REQUIRES a starting point. Look up Newton's method and the like to see how they work - they all depend on a good starting point.
  8. Jul 28, 2012 #7


    User Avatar
    Science Advisor

    Make an educated guess! You should be able to at least approximate a root for an equation. Try it. While I don't know precisely which algorithm is used, it is probably an iterative method and if it does not converge to a solution it does not converge. So 'make a guess' and if it does not give an answer- make another guess!
  9. Jul 29, 2012 #8
    Thanks dears
    I'm gonna try these suggestions.
    Good luck :-)
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook