Этот пример описывает, как анализировать простую функцию, чтобы найти ее асимптоты, максимум, минимум и точку перегиба.
Функция в этом примере
Во-первых, создайте функцию.
syms x
num = 3*x^2 + 6*x -1;
denom = x^2 + x - 3;
f = num/denom
f =
Постройте функцию при помощи fplot
. 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