4.1 Extreme Values of Functions

This page does not walk through the standard calculus procedure for finding local extrema in any of our CASs. (If you've followed this TechCompanion this far you should already be able to do so.) Rather this page presents convenience methods for finding local extreme values in each of our target CASs.

Octave / MATLAB

Mathematica

Sage


Octave / MATLAB

Finding local extrema

The command fminbnd() finds the location of a local minimum of a continuous function (specified via a function handle) on a given interval.

octave:1> f = @(x) x.^2 + sin(10*x); octave:2> fminbnd(f,-1,0) ans = -0.76994 octave:3> x = -1:.01:0; octave:4> y = f(x); octave:5> plot(x,y)

In the example above we can see from the plot that our call to fminbnd() has returned an approximation to an input where a local minimum of $x^2+\sin{10x}$ occurs, but that the local min it has found is not the global min over the specified interval $[-1,0]$. Using the plot as a guide, we can make two calls to fminbnd() specifying appropriate intervals to find both the local min on the left and the global min as well. Furthermore, if we allot two output variables, fminbnd() will return the approximate values of the local min's as well as their input locations.

octave:6> [x ymin] = fminbnd(f,-1,-0.6) x = -0.76994 ymin = -0.39527 octave:7> [x ymin] = fminbnd(f,-0.4,0) x = -0.15400 ymin = -0.97581

Finally we can locate the interior local maximum of $f(x)=x^2+\sin{10x}$ by passing fminbnd() a handle to $-f(x)$ (and an appropriate interval).

octave:8> g = @(x) -f(x); octave:9> [x y] = fminbnd(g, -0.6, -0.3) x = -0.48087 y = -1.2266

Of course an input that yields a local min of $-f(x)$ yields a local max of $f(x)$. But the value of $-f(x)$ there is the negative of the value of $f(x)$. So in the example above the local max of $x^2+\sin{10x}$ occurring approximately at $x=-0.48087$ has a value of about $+1.2266$.


Mathematica

Finding local extrema

The command FindMinimum[] accepts a one variable expression, an interval and a search starting point. It returns both the value and location of a local min of the given expression on the given interval. It's not guaranteed to find the global min over the given interval. Plotting the expression in question can often guide a choice of starting point (or better yet, choice of subinterval) to find a particular local min. Mathematica also offers a corresponding FindMaximum[] method.


Sage

Finding local extrema