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

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

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

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

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. fplot функционируйте автоматически показывает горизонтальные и вертикальные асимптоты.

fplot(f)

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

Найти горизонтальную асимптоту 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

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

Найти точку перегиба 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