Use the bisection method to find real roots

bisection(f, a, b, tol = 0.001, m = 100)

Arguments

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

Value

the real root found

Details

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.

See also

Other optimz: goldsect, gradient, hillclimbing(), newton(), sa(), secant()

Examples

f <- function(x) { x^3 - 2 * x^2 - 159 * x - 540}
bisection(f, 0, 10)
#> [1] 9.999695