taylor

Описание

пример

T = taylor(f,var) аппроксимирует f с расширением ряда Тейлора f до пятого порядка в точке var = 0. Если вы не задаете var, затем taylor использует переменную по умолчанию, определяемую как symvar(f,1).

пример

T = taylor(f,var,a) аппроксимирует f с расширением ряда Тейлора f в точке var = a.

пример

T = taylor(___,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар. Можно задать Name,Value после входных параметров в любом из предыдущих синтаксисов.

Примеры

свернуть все

Найдите линейные расширения Маклаурина экспоненциальных, синусоидальных и косинусоидных функций до пятого порядка.

syms x
T1 = taylor(exp(x))
T2 = taylor(sin(x))
T3 = taylor(cos(x))
T1 = 
x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1

T2 = 
x^5/120 - x^3/6 + x

T3 = 
x^4/24 - x^2/2 + 1

Вы можете использовать sympref функция для изменения выходного порядка символьных полиномов. Повторно отобразите полиномы в порядке возрастания.

sympref('PolynomialDisplayStyle','ascend');
T1
T2
T3
T1 =
1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120
 
T2 =
x - x^3/6 + x^5/120
 
T3 =
1 - x^2/2 + x^4/24

Формат отображения, который вы задаете используя sympref сохраняется через текущий и будущий MATLAB® сеансов. Восстановите значение по умолчанию путем определения 'default' опция.

sympref('default');

Найдите расширения ряда Тейлора в x = 1 для этих функций. Точка расширения по умолчанию 0. Чтобы задать другую точку расширения, используйте ExpansionPoint:

syms x
T = taylor(log(x), x, 'ExpansionPoint', 1)
T = 
x - (x - 1)^2/2 + (x - 1)^3/3 - (x - 1)^4/4 + (x - 1)^5/5 - 1

Кроме того, укажите точку расширения как третий аргумент taylor:

T = taylor(acot(x), x, 1)
T = 
pi/4 - x/2 + (x - 1)^2/4 - (x - 1)^3/12 + (x - 1)^5/40 + 1/2

Найдите расширение серии Маклаурина для f = sin(x)/x. Порядок усечения по умолчанию 6. Последовательное приближение Тейлора этого выражения не имеет термина пятой степени, так что taylor аппроксимирует это выражение полиномом четвертой степени:

syms x
f = sin(x)/x;
T6 = taylor(f, x);

Использование Order для управления порядком усечения. Для примера аппроксимируйте одно и то же выражение до порядков 8 и 10:

T8 = taylor(f, x, 'Order', 8);
T10 = taylor(f, x, 'Order', 10);

Постройте график исходного выражения f и его приближения T6, T8, и T10. Обратите внимание, как точность приближения зависит от порядка усечения.

fplot([T6 T8 T10 f])
xlim([-4 4])
grid on

legend('approximation of sin(x)/x up to O(x^6)',...
       'approximation of sin(x)/x up to O(x^8)',...
       'approximation of sin(x)/x up to O(x^{10})',...
       'sin(x)/x','Location','Best')
title('Taylor Series Expansion')

Figure contains an axes. The axes with title Taylor Series Expansion contains 4 objects of type functionline. These objects represent approximation of sin(x)/x up to O(x^6), approximation of sin(x)/x up to O(x^8), approximation of sin(x)/x up to O(x^{10}), sin(x)/x.

Найдите расширение ряда Тейлора этого выражения. По умолчанию taylor использует абсолютный порядок, который является порядком усечения вычисляемого ряда.

T = taylor(1/(exp(x)) - exp(x) + 2*x, x, 'Order', 5)
T = 
-x^3/3

Найдите расширение ряда Тейлора с относительным порядком усечения при помощи OrderMode. Для некоторых выражений относительный порядок усечения обеспечивает более точные приближения.

T = taylor(1/(exp(x)) - exp(x) + 2*x, x, 'Order', 5, 'OrderMode', 'relative')
T = 
- x^7/2520 - x^5/60 - x^3/3

Найдите последовательное расширение Маклаурина этого многомерного выражения. Если вы не задаете вектор переменных, taylor лечит f как функцию одной независимой переменной.

syms x y z
f = sin(x) + cos(y) + exp(z);
T = taylor(f)
T = 
x^5/120 - x^3/6 + x + cos(y) + exp(z)

Найдите многомерное расширение Маклаурина путем определения вектора переменных.

syms x y z
f = sin(x) + cos(y) + exp(z);
T = taylor(f, [x, y, z])
T =
x^5/120 - x^3/6 + x + y^4/24 - y^2/2 + z^5/120 + z^4/24 + z^3/6 + z^2/2 + z + 2

Вы можете использовать sympref функция для изменения выходного порядка символьного полинома. Повторно отобразите полином в порядке возрастания.

sympref('PolynomialDisplayStyle','ascend');
T
T =
2 + z + z^2/2 + z^3/6 + z^4/24 + z^5/120 - y^2/2 + y^4/24 + x - x^3/6 + x^5/120

Формат отображения, который вы задаете используя sympref выполняется через текущие и будущие сеансы работы с MATLAB. Восстановите значение по умолчанию путем определения 'default' опция.

sympref('default');

Найдите многомерное разложение Тейлора путем определения как вектора переменных, так и вектора значений, определяющих точку расширения:

syms x y
f = y*exp(x - 1) - x*log(y);
T = taylor(f, [x, y], [1, 1], 'Order', 3)
T = 
x + (x - 1)^2/2 + (y - 1)^2/2

Если вы задаете точку расширения как скаляр a, taylor преобразует этот скаляр в вектор той же длины, что и вектор переменных. Все элементы вектора расширения равны a:

T = taylor(f, [x, y], 1, 'Order', 3)
T = 
x + (x - 1)^2/2 + (y - 1)^2/2

Входные параметры

свернуть все

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

Переменная расширения, заданная как символьная переменная. Если вы не задаете var, затем taylor использует переменную по умолчанию, определяемую как symvar(f,1).

Точка расширения, заданная в виде числа или символьного числа, переменной, функции или выражения. Точка расширения не может зависеть от переменной расширения. Можно также задать точку расширения как Name,Value аргумент в виде пары. Если вы задаете точку расширения оба пути, то Name,Value аргумент в виде пары имеет приоритет.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: taylor(log(x),x,'ExpansionPoint',1,'Order',9)

Точка расширения, заданная в виде числа или символьного числа, переменной, функции или выражения. Точка расширения не может зависеть от переменной расширения. Можно также задать точку расширения, используя входной параметр a. Если вы задаете точку расширения оба пути, то Name,Value аргумент в виде пары имеет приоритет.

Порядок усечения последовательного расширения Тейлора, заданный как положительное целое число или символьное положительное целое число. taylor вычисляет приближение ряда Тейлора с порядком n - 1. Усечение порядка <reservedrangesplaceholder0> - экспонента в O -term: O (varn).

Индикатор режима порядка, заданный как 'absolute' или 'relative'. Этот индикатор определяет, хотите ли вы использовать абсолютный или относительный порядок при вычислении полиномиального приближения Тейлора.

Absolute order - порядок усечения вычисляемого ряда. <reservedrangesplaceholder1> <reservedrangesplaceholder0> означает, что экспоненты var в вычисляемых последовательных областях значений из начального порядка m к наивысшей степени m + n - 1. Вот m + n - экспонента var в O -term: O (varm + n).

Подробнее о

свернуть все

Расширение серии Тейлора

Расширение ряда Тейлора представляет аналитическую функцию f (x) как бесконечную сумму членов вокруг точки расширения  x = a:

f(x)=f(a)+f(a)1!(xa)+f(a)2!(xa)2+=m=0f(m)(a)m!(xa)m

Расширение ряда Тейлора требует, чтобы функция имела производные до бесконечного порядка вокруг точки расширения.

Расширение серии Маклаурина

Расширение ряда Тейлора вокруг x = 0 называется расширением ряда Маклаурина:

f(x)=f(0)+f(0)1!x+f(0)2!x2+=m=0f(m)(0)m!xm

Совет

  • Если вы используете оба третьих аргумента a и ExpansionPoint чтобы задать точку расширения, значение, заданное через ExpansionPoint преобладает.

  • Если var является вектором, затем точкой расширения a должен быть скаляром или вектором той же длины, что и var. Если var является вектором и a является скаляром, тогда a расширен в вектор той же длины, что и var со всеми элементами, равными a.

  • Если точка расширения является бесконечностью или отрицательной бесконечностью, то taylor вычисляет расширение ряда Лорана, которое представляет собой степень ряд в 1/var.

  • Вы можете использовать sympref функция для изменения выходного порядка символьных полиномов.

Представлено до R2006a