Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛАБ MAPLE ИС / лаб 09-4-ряды Тейлора-задание

.doc
Скачиваний:
49
Добавлен:
15.02.2015
Размер:
235.01 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА № 7. РЯДЫ. ЧАСТЬ 4. РЯДЫ ТЕЙЛОРА

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

.

В Maple для разложения в ряд Тейлора предусмотрено несколько процедур, мы рассмотрим процедуру taylor(f,x=x0,n) .Первым параметром ее является раскладываемая в ряд функция. Ее можно задавать в виде выражения, зависящего от х, или в виде переменной, которой заранее это выражение присвоено. Вторым параметром процедуры является равенство, определяющее переменную и точку, в окрестности которой выполняется разложение в ряд. Третьим (необязательным) параметром является порядок остатка ряда.

I. РАЗЛОЖЕНИЕ В РЯД ТЕЙЛОРА. Разложим в ряд Тейлора экспоненту в окрестности нуля (это будет ряд Маклорена), удерживая 9 членов ряда:

> taylor((exp(x)),x=0,10);

  1. Разложите экспоненту в ряд в окрестности единицы и двойки, оставляя различное число членов.

  2. Разложите синус в окрестности 0 и .

II. СРАВНЕНИЕ ГРАФИКОВ ФУНКЦИИ И ЕЕ ПРИБЛИЖЕНИЯ С ПОМОЩЬЮ ПОЛИНОМА.

Чтобы отбросить остаток ряда, т.е. превратить ряд в полином, нужно воспользоваться процедурой convert(), преобразующей результат операции разложения в ряд в многочлен. Зададим функцию с помощью переменной f, разложим ее в ряд и преобразуем в полином:

> f:=1/(1-x);

> taylor(f,x=0,7);

> f1:=convert(%,polynom);

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

> plot([f,f1],x=-3..4,-2..3,color=[BLUE,RED], linestyle=[SOLID,DASHDOT],title="Function & its Taylor series",titlefont=[HELVETICA,BOLD,13],legend=["function","Taylor series"]);

  1. Разложите ту же функцию в окрестности 0, удерживая 20 членов ряда. Постройте график.

  2. Проделайте то же в окрестности 2.

  3. Разложите в окрестности 0, удерживая 10 и 40 членов ряда. Постройте график.

III. ПРОЦЕДУРА.

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

> polly:=(f,x0,n)->convert(taylor(f,x=x0,n),polynom);

> f:=exp(x);

> polly(f,0,5);

> plot([f,polly(f,0,5),polly(f,0,10)],x=-10..10,-2..2,color=[BLUE,RED,PINK],linestyle=[SOLID,DASHDOT,DOT],numpoints=150,title="Function & its Taylor series",titlefont=[HELVETICA,BOLD,13],legend=["function","Taylor series for n=n1","Taylor series for n=n2"]);

  1. Разложите экспоненту в окрестности 1. Постройте график.

  2. Разложите функцию в окрестности /2. Постройте графики с основной функцией и полиномами 20-го и 40-го порядков.

  3. Разложите функцию в окрестности 0 и 2, удерживая 10 и 20 членов ряда. Постройте графики.

  4. Разложите в ряд Тейлора функции ln(5x+10), удерживая 5 и 20 членов ряда. Постройте графики.

  5. То же проделайте для функции sin(3x-7).

IV ЦИКЛ.

Сделаем цикл рисунков, показывающих фазы приближения графика функции графиками полиномов все больших степеней. Для этого напишем процедуру, которая будет разлагать функцию в ряд Маклорена и отсекать п членов ряда:

> Macloren:=(f,n)->convert(taylor(f,x=0,n),polynom);

1. Разложим в ряд экспоненту и отбросим все члены ряда, начиная с 10-го:

> Macloren(ex,10);

> for i from 1 to 6 do ex1:=Macloren(ex,i); plot([exp(x),ex1],x=-2..2,color=[GREEN,RED]) end do;

>

Здесь цикл работает правильно.

2. Разложим в ряд гиперболический синус и отбросим все члены ряда, начиная с 10-го:

> sh:=sinh(x);

> Macloren(sh,10);

Полином содержит только нечетные степени х. Построим графики, соответствующие последовательному удержанию членов ряда. Чтобы цикл не работал при четных i, введем условный оператор проверки на четность (even – четное число, odd – нечетное).

> for i from 1 to 7 do

if is(i,even) then next fi;

sh1:=Macloren(sh,i); plot([sh,sh1],x=-2..2,linestyle=[SOLID,DASHDOT], color=[RED,GREEN]) end do;

Вопрос: почему печатаются и рисуются члены ряда, начиная с нулевого, а не с первого? Почему заканчиваются не седьмым, а пятым членом ряда? Исправьте цикл.

V. РЯД ЛОРАНА. Попробуйте разложить в ряд Тейлора функцию . Применение процедуры taylor() не даст результата. Разложите ее в ряд Лорана, содержащий и члены с отрицательными степенями . Воспользуйтесь процедурой series(), обращаться к которой нужно так же, как к taylor().

Составьте процедуру, аналогичную polly(). Постройте графики.

8