Символьные (аналитические) операции
Основные операции с выражениями
Работа с частями выражений | Выражения (ехрr) или уравнения (eqn) обычно используются как сами по себе, так и в виде равенств или неравенств. В последнем случае объекты с выражениями имеют левую и правую части. | Для простейших манипуляций с выражениями полезны следующие функции:Преобразование выражений
Еще одним мощным средством преобразования выражений является функция combine. Она обеспечивает объединение показателей степенных функций и преобразование тригонометрических и некоторых иных функций. Эта функция – может записываться в трех формах: | combine(f) | combinef(, n) | combine(f .n .opt1 .opt2….) | Здесь f – любое выражение, множество или список выражений; n – имя, список или множество имен;Контроль за типами объектов
Выражения и их части в Maple 7 рассматриваются как объекты. В ходе манипуляций с ними важное значение имеет контроль за типом объектов. Одной из основных функций, обеспечивающих такой контроль, является функция whattype(object), возвращающая тип объекта, например string, integer, float, fraction, function и т. д. Могут также возвращаться данные об операторах.Подстановки
Функциональные преобразования подвыражений | Нередко бывает необходимо заменить некоторое подвыражение в заданном выражении на функцию от этого подвыражения. Для этого можно воспользоваться функцией applyop: | applyop(f, i, е) – применяет функцию f к i-му подвыражению выражения еФункции сортировки и селекции
Сортировка и селекция выражений широко используются в практике символьных преобразований. Для выполнения сортировки служит функция sort, применяемая в одной из следующих форм: | sort(L) | sort(L. F) | sort(A) | sort(A.Упрощение выражений
Функция simplify – одна из самых мощных в системах символьной математики. Она предназначена для упрощения математических выражений. "Все гениальное просто", – любим мы повторять, хотя это далеко не всегда так.Расширение выражений
Даже в жизни мы говорим: "не все так просто". Порою упрощенное выражение скрывает его особенности, знание которых является желательным. Функция expand "расширяет" выражение ехрr и записывается в виде: | expanc(expr, expr1, ехрг2,….Факторизация выражений
Разложение целых и рациональных чисел | Для разложения целых или рациональных чисел на множители в виде простых чисел служит функция: | ifactor(n) | …или: | ifactor(n,method) | Где n – число, method – параметр, задающий метод разложения.Комплектование по степеням
Еще одна функция общего назначения – collect – служит для комплектования выражения ехрr по степеням указанного фрагмента х (в том числе множества либо списка). Она задается в одной из следующих форм: | collect(a .x) | collect(a .x .form, func) | Во второй форме этой функции дополнительно задаются параметры form (форма) и func (функция или процедура).Программирование символьных операций
Реализация итераций Ньютона в символьном виде | Найти достаточно простую и наглядную задачу, решение которой отсутствует в системе Maple 7, не очень просто. Поэтому для демонстрации решения задачи с применением аналитических методов воспользуемся примером, ставшим классическим, – реализуем итерационный метод Ньютона при решении нелинейного уравнения вида f(x) -0.Вычисление интеграла по известной формуле
Рассмотрим следующий пример: | Прежние версии системы Maple не брали этот интеграл, поскольку он не имеет аналитического представления через обычные функции. Maple 7 блестяще вычисляет этот "крепкий орешек", но полученное выражение довольно сложно.Вложенные процедуры и интегрирование по частям
Теперь мы подошли к важному моменту, о котором читатель наверняка уже давно догадался – в составляемых пользователем процедурах можно использовать ранее составленные им (или кем-то еще) другие процедуры! Таким образом, Maple-язык позволяет реализовать процедуры, вложенные друг в друга.