taylor

Синтаксис

T = taylor(f,var)
T = taylor(f,var,a)
T = taylor(___,Name,Value)

Описание

пример

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 после входных параметров в любом из предыдущих синтаксисов.

Примеры

свернуть все

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

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

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

syms x
f = sin(x)/x;
T6 = taylor(f, x)
T6 =
x^4/120 - x^2/6 + 1

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

T8 = taylor(f, x, 'Order', 8)
T10 = taylor(f, x, 'Order', 10)
T8 =
- x^6/5040 + x^4/120 - x^2/6 + 1
 
T10 =
x^8/362880 - x^6/5040 + x^4/120 - x^2/6 + 1

Постройте исходное выражение 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')

Найдите расширение Ряда Тейлора этого выражения. По умолчанию 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

Найдите расширение серии Maclaurin этого многомерного выражения. Если вы не задаете вектор переменных, 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)

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

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

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

свернуть все

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

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

Точка расширения, заданная как номер, или символьное число, переменная, функция или выражение. Точка расширения не может зависеть от переменной расширения. Также можно задать точку расширения в качестве аргумента пары 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. Порядок усечения n является экспонентой в O - термин: O (var n).

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

Absolute order является порядком усечения вычисленного ряда. Relative order n означает, что экспоненты var в вычисленном ряду колеблются от ведущего порядка m к самой высокой экспоненте m + n - 1. Здесь m + n является экспонентой var в O - термин: O (var m + 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

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

Последовательное расширение Maclaurin

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

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