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