Этот пример описывает, как анализировать простую функцию, чтобы найти ее асимптоты, максимальные, минимальные и точки перегиба.
Функция в этом примере является
Во-первых, создайте функцию.
syms x
num = 3*x^2 + 6*x -1;
denom = x^2 + x - 3;
f = num/denom
f =
Постройте график функции при помощи fplot
. The fplot
функция автоматически показывает вертикальные асимптоты.
fplot(f)
Чтобы найти горизонтальную асимптоту математически примите предел как приближается к положительной бесконечности.
limit(f,Inf)
ans =
Предел как приближается к отрицательной бесконечности также 3. Этот результат означает линию является горизонтальной асимптотой, .
Чтобы найти вертикальные асимптоты , установите знаменатель равным 0 и решите его.
roots = solve(denom)
roots =
roots
указывает, что вертикальные асимптоты являются линиями
и
.
На графике можно увидеть, что имеет локальный максимум между точками и . Это также имеет локальный минимум между и . Чтобы найти -координаты максимума и минимума, сначала возьмите производную от .
f1 = diff(f)
f1 =
Чтобы упростить это выражение, введите следующее.
f1 = simplify(f1)
f1 =
Затем установите производную равной 0 и решите для критических точек.
crit_pts = solve(f1)
crit_pts =
Как график показывает, что функция имеет локальный минимум в
и локальный максимум в
.
Постройте график максимума и минимума 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
Чтобы найти точку перегиба установите вторую производную равной 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 =
Постройте график точки перегиба. Дополнительный аргумент [-9 6]
в fplot
расширяет область значений значения на графике так, чтобы вы могли видеть точку перегиба более четко, как показано на рисунке.
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