применения:
> with(codegen,cost):
> cost(х^3+b^2-х);
> lhs(sin(x)^2+cos(x)^2=1);
> rhs(sin(x)^2+cos(x)^2=1);
> normal(2/4+3/6+6/12);
> f:=5*(a-b)^2/(а^2-2*а*b-b^2);
> numer(f);
> denom(f);
Обратите внимание на то, что в старых версиях (до Maple 7) загрузка библиотечной функции cost выполнялась иначе — командой readlib(cost). Это обстоятельство может служить причиной неверной работы документов, созданных в старых версиях Maple, в среде последующих версий Maple.
3.5.6. Работа с уровнями вложенности выражений
В общем случае выражения могут быть многоуровневыми и содержать объекты, расположенные на разных
• nops(expr) — возвращает число объектов первого уровня (операндов) в выражении expr;
• op(expr) — возвращает список объектов первого уровня в выражении expr;
• op(n,expr) — возвращает n-й объект первого уровня в выражении expr. Ниже представлены примеры применения этих функций:
> nops(а+b/с);
> op(a+b/c);
> op(1,a+b/c);
> op(2,a+b/c);
Рекомендуется просмотреть и более сложные примеры на применение этих функций в справке.
3.5.7. Преобразование выражений в тождественные формы
Многие математические выражения имеют различные
Основной функцией для такого преобразования является функция
convert: convert(expr, form, arg3,...)
Здесь expr — любое выражение, form — наименование формы, arg3, … — необязательные дополнительные аргументы.
convert — простая и вместе с тем очень мощная функция. Ее мощь заключается в возможности задания множества параметров. Их полный перечень (около восьмидесяти наименований) можно найти в справке по функции convert. Многие из этих параметров очевидны с первого взгляда, поскольку повторяют наименования типов чисел, данных или функций. Например, опции binary, decimal, hex и octal преобразуют заданные числа в их двоичное, десятичное, шестнадцатиричное и восьмеричное представление. Параметр vector задает преобразование списка в вектор (напоминаем, что список и вектор — разные типы данных), а параметр matrix — в матрицу. Приведем примеры применения функции convert (файл expr1):
> convert(123,binary);
> convert([a,b,с,d],`+`);
> f:=seq(x[i]^n,i=1..4);
> x:='x'; convert(sinh(x),ехр);
> convert(1.234567,fraction);
> convert(1/7,float);
> convert(sin(I*x),exp);
> convert(sinh(x),exp);
> convert(arcsinh(x),ln);
> convert(12345,list);
> convert(binomial(m,n),factorial);
> convert([[1,2],[3,4],[5,6]],table);
> convert(-Pi,signum);
> s:=taylor(sin(x),x,8);
> p:=convert(s,polynom);
> convert(p,float);
> f:=(х^4+х)/(x^2-1);
> convert(f, parfrac, x);