Найдите асимптоты, очень важные и точки перегиба

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

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

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

f(x)=3x2+6x1x2+x3.

Чтобы создать функцию, введите следующие команды:

syms x
num = 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)

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

fplot(f)

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

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

limit(f, inf)
ans = 
3

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

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

roots = solve(denom)
roots =
 - 13^(1/2)/2 - 1/2
   13^(1/2)/2 - 1/2

Примечание

MATLAB® не всегда возвращает корни в уравнение в том же порядке.

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

x=1+132,

и

x=1132.

Найдите максимум и минимум

Вы видите из графика, что f имеет локальный максимум между точками x = –2 и x = 0 и может иметь локальный минимум между x = –6 и x = –2. Чтобы найти x - координаты максимума и минимальный, первый берут производную 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

Чтобы упростить это выражение, войти

f1 = simplify(f1)
f1 =
 -(3*x^2 + 16*x + 17)/(x^2 + x - 3)^2

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

crit_pts = solve(f1)
crit_pts =
 - 13^(1/2)/3 - 8/3
   13^(1/2)/3 - 8/3

Ясно из графика f, что это имеет локальный минимум в

x1=8133,

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

x2=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

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

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

f2 = diff(f1);
inflec_pt = solve(f2,'MaxDegree',3);
double(inflec_pt)

Это возвращается

ans =
  -5.2635 + 0.0000i
  -1.3682 - 0.8511i
  -1.3682 + 0.8511i

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

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

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

Чтобы получить значение точки перегиба, войти

vpa(inflec_pt)
ans =
 
-5.2635217342053210183437823783747

Постройте точку перегиба. Дополнительный аргумент, [-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