Поиск асимптотов, критических точек и точек перегиба

Этот пример описывает, как анализировать простую функцию, чтобы найти ее асимптоты, максимальные, минимальные и точки перегиба.

Задайте функцию

Функция в этом примере является

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

Во-первых, создайте функцию.

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

3x2+6x-1x2+x-3(3 * x ^ 2 + 6 * x - 1 )/( x ^ 2 + x - 3)

Постройте график функции при помощи fplot. The fplot функция автоматически показывает вертикальные асимптоты.

fplot(f)

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

Найти асимптоты

Чтобы найти горизонтальную асимптоту f математически примите предел f как x приближается к положительной бесконечности.

limit(f,Inf)
ans = 3sym (3)

Предел как x приближается к отрицательной бесконечности также 3. Этот результат означает линию y=3 является горизонтальной асимптотой, f.

Чтобы найти вертикальные асимптоты f, установите знаменатель равным 0 и решите его.

roots = solve(denom)
roots = 

(-132-12132-12)[- sqrt (sym (13) )/2 - sym (1/2); sqrt (sym (13) )/2 - sym (1/2)]

roots указывает, что вертикальные асимптоты являются линиями

x=-1-132

и

x=-1+132.

Поиск максимального и минимального

На графике можно увидеть, что f имеет локальный максимум между точками x=2 и x=0. Это также имеет локальный минимум между x=6 и x=2. Чтобы найти x-координаты максимума и минимума, сначала возьмите производную от f.

f1 = diff(f)
f1 = 

6x+6x2+x-3-2x+13x2+6x-1x2+x-32(6 * x + 6 )/( x ^ 2 + x - 3) - ((2 * x + 1) * (3 * x ^ 2 + 6 * x - 1) )/( x ^ 2 + x - 3) ^ 2

Чтобы упростить это выражение, введите следующее.

f1 = simplify(f1)
f1 = 

-3x2+16x+17x2+x-32- (3 * x ^ 2 + 16 * x + 17 )/( x ^ 2 + x - 3) ^ 2

Затем установите производную равной 0 и решите для критических точек.

crit_pts = solve(f1)
crit_pts = 

(-133-83133-83)[- sqrt (sym (13) )/3 - sym (8/3); sqrt (sym (13) )/3 - sym (8/3)]

Как график f показывает, что функция имеет локальный минимум в

x1=-8-133

и локальный максимум в

x1=-8+133.

Постройте график максимума и минимума f.

fplot(f)
hold on
plot(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')
hold off

Figure contains an axes. The axes with title Maximum and Minimum of f contains 4 objects of type functionline, line, text.

Найти точку перегиба

Чтобы найти точку перегиба fустановите вторую производную равной 0 и решите для этого условия.

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

В этом примере только первый элемент является вещественным числом, поэтому это единственная точка перегиба. MATLAB ® не всегда возвращает корни к уравнению в том же порядке.

Вместо выбора реального корня путем индексации в inter_pt, идентифицируйте действительный корень путем определения, какие корни имеют нулевую мнимую часть.

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

-13916954-2197181/3-16954-2197181/3-83- 13/( 9 * (sym (169/54) - sqrt (sym (2197) )/18) ^ sym (1/3)) - (sym (169/54) - sqrt (sym (2197) )/18) ^ sym (1/3) - sym (8/3)

Постройте график точки перегиба. Дополнительный аргумент [-9 6] в fplot расширяет область значений x значения на графике так, чтобы вы могли видеть точку перегиба более четко, как показано на рисунке.

fplot(f,[-9 6])
hold on
plot(double(inflec_pt), double(subs(f,inflec_pt)),'ro')
title('Inflection Point of f')
text(-7,1,'Inflection point')
hold off

Figure contains an axes. The axes with title Inflection Point of f contains 3 objects of type functionline, line, text.