Use the bisection method to find real roots
bisection(f, a, b, tol = 0.001, m = 100)| f | function to locate a root for |
|---|---|
| a | the a bound of the search region |
| b | the b bound of the search region |
| tol | the error tolerance |
| m | the maximum number of iterations |
the real root found
The bisection method functions by repeatedly halving the interval
between a and b and will return when the
interval between them is less than tol, the error tolerance.
However, this implementation also stops if after m
iterations.
f <- function(x) { x^3 - 2 * x^2 - 159 * x - 540}
bisection(f, 0, 10)
#> [1] 9.999695