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

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

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

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

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

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

fplot(f)

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

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

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

limit(f,Inf)
ans = 3

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

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

roots = solve(denom)
roots = 

(-132-12132-12)

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

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

f1 = simplify(f1)
f1 = 

-3x2+16x+17x2+x-32

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

crit_pts = solve(f1)
crit_pts = 

(-133-83133-83)

Как график 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 object. The axes object 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

Постройте точку перегиба. Дополнительный аргумент [-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 object. The axes object with title Inflection Point of f contains 3 objects of type functionline, line, text.