Maple V представляет собой один из наиболее мощных математических пакетов Его возможности охватывают достаточно много разделов математики и могут с пользой применяться на разных уровнях, включая и уровень серьезных научных исследований.
Работать с ним можно как в режиме интерактивного диалога, так и путем составления и отладки программ на специальном Maple-языке, ориентированном на сложные математические вычисления.
Основу пакета составляет специальное ядро - программа символьных преобразований. Кроме того, имеется несколько тысяч специальных функций, хранящихся в подгружаемых к ядру пакетах и библиотеках.Общая ориентированность пакета на символьные преобразования (компьютерную алгебру) конечно не означает, что с помощью Maple нельзя решать задачи численно.
Maple умеет не только вычислять, но и обладает богатыми возможностями графического представления математических объектов и процессов.
Здесь мы кратко рассмотрим лишь интерфейс пакета, работающего под Windows.
Окно Maple содержит многие атрибуты, привычные пользователю других приложений Windows: заголовочную часть, строку ниспадающих меню, панель управления, линейку вертикальной прокрутки, строку состояния и т.д. Основную часть базового окна занимает еще одно окно, в котором обычно располагаются один или несколько рабочих документов (Maple worksheet). В этом же окне могут располагаться окна помощи. Состояние ниспадающих и контекстного меню и кнопок на панели управления зависит от того, какое именно окно активно в настоящий момент и месторасположения курсора в окне Maple worksheet.
Рассмотрим наиболее типичный случай - работу пользователя с рабочим документом в режиме непосредственного диалога с программой. В этом случае на рабочем документе может быть представлена текстовая информация трех видов, а также объекты двумерной и трехмерной графики.
Исполняемые команды вводятся после специльного приглашения ' > ', красным цветом и должны заканчиваться точкой с запятой или двоеточием. Обычно команды вводятся в строчном формате, но пользователь имеет возможность перейти к специальному математическому формату ( который по умолчанию применяется при выводе). В одной строке может быть расположено более одной команды. Если после команды стоит двоеточие, то результат ее выполнения не будет отображен на экране. Если же после команды стоит точка с запятой, то после ее выполнения на экране появится результат. Если Maple не сможет вычислить введенное выражение, то результатом будет перевод введеннного выражения в матматический формат, принятый для вывода. Выходная информация печатается по умолчанию синим цветом. Исполнение Maple-команды инициируется нажатием ввода.
Команды можно объединять в исполняемые группы. Каждая такая группа выделяется слева общей для всех содержащихся в ней строк квадратной скобкой. Группа запускается на исполнение одним нажатием клавиши Enter и является по существу простейшей Maple-программой. Для того чтобы не исполнять каждую строку отдельно, а набрать целую исполняемую группу, достаточно осуществлять перевод строки с помощью комбинации клавиш Shift+Enter. Объединять исполняемые группы можно нажатием функциональной клавиши F4, а разбивать - нажатием F3. Разумеется, эти же действия можно проделать, выбрав соответствующие пункты в верхнем меню.
Текст черного цвета, которым написаны этот и предыдущие абзацы, используется для комментариев и никак не обрабатывается системой.
Для того чтобы вводить такой текст, достаточно, находясь в командной строке, нажать кнопку " Т " на панели управления, или вставить параграф, выбрав соответствющий пункт раздела "Insert" нисподающего меню.
Рабочий документ Maple можно структурировать, создавая вложенные друг в друга секции. Эти секции можно сворачивать. В свернутом виде каждая секция представлена лишь своим заголовком и признаком секции - кнопкой, снабженной знаком "+". Для разворачивания/сворачивания секции достаточно нажать на эту кнопку мышкой (впрочем, раз Вы читаете этот текст, то Вы, наверное, уже освоили эту возможность).
С помощью пункта меню "HyperLink..." из раздела " I nsert" можно создавать ссылки на определенные разделы других рабочих документов и топиков помощи. Тем самым Maple-документ может обладать структурой гипертекста.
Рассмотрим простейшие примеры работы с Maple в интерактивном режиме:
> 34*223457;
7597538
> 3^64;
3433683820292512484657849089281
> 31/35+17/42;
> 31./35+17/42;
1.290476191
> 2+sqrt(3^2-4);
> 50!;
30414093201713378043612608166064768844377641568960512000000000000
> sqrt(-9);
3 I
Обратите внимание, что по умолчанию Maple выполняет вычисления с абсолютной точностью, переходя, в случае необходимости к подходящим расширениям кольца целых чисел. И лишь наличие десятичной точки у одного из операндов привело к переходу к вычислениям с плавающей точкой.
Приведем еще несколько примеров с использованием числовых констант и переменных, а также оператора присваивания и простейщих функций:
> Pi;pi;
> sin(Pi/3);sin(pi/3);
> pi:=Pi/4;sin(pi);alpha:="Пример";
Эти примеры иллюстрируют три важных момента.
Во-первых, Maple чувствителен к регистру, т.е. различает заглавные и маленькие буквы.
Во-вторых, в то время как pi обозначает просто соответствующую букву греческого алфавита и может быть использовано в качестве идентификатора переменной, Pi означает известную математическую константу - отношение длины окружности к диаметру.
Наконец, в-третьих, переменной можно присваивать значение любого типа (при этом не обязательно явно указывать этот тип - Maple сам постарается разобраться) или не придавать никакого, используя ее именно в качестве переменной (в математическом понимании этого термина).
Попытка присвоить значение защищенной константе приведет к ошибке:
> Pi:=1;
Error, attempting to assign to `Pi` which is protected
Сообщение об ошибке вызовет и попытка сложить число и символьную строку:
> pi+alpha;
Error, invalid types in sum
(Напомним, что переменной присвоено значение "Пример")
Однако, следующее присвоение совершенно корректно:
> Delta:=2*test+5;
Кроме Pi, в Maple имеются еще несколько зарезервированных констант. Отметим среди них мнимую единицу - I:
> i^2,I^2;
i2, -1
Использование абсолютно точных значений математических выражений не всегда удобно. Для их перевода в формат записи с плавающей точкой с одновременным округлением с указанной точностью используется функция evalf :
> evalf(Pi,28); evalf(alpha); evalf(Pi); Digits:= 6: evalf(Pi); Digits:=10:
3.141592653589793238462643383
"Пример"
3.141592654
3.14159
Обратите внимание, что если второй
аргумент функции evalf отсутствует, то
количество значащих цифр в возвращаемых
значениях определено значением
зарезервированной переменной окружения Digits
, которое по умолчанию равно 10 и может быть
изменено обычным присваиванием.
Следующий пример иллюстрирует одну очень важную особенность Maple:
> b:=2*d+3;
b := 2d+3
> d:=4;
d := 4
> b;
11
> b+3*B;
11 + 3 B
После того как переменной d, участвующей в
выражении, хранящемся в b, было присвоено
конкретное значение, значение b изменилось
с учетом этого присвоения, хотя мы и не
делали новых присваиваний для b.
Указанная особенность Maple объясняет, почему
столь безобидная для других языков (и
широко используемая в них) конструкция
приводит к переполнению стека рекурсий на
Maple:
> c:=c+1;
Warning, recursive definition of name
c := c + 1
> c;
Error, too many levels of recursion
Однако, если предварительно придать переменной конкретное значение, предыдущее присваивание не будет приводить к неприятностям:
> c:=5:c:=c+1;c;
c := 6
6
Волгоградский
государственный педагогический
университет
Кафедра алгебры, геометрии и информатики