This example shows how to analytically find and evaluate derivatives using Symbolic Math Toolbox™. In the example you will find the 1st and 2nd derivative of f(x) and use these derivatives to find local maxima, minima and inflection points.
First Derivatives: Finding Local Minima and Maxima
Computing the first derivative of an expression helps you find local minima and maxima of that expression. Before creating a symbolic expression, declare symbolic variables:
By default, solutions that include imaginary components are included in the results. Here, consider only real values of x
by setting the assumption that x
is real:
As an example, create a rational expression (i.e., a fraction where the numerator and denominator are polynomial expressions).
f =
Plotting this expression shows that the expression has horizontal and vertical asymptotes, a local minimum between -1 and 0, and a local maximum between 1 and 2:
To find the horizontal asymptote, compute the limits of f
for x
approaching positive and negative infinities. The horizontal asymptote is y = 3/2
:
Add this horizontal asymptote to the plot:
To find the vertical asymptote of f
, find the poles of f
:
pole_pos =
Approximate the exact solution numerically by using the double
function:
Now find the local minimum and maximum of f
. If a point is a local extremum (either minimum or maximum), the first derivative of the expression at that point is equal to zero. Compute the derivative of f
using diff
:
g =
To find the local extrema of f
, solve the equation g == 0
:
g0 =
Approximate the exact solution numerically by using the double
function:
The expression f
has a local maximum at x = 1.286
and a local minimum at x = -0.189
. Obtain the function values at these points using subs
:
f0 =
Approximate the exact solution numerically by using the double
function on the variable f0
:
Add point markers to the graph at the extrema:
Second Derivatives: Finding Inflection Points
Computing the second derivative lets you find inflection points of the expression. The most efficient way to compute second or higher-order derivatives is to use the parameter that specifies the order of the derivative:
h =
Now Simplify that result:
h =
To find inflection points of f
, solve the equation h = 0
. Here, use the numeric solver vpasolve
to calculate floating-point approximations of the solutions:
h0 =
The expression f
has two inflection points: x = 1.865
and x = 0.579
. Note that vpasolve
also returns complex solutions. Discard those:
h0 =
Add markers to the plot showing the inflection points: