Use golden section search to find local extrema
goldsectmin(f, a, b, tol = 0.001, m = 100)
goldsectmax(f, a, b, tol = 0.001, m = 100)
f | function to integrate |
---|---|
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 x
value of the minimum found
The golden section search method functions by repeatedly dividing 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 stop if after m
iterations.
f <- function(x) { x^2 - 3 * x + 3 }
goldsectmin(f, 0, 5)
#> [1] 1.500066