Внутренняя структура объектов Maple.

Каждое алгебраическое выражение хранися системой Maple в виде древовидной структуры, обеспечивая тем самым доступ к любому ее члену или подвыражению, а также позволяя выполнять над ними разнообразные символьные преобразования. В представлении этой структуры каждый объект Maple делится на подобъекты первого уровня, которые, в свою очередь, также делятся на подобъекты и т.д.

Команды, позволяющие выделять части объектов:

rhs(уравн) Выделение правой части уравнения (или конца диапазона)
lhs(уравн) Выделение левой части уравнения (или начала диапазона)
numer(дробь) Выделение числителя числовой или алгебраической дроби
denum(дробь) Выделение знаменателя числовой или алгебраической дроби
nops(выр) Определяет количество операндов в выражении
op(выр) op(n,выр) Выдает операнды выражения в виде списка, Извлекает n-ый операнд выражения
select(б ф, выр) Выделяет в выражении операнды, для которых булева функция дает значение true
remove(б ф, выр) Выделяет в выражении операнды, для которых булева функция дает значение false
indets(выр, тип) Выделяет в выражении подвыражения заданного типа('*', '+' ...)

Познакомимся с этими командами более подробно.

Уравнение представляется в виде двух выражений, соединенных знаком равенства. Его не следует путать с операцией присваивания (:=). Уравнение является объектом Maple и служит для задания действительных уравнений. Его можно использовать в правой части операции присваивания, именуя тем самым уравнение.

Внутренняя структура объектов Maple. - student2.ru Команды lhs( ) и rhs( ) позволяют выделить левую и правую части уравнений (или, применительно к диапазонам, их начало и конец).
Команды numer( ) и denom( ) выделяют, соответственно, числитель и знаменатель дроби, причем перед выделением этих частей дробей Maple осуществляет их упрощение, приводя к нормальной форме. Внутренняя структура объектов Maple. - student2.ru
Внутренняя структура объектов Maple. - student2.ru Команда nops( ) определяет количество операндов в выражении, а команда op( ) выдает их в виде последовательности выражений. Эта же команда позволяет извлечь конкретный операнд выражения, указав в качестве первого параметра его порядковый номер. Отметим, что операндами списка или множества являются его элементы.
Внутренняя структура объектов Maple. - student2.ru Команды select( ) и remove( ) были ранее рассмотрены в разделе ???. Для работы этих команд необходимо в качестве первого параметра указать булеву функцию, результатом работы которой будет ответ true или false. Maple предлагает большое количество булевых функций, которые можно использовать в командах select( ) и remove( ) для работы со структурой выражений.
Внутренняя структура объектов Maple. - student2.ru Команда has( выражение, подвыражение) определяет, содержится ли некоторое подвыражение в заданной выражении. Команда has( ) понимает только те подвыражения, которые могут быть определены с помощью команды op( ). Для выделения в выражении членов, содержащих некоторую функцию в команде has( ) следует задавать лишь ИМЯ этой функции (без аргументов).

В функции has( ) можно задать несколько подвыражений в виде списка. Ее результатом будет ИСТИНА тогда и только тогда, когда найдено хотя бы одно из подвыражений в списке.

Еще одна булева функция hastype( выражение, тип) определяет, содержит ли выражение подвыражения заданного типа. Если из выражения необходимо выделить не операнды, содержащие подвыражения заданного типа, а сами подвыражения, то следует использовать функцию indets( выражение, тип). Эта функция возвращает в виде множества все подвыражения указанного типа. Внутренняя структура объектов Maple. - student2.ru

Наши рекомендации