Main Content

Find Asymptotes, Critical, and Inflection Points

This example describes how to analyze a simple function to find its asymptotes, maximum, minimum, and inflection point.

定义一个函数

The function in this example is

f ( x ) = 3 x 2 + 6 x - 1 x 2 + x - 3 .

First, create the function.

symsxnum = 3*x^2 + 6*x -1; denom = x^2 + x - 3; f = num/denom
f =

3 x 2 + 6 x - 1 x 2 + x - 3

Plot the function by usingfplot. Thefplotfunction automatically shows vertical asymptotes.

fplot(f)

Figure contains an axes object. The axes object contains an object of type functionline.

Find Asymptotes

To find the horizontal asymptote of f mathematically, take the limit of f as x approaches positive infinity.

limit(f,Inf)
ans =
                  
                   
                    
                     3
                   
                  

The limit as x approaches negative infinity is also 3. This result means the line y = 3 is a horizontal asymptote to f .

To find the vertical asymptotes of f , set the denominator equal to 0 and solve it.

根= solve(denom)
根=

( - 13 2 - 1 2 13 2 - 1 2 )

indicates that the vertical asymptotes are the lines

x = - 1 - 13 2

and

x = - 1 + 13 2 .

Find Maximum and Minimum

You can see from the graph that f has a local maximum between the points x = 2 and x = 0 . It also has a local minimum between x = 6 and x = 2 . To find the x -coordinates of the maximum and minimum, first take the derivative of f .

f1 = diff(f)
f1 =

6 x + 6 x 2 + x - 3 - 2 x + 1 3 x 2 + 6 x - 1 x 2 + x - 3 2

To simplify this expression, enter the following.

f1 = simplify(f1)
f1 =

- 3 x 2 + 16 x + 17 x 2 + x - 3 2

Next, set the derivative equal to 0 and solve for the critical points.

crit_pts = solve(f1)
crit_pts =

( - 13 3 - 8 3 13 3 - 8 3 )

As the graph of f shows, the function has a local minimum at

x 1 = - 8 - 13 3

and a local maximum at

x 1 = - 8 + 13 3 .

Plot the maximum and minimum off.

fplot(f) holdonplot(double(crit_pts), double(subs(f,crit_pts)),'ro') title('Maximum and Minimum of f') text(-4.8,5.5,'Local minimum') text(-2,4,'Local maximum') holdoff

Figure contains an axes object. The axes object with title Maximum and Minimum of f contains 4 objects of type functionline, line, text. One or more of the lines displays its values using only markers

Find Inflection Point

To find the inflection point of f , set the second derivative equal to 0 and solve for this condition.

f2 = diff(f1); inflec_pt = solve(f2,'MaxDegree',3); double(inflec_pt)
ans =3×1 complex-5.2635 + 0.0000i -1.3682 - 0.8511i -1.3682 + 0.8511i

In this example, only the first element is a real number, so this is the only inflection point. MATLAB® does not always return the roots to an equation in the same order.

Instead of selecting the real root by indexing intointer_pt, identify the real root by determining which roots have a zero-valued imaginary part.

idx = imag(double(inflec_pt)) == 0; inflec_pt = inflec_pt(idx)
inflec_pt =

- 13 9 169 54 - 2197 18 1 / 3 - 169 54 - 2197 18 1 / 3 - 8 3

Plot the inflection point. The extra argument[-9 6]infplot扩展了range of x values in the plot so that you can see the inflection point more clearly, as the figure shows.

fplot(f,[-9 6]) holdonplot(double(inflec_pt), double(subs(f,inflec_pt)),'ro') title('Inflection Point of f') text(-7,1,'Inflection point') holdoff

Figure contains an axes object. The axes object with title Inflection Point of f contains 3 objects of type functionline, line, text. One or more of the lines displays its values using only markers

Baidu
map