> s:=series(f,x,5);
> convert(s,polynom);# Удаление члена ряда, описывающего погрешность
Из этих примеров (их список читатель может пополнить самостоятельно) следует, что функция преобразования convert является одной из самых мощных функций Maple. С ее помощью можно получить множество различных форм одного и того же выражения.
3.5.8. Преобразование выражений
Еще одним мощным средством преобразования выражений является функция combine. Она обеспечивает
combine(f)
combine(f, n)
combine(f, n, opt1, opt2,...)
Здесь f — любое выражение, множество или список выражений; n — имя, список или множество имен; opt1, opt2, … — имена параметров. Во втором аргументе можно использовать следующие функции:
@@ abs arctan conjugate ехр
ln piecewise polylog power product
Psi radical range signum trig
Примеры применения функции combine представлены ниже (файл expr1):
> combine(ехр(2*х)^2,ехр);
> combine(2*sin(х)^2+2*cos(х)^2);
> combine(sin(х)*cos(х));
> combine(Int(х,x=a..b)-Int(х^2,x=a..b));
Эти примеры далеко не исчерпывают возможности функции combine в преобразовании выражений. Рекомендуется обзорно просмотреть примеры применения функции combine с разными параметрами, приведенные в справочной системе Maple.
3.5.9. Контроль за типами объектов
Выражения и их части в Maple рассматриваются как объекты. В ходе манипуляций с ними важное значение имеет
> whattype(2+3);
> whattype(Pi);
> whattype(123./5);
> whattype(1/3);
> whattype(sin(x));
> whattype([1,
> whattype(a+b+c);
> whattype(a*b/c);
> whattype(a^b);
> whattype(1+2+3=4);
С помощью функции type(object,t) можно выяснить, относится ли указанный объект к соответствующему типу t, например:
> type(2+3,integer);
> type(sin(х),function);
> type(hello,string);
> type('hello',string);
> type(1/3,fraction);
При успешном соответствии типа объекта указанному (второй параметр), функция type возвращает логическое значение true, в противном случае — false.
Для более детального анализа объектов может использоваться функция hastype(expr, t), где expr — любое выражение и t — наименование типа подобъекта.
Эта функция возвращает логическое значение true, если подобъект указанного типа содержится в выражении expr. Примеры применения этой функции даны ниже (файл control):
> hastype(2+3,integer);
> hastype(2+3/4,integer);
> hastype(2*sin(x),function);
> hastype(a+b-c/d,`+`);
Еще одна функция — has(f,x) — возвращает логическое значение true, если подобъект х содержится в объекте f, и false в ином случае:
> has(2*sin(х),2);
> has(2*sin(x), `/`);