Дьяконов Владимир Павлович
Шрифт:
3.5.8. Преобразование выражений
Еще одним мощным средством преобразования выражений является функция combine. Она обеспечивает объединение показателей степенных функций и преобразование тригонометрических и некоторых иных функций. Эта функция может записываться в трех формах:
Здесь f — любое выражение, множество или список выражений; n — имя, список или множество имен; opt1, opt2, … — имена параметров. Во втором аргументе можно использовать следующие функции:
Примеры применения функции combine представлены ниже (файл expr1):
Эти примеры далеко не исчерпывают возможности функции combine в преобразовании выражений. Рекомендуется обзорно просмотреть примеры применения функции combine с разными параметрами, приведенные в справочной системе Maple.
3.5.9. Контроль за типами объектов
Выражения и их части в Maple рассматриваются как объекты. В ходе манипуляций с ними важное значение имеет контроль за типом объектов. Одной из основных функций, обеспечивающих такой контроль, является функция whattype(object), возвращающая тип объекта, например string, integer, float, fraction, function и т.д. Могут также возвращаться данные об операторах. Примеры применения этой функции даны ниже (файл control):
С помощью функции type(object,t) можно выяснить, относится ли указанный объект к соответствующему типу t, например:
При успешном соответствии типа объекта указанному (второй параметр), функция type возвращает логическое значение true, в противном случае — false.
Для более детального анализа объектов может использоваться функция hastype(expr, t), где expr — любое выражение и t — наименование типа подобъекта.
Эта функция возвращает логическое значение true, если подобъект указанного типа содержится в выражении expr. Примеры применения этой функции даны ниже (файл control):
Еще одна функция — has(f,x) — возвращает логическое значение true, если подобъект х содержится в объекте f, и false в ином случае:
Следует отметить, что соответствие подобъекта выражения указанному подобъекту понимается в математическом смысле. Так, в последнем примере подобъект «3-1», если понимать его буквально, в выражении 2*sin(x) не содержится, но Maple-язык учитывает соответствие 3-1=2, и потому функция has в последнем примере возвращает true.
Функция has может использоваться для выявления той или иной математической операции, оператора или функции. Однако надо соблюдать определенные правила, поскольку выражение, анализируемое функцией has оценивается и исполняется. Внимательно проанализируете приведенные ниже примеры: