Математический анализ в Maple 9

         

Разложение функций в ряды Тейлора и Лорана

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

В Maple на этот случай предусмотрены такие процедуры: taylor() — разложение в ряд Тейлора, mtaylor() — разложение в ряд Тейлора функции нескольких переменных, series () — обобщенный ряд (для аналитических функций такой ряд совпадает с рядом Тейлора).

На заметку
На этом набор утилит Maple для выполнения разложений в ряды далеко не исчерпывается; их изучение оставляем читателю в качестве самостоятельного задания.

Задача 3.6

Разложить в ряд Тейлора до члена с х функцию

Воспользуемся процедурой taylor(), указав первым параметром раскладываемую в ряд функцию, вторым параметром — равенство, определяющее переменную и точку, в окрестности которой выполняется разложение в ряд, а третьим необязательным параметром — порядок "остатка" ряда. Так, если раскладывать функцию следует до слагаемых со степенью 4 включительно, то порядок остатка ряда равен 5.

Определим выражение f, задающее исходную функцию.

Основную часть ряда обозначим через fl (переменная среды %% ссылается на результат выполнения предпоследней операции (т.е. на ряд для функции), а опция polynom является инструкцией, что указанное первым параметром выражение следует привести к полиномиальному виду).

Теперь можно сравнить, насколько отличаются исходная функция и ее приближение рядом Тейлора (приближение, поскольку остаток ряда был отброшен).

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

Задача 3.7

Разложить в ряд Тейлора функцию.

При разложении этой функции в ряд Тейлора порядок остатка указывать не будем.

В подобных ситуациях порядок остатка определяется переменной среды Order; по умолчанию значение этой переменной равно 6. Поэтому в предыдущем выражении последним слагаемым должно было бы быть слагаемое степени 5 по х (соответственно остаток — степени 6). Однако поскольку функция четная, это слагаемое, естественно, отсутствует (точнее, соответствующий коэффициент тождественно равен нулю). Поэтому последним является слагаемое степени 4, а остаток указан как имеющий степень 5 (хотя на самом деле степень остатка равна 6).
Чтобы при вызове процедуры taylor() не указывать, до какой степени проводить разложение, можно изменить значение переменной среды Order.

Определим процедуру F(x,n), которая будет представлять разложение функции f (х) в ряд в окрестности нуля до слагаемых степени порядка п, преобразуя такое разложение в полином.

Рассмотрим пример вызова этой процедуры (можно сравнить с результатом разложения, полученным выше).

Теперь построим график исходной функции, ее ряд до степени 5 и ряд до степени 10.

При построении графиков использовалась команда numpoints=150, в которой "частота" базовых точек, по которым строятся графики, увеличивается (по умолчанию — значение 50) в три раза.

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

Задача 3.8

Разложить в ряд Маклорена функцию f(x,y) = (1+x)m(1+y).

На заметку
Рядом Маклорена называется разложение функции в ряд Тейлора в окрестности нуля.

Определяем, как обычно, функцию.

Разложение в ряд осуществляется с помощью процедуры mtaylor(). При этом в качестве параметров указываются раскладываемая в ряд функция, список переменных, по которым следует выполнять разложение, (если точка, в окрестности которой это разложение выполняется, не указана, то разложение выполняется в окрестности нуля), степень "обрыва" ряда (будут отброшены слагаемые, суммарная степень которых при х и у больше либо равна 4), а также вес этих переменных (по умолчанию вес всех переменных одинаков и равен 1). В данном случае указан список [2,1] — "присутствие" переменной х в два раза уменьшено (если судить по степеням) по сравнению с у.

Если нужен какой-то конкретный коэффициент разложения, используют процедуру coeftayl(), указав параметрами процедуры функцию, переменный и точку разложения (в виде равенства), а также список индексов для данногс коэффициента по каждой переменной.

Однако, как известно, в ряд Тейлора можно раскладывать только анали тические функции (для которых в данной точке существуют производньк всех порядков).
Более общие разложения, по сравнению с рядом Тейлора, можно получить, используя процедуру series (). Пример ее использования приведен ниже.

Задача 3.9

Разложить в ряд функцию

Как несложно убедиться, функция в точке х=2 имеет особенность. Поэто му использовать процедуру taylor() невозможно. Сначала опишем функцию:

Правила вызова процедуры series () такие же, как и у процедуры taylor().

Видим, что функция f (х) в точке х=2 не является аналитической, посколь ку в разложении имеется слагаемое с отрицательным показателем степеш Ряд, который получен выше, фактически является рядом Лорана для функ ции f(x). Интересно сравнить, как отличаются разложения этой функции окрестности различных точек друг от друга и самой функции. С этой цель определим процедуру, зависящую от трех параметров — раскладываемой ряд функции, равенства, определяющего переменную и точку разложения, также степени остаточного члена.

Предполагается, что второй параметр VarAndPoint является равенством (например, х-2). Локальной переменной t присваивается в качестве значения левая часть этого равенства (в приведенном примере это х). Далее выполняется разложение функции-аргумента в ряд и преобразование в полиномиальный вид.

Например, посредством новой процедуры F() полученный выше ряд Лорана можно сгенерировать следующим образом.

Если нужно разложить функцию в ряд в окрестности другой точки, например х=0, поступаем следующим образом.

Разложение в окрестности точки х=1 совпадает с разложением в ряд Тейлора для данной функции.

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

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


Содержание раздела