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