How do I find the minimum/maximum values to use with Root Solvers?
I want to use the root solvers (ex: BrentSolver) in Commons Math to find roots for polynomial functions, but they all seem to require using an initial estimate for 开发者_JS百科minimum/maximum, where the function has different signals.
So how do I go about doing this? I know I can compute f(x) for points inside whatever interval I have in mind, but if my Interval is too big, do I still do that? How big should the step be between every attempt? Isn't there a better way to do this?
You might try the Durand-Kerner-Weierstrass method as an estimate or check. A Java implementation is shown here.
I think what they want is a starting interval to search in. The min and max values define the region where you think the roots are.
I don't know what you mean by "interval too big". It won't be +/- infinity; you must have some region of interest to start with.
Run it once; see what you get. Try a few other intervals to see if you can find a true global min/max.
It's not possible to use numerical methods as a complete black box. You have to know something about your function and how the methods work. Use them as an iterative tool to learn something about your function of interest.
精彩评论