MATLAB Function Reference
fmin

Minimize a function of one variable

 Note    The `fmin` function was replaced by `fminbnd` in Release 11 (MATLAB 5.3). In Release 12 (MATLAB 6.0), `fmin` displays a warning message and calls `fminbnd`.

Syntax

• ```x = fmin('fun',x1,x2)
x = fmin('fun',x1,x2,options)
x = fmin('fun',x1,x2,options,P1,P2, ...)
[x,options] = fmin(...)
```

Description

```x = fmin('fun',x1,x2) ``` returns a value of `x` which is a local minimizer of `fun(x)` in the interval .

```x = fmin('fun',x1,x2,options) ``` does the same as the above, but uses `options` control parameters.

```x = fmin('fun',x1,x2,options,P1,P2,...) ``` does the same as the above, but passes arguments to the objective function, `fun(x,P1,P2,...)`. Pass an empty matrix for `options` to use the default value.

```[x,options] = fmin(...) ``` returns, in `options(10)`, a count of the number of steps taken.

Arguments

 `x1,x2` Interval over which `fun` is minimized. `P1,P2...` Arguments to be passed to `fun`. `fun` A string containing the name of the function to be minimized. `options` A vector of control parameters. Only three of the 18 components of `options` are referenced by `fmin`; Optimization Toolbox functions use the others. The three control `options` used by `fmin` are: `options(1)` -- If this is nonzero, intermediate steps in the solution are displayed. The default value of `options(1)` is 0. `options(2)` -- This is the termination tolerance. The default value is `1.e-4`. `options(14)` -- This is the maximum number of steps. The default value is `500`.

Examples

`fmin('cos',3,4)` computes to a few decimal places.

`fmin('cos',3,4,[1,1.e-12])` displays the steps taken to compute to 12 decimal places.

To find the minimum of the function on the interval (0`,`2), write an M-file called `f.m`.

• ```function y = f(x)
y = x.^3-2*x-5;
```

Then invoke `fmin` with

• ```x = fmin('f'`,` 0`,` 2)
```

The result is

• ```x =
0.8165
```

The value of the function at the minimum is

• ```y = f(x)

y =
-6.0887
```

Algorithm

The algorithm is based on golden section search and parabolic interpolation. A Fortran program implementing the same algorithms is given in [1].

`fmins`, `fzero`, `foptions` in the Optimization Toolbox (or type `help` `foptions`).