Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAPLE.doc
Скачиваний:
221
Добавлен:
24.03.2015
Размер:
1.52 Mб
Скачать

9. Операции с полиномами. Определение полиномов

К числу наиболее известных и изученных аналитических функций относятся степенные многочлены — полиномы. Графики полиномов описывают огромное разнообразие кривых на плоскости. Кроме того, возможны рациональные полиномиальные выражения в виде отношения полиномов. Таким образом, круг объектов, которые могут быть представлены полиномами, достаточно обширен, и полиномиальные преобразования широко используются на практике, в частности, для приближенного представления других функций.

Под полиномом в СКМ сумма выражений с целыми степенями. Многочлен для ряда переменных — многомерный полином. К одномерным полиномам относятся степенной многочлен

р(х) = аn хn + аn-1 xn-1 + ... a1 x + а0,

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

Выделение коэффициентов полиномов

Для выделения коэффициентов полиномов в Maple служат следующие функции:

coeff(p, х) — возвращает коэффициент при х полинома p;

coeff(p, x, n) — возвращает коэффициент для члена со степенью n полинома p;

coeff(p, x^n) — возвращает коэффициенты при x^n полинома p;

coeffs(p, х, 't') — возвращает коэффициенты полинома нескольких переменных, относящиеся к переменной x (или списку переменных) с опцией 't', задающей имя переменной;

collect(p, x) — возвращает полином, объединяя коэффициенты при степенях переменной х.

Ниже даны примеры применения этих функций (файл coefcoll):

> р:=а4*х^4+а3*х^3+а2*х^2+а1*х+а0;

р:= а4х4 + a3x3 + а2 х2 + a1 x + а0

> coeff(р,х);

а1

> coeff(р,х^3);

а3

> coeff(р,х,4);

а4

> coeffs(p,x);

a0, a4, a1, a3, a2

> q:=x^2+2*y^2+3*x+4*y+5;

q:= x² +2 y² + 3x + 4y +5

> coeffs(q);

5, 2, 3, 4, 1

> coeffs(q,y);

x² +3x +5, 2, 4

> coeffs(q,x,y);

5+2y²+4y, 3, 1

> collect(q,x);

x² + 2(1,x²,x)² + 3x + (4,4x²,4x)+5

> collect(q,x,y);

y(1)x² + y(3)x + y(5+2y²+4у)

Дополнительные примеры на применение функции collect можно найти в файле collect.

Оценка коэффициентов полинома по степеням

Полином может быть неполным, то есть не содержать членов со степенями ниже некоторой. Функция lcoeff возвращает старший, а функция tcoeff — младший коэффициент полинома нескольких переменных. Эти функции задаются в виде:

lcoeff(р)

tcoeff(р)

lcoeff(р, х)

tcoeff(р, х)

lcoeff(р, х, 't')

tcoeff(р, х, 't')

Функции lcoeff и tcoeff возвращают старший (младший) коэффициент полинома р относительно переменной х или ряда переменных при многомерном полиноме. Если х не определено, lcoeff (tcoeff) вычисляет старший (младший) коэффициент относительно всех переменных полинома p. Если третий аргумент t определен, то это имя назначено старшему (младшему) члену p. Если х — единственное неизвестное, и d — степень p по х, то lcoeff(p, x) эквивалентно coeff(p, x, d). Если х — список или множество неизвестных, lcoeff (tcoeff) вычисляет старший (младший) коэффициент p, причем p рассматривается как полином многих переменных. Имейте в виду, что p должен быть разложен по степеням неизвестного x до вызова функций lcoeff или tcoeff.

Приведем примеры применения функций lcoeff, tcoeff и coeffs (файл polan):

> q:=1/x^2+2/x+3+4*x+5*x^2;

> lcoeff(q,x);

5

> lcoeff(q,x,'t');

5

> t;

> coeffs(q,x,'t');

3, 1, 4, 2, 5

> t;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]