Дьяконов Владимир Павлович
Шрифт:
В целом ряде случаев работа вычислителей Maple по умолчанию в области комплексных значений данных нежелательна, поскольку приводит к представлению результатов также в комплексном виде:
В связи с этим в Maple введен новый математический пакет расширения RealDomain, переводящий вычисления в область реальных значений данных. Вызов пакета обеспечивается следующим образом:
Нетрудно заметить, что этот пакет переопределяет элементарные функции и некоторые другие вычислительные функции таким образом, что вычисления с ними ведутся только с реальными (вещественными, действительными) числами. Это видно из представленных ниже примеров:
Следует отметить, что вычисляемые выражения при работе с данным пакетом надо размещать после его загрузки.
2.1.10. Модификация графической функции plot
В старых версиях Maple функция plot нередко отказывалась строить графики функций, значения которых были комплексными числами. Но уже в Maple 8 алгоритм построения графиков переработан. Теперь, если выражение, по которому строится график, в ходе оценивания дает мнимую часть, она отбрасывается, так что строится график только действительной части выражения. Малые по модулю мнимые части также нередко отбрасываются — впрочем, когда именно не совсем ясно.
Рис. 2.4 дает примеры этого. В верхней части документа строятся графики функции квадратного корня от х, логарифма и синуса. Нетрудно заметить, что для квадратного корня и логарифма строится и впрямь только та часть графиков, где значения функций действительны — при х положительном. Для х< 0 строится только график функции синуса, поскольку синус дает вещественные значения при любом x — как положительном, так и отрицательном.
Рис. 2.4. Особые случаи применения функции plot
Еще более интересен случай, представленный снизу рис. 2.4. Здесь функция задана как решение выражения f, которое дает корни в виде комплексных выражений. Несмотря на это возможные части графика функции f(x) строятся.
2.2. Сложные типы данных
Сложными являются такие типы данных, которые являются представлением множественных и подчас разнохарактерных объектов. Нередко такие данные включают как часть себя рассмотренные выше простые типы данных.
2.2.1. Создание наборов (множеств)
В системе Maple любые выражения могут включаться в наборы, относящиеся к множественным данным. Такие наборы в виде множеств создаются с помощью фигурных скобок { }:
Отличительная черта множеств — автоматическое устранение из них повторяющихся по значению элементов. Кроме того, Maple расставляет элементы множеств в определенном порядке — числа в порядке увеличения значения, а символы и строки в алфавитном порядке. Для множеств нет строгого математического определения, и мы будем считать их наборами, удовлетворяющими перечисленным выше признакам.
2.2.2. Создание и применение списков выражений
Для создания упорядоченных наборов — списков — служат квадратные скобки []:
Как нетрудно заметить, элементы списков преобразуются и выводятся строго в том порядке, в каком они были заданы. Списки широко применяются для задания векторов и матриц.
В ряде случаев, например, при подготовке данных для двумерных графиков, возникает необходимость в подготовке парных списков — скажем, координат точек (х, у) графика. Для этого можно использовать функцию zip(f, u, v) или zip(f, u, v, d). Здесь f — бинарная функция, u, v — списки или векторы, d — необязательное значение.