Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ Цыганов ] Системы символьных вычислений (Maple).pdf
Скачиваний:
64
Добавлен:
22.08.2013
Размер:
449.75 Кб
Скачать

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

evalb - для булевых выражений, evalc - для комплексных выражений,

evalf - для операций с плавающей запятой, evalm - для вычисления матричных выражений.

Лабораторная работа 1.

Разложение в ряд Тейлора

Рассмотрим разложение в ряд Тейлора. Начнем с очистки памяти системы и загрузки библиотеки графических подпрограмм:

> restart: with(plots):

Определим функцию от двух переменных

> g:=x->exp(-0.1*x^2)*sin(5*x);

точку, в окрестности которой мы изучаем разложение, > x0:=0:

и радиус окрестности в которой мы будем изучать разложение функции в ряд

> r:=5:

Видно, что в заданной окрестности у функции нет особых точек

> plot(g(x),x=x0..x0+r,y=-1..1, color=red);

Видно, что построение графиков в Maple достаточно простое.

Теперь зададим начальную степень разложения в ряд Тейлора

> inDeg :=6:

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

> f:=taylor(g(x),x=x0,inDeg);

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

> N:= 10:

и на каждом шаге будем увеличивать степень полинома Тейлора на

> step:=6:

Построим теперь последовательность графиков. Для этого напишем цикл

> for i from 0 to N do deg := inDeg + step*i:

f:=convert(taylor(g(x),x=x0,deg),polynom);

A[i]:= plot(f,x=x0..x0+r, y=-1..1, color=blue, title=cat("N=",deg)): end do:

Написание цикла в Maple так же вполне очевидно.

6