С функциями типа piecewise можно работать как с обычными функциями. При этом необходимые операции и преобразования осуществляются для каждой из частей функции и возвращаются в наглядной форме.
Ниже приведен пример задания функции f в аналитической форме (файл piecewi):
> restart;
> f := max(х^2 - 2, x-1);
f := max(x²-2, x-1)
Для выявления характера функции воспользуемся функцией convert и создадим объект g в виде кусочной функции:
> g := convert(f, piecewise);
Выполним дифференцирование и интегрирование функции:
> fprime := diff(f, х);
> Int(g,х)=int(g,х);
Как нетрудно заметить, результаты получены также в виде кусочных функций. Можно продолжить работу с функцией f и выполнить ее разложение в степенной ряд:
> series(f, х);
-1+x+O(x 6)
Чтобы убрать член с остаточной погрешностью, можно выполнить эту операцию следующим образом:
> series(g, х);
-1+х
Обратите внимание на то, что поскольку разложение в ряд ищется (по умолчанию) в окрестности точки х= 0, то при этом используется только тот кусок функции, в котором расположена эта точка.
5.3. Операции с полиномами
5.3.1. Определение полиномов
К числу наиболее известных и изученных аналитических функций относятся степенные многочлены — полиномы. Графики полиномов описывают огромное разнообразие кривых на плоскости. Кроме того, возможны рациональные полиномиальные выражения в виде отношения полиномов. Таким образом, круг объектов, которые могут быть представлены полиномами, достаточно обширен, и полиномиальные преобразования широко используются на практике, в частности, для приближенного представления других функций.
Под полиномом в СКМ сумма выражений с целыми степенями. Многочлен для ряда переменных — многомерный полином. К одномерным полиномам относятся степенной многочлен
р(х) = а nх n+ а n-1x n-1+ ... a 1x + а 0,
а также отдельная переменная х и константа. Большое достоинство полиномов состоит в том, что они дают единообразное представление многих зависимостей и для своего вычисления требуют только арифметических операций (их число значительно сокращается при использовании хорошо известной схемы Горнера). Производные от полиномов и интегралы с подынтегральными функциями-полиномами легко вычисляются и имеют простой вид. Есть и достаточно простые алгоритмы для вычисления всех (в том числе комплексных) корней полиномов на заданном промежутке.
5.3.2. Выделение коэффициентов полиномов
Для выделения коэффициентов полиномов в 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+ a3x 3+ а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.
Читать дальше
Конец ознакомительного отрывка
Купить книгу