fminbnd | R Documentation |
Find minimum of single-variable function on fixed interval.
fminbnd(f, a, b, maxiter = 1000, maximum = FALSE,
tol = 1e-07, rel.tol = tol, abs.tol = 1e-15, ...)
f |
function whose minimum or maximum is to be found. |
a , b |
endpoints of the interval to be searched. |
maxiter |
maximal number of iterations. |
maximum |
logical; shall maximum or minimum be found; default FALSE. |
tol |
relative tolerance; left over for compatibility. |
rel.tol , abs.tol |
relative and absolute tolerance. |
... |
additional variables to be passed to the function. |
fminbnd finds the minimum of a function of one variable within a fixed interval. It applies Brent's algorithm, based on golden section search and parabolic interpolation.
fminbnd
may only give local solutions.
fminbnd
never evaluates f
at the endpoints.
List with
xmin |
location of the minimum resp. maximum. |
fmin |
function value at the optimum. |
niter |
number of iterations used. |
estim.prec |
estimated precision. |
fminbnd
mimics the Matlab function of the same name.
R. P. Brent (1973). Algorithms for Minimization Without Derivatives. Dover Publications, reprinted 2002.
fibsearch
, golden_ratio
## CHEBFUN example by Trefethen
f <- function(x) exp(x)*sin(3*x)*tanh(5*cos(30*x))
fminbnd(f, -1, 1) # fourth local minimum (from left)
g <- function(x) complexstep(f, x) # complex-step derivative
xs <- findzeros(g, -1, 1) # local minima and maxima
ys <- f(xs); n0 <- which.min(ys) # index of global minimum
fminbnd(f, xs[n0-1], xs[n0+1]) # xmin:0.7036632, fmin: -1.727377
## Not run:
ezplot(f, -1, 1, n = 1000, col = "darkblue", lwd = 2)
ezplot(function(x) g(x)/150, -1, 1, n = 1000, col = "darkred", add = TRUE)
grid()
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.