Maple — система компьютерной математики, рассчитанная на широкий круг
пользователей. До недавнего времени ее называли системой компьютерной алгебры,
Ито указывало на особую роль символьных вычислений и преобразований, которые
способна осуществлять эта система. Но такое название сужает сферу применения
системы. На самом деле она уже способна выполнять быстро и эффективно не только
символьные, но и численные расчеты, причем сочетает это с превосходными
средствами графической визуализации и подготовки электронных документов.
Казалось бы, нелепо называть такую мощную систему, как Maple 7 математической
системой «для всех». Однако по мере ее распространения она становится полезной
для многих пользователей ПК, вынужденных в силу обстоятельств (работа, учеба,
хобби) заниматься математическими вычислениями и всем, что с ними связано. А все
это простирается от решения учебных задач в вузах до моделирования сложных
физических объектов, систем и устройств, и даже создания художественной графики
(например, фракталов).
Для наших читателей (в том числе и для математиков-профессионалов)
возможности систем символьной математики, реализованных на массовых ПК класса
IBM PC, порой являются полной неожиданностью и вызывают вполне заслуженное
удивление и восхищение, но иногда и резкое отрицание. Впрочем, последнее
характерно скорее для тех, кто с системой Maple просто не работал и относится к
ней, как дама из анекдота о паровозе — увидев паровоз впервые, она воскликнула:
«Не может быть, что он едет без лошадей!» Maple — тщательно и всесторонне
продуманная система компьютерной математики. Она с равным успехом может
использоваться как для простых, так и для самых сложных вычислений и выкладок.
Заслуженной популярностью системы Maple (всех версий) пользуются в университетах
— свыше 300 самых крупных университетов мира (включая и наш МГУ) взяли эту
систему на вооружение. А число только зарегистрированных пользователей системы
уже давно превысило один миллион. Ядро системы Maple используется в ряде других
математических систем, например в MATLAB и Mathcad, для реализации в них
символьных вычислений.
Добавьте к этому куда большее число незарегистрированных пользователей — ведь
система записана на многих компакт-дисках, лихо продаваемых в России по
вполне доступным ценам. Если учесть все это, то оказывается, что популярность
системы Maple ничуть не ниже, а то и выше, чем у гораздо более простых систем,
таких как Derive и Mathcad. Вот и решайте, какая из систем и впрямь рассчитана
на всех!
Maple — типичная интегрированная система. Она объединяет в себе:
Ко всем этим средствам имеется полный доступ прямо из программы. Maple — одна
из самых мощных и «разумных» интегрированных систем символьной математики,
созданная фирмой Waterloo Maple, Inc. (Канада).
Во многих обзорах систем компьютерной алгебры Maple справедливо считается
одним из первых кандидатов на роль лидера среди них. Это лидерство она
завоевывает в честной конкурентной борьбе с другой замечательной математической
системой — Mathematica 4.1. Каждая из данных двух систем имеет свои особенности,
но в целом эти две лидирующие системы практически равноценны. Однако надо
отметить, что появление новейшей версии Maple 7 означает очередной виток в
соревновании этих систем за место лидера мирового рынка. Причем виток на этот
раз раньше сделала система Maple 7.
Система Maple прошла долгий путь развития и апробации. Она реализована на больших ЭВМ, рабочих станциях Sun, ПК, работающих с операционной системой Unix, ПК класса IBM PC, Macintosh и др. Все это самым положительным образом повлияло на ее отработку и надежность (в смысле высокой вероятности правильности решений и отсутствия сбоев в работе). Не случайно ядро системы Maple V используется целым рядом других мощных систем компьютерной математики, например системами класса Mathcad и MATLAB. А совсем недавно упрощенная версия Maple для операционной системы Windows СЕ стала использоваться в миниатюрных компьютерах фирмы Casio — Cassiopeia.
Известен ряд версий системы Maple, называемых реализациями. Одной из самых
известных реализаций является реализация Maple V R5. В ней появилась возможность
работы с электронными таблицами, несколько улучшен интерфейс пользователя
(введены палитры для ввода математических символов и расширены возможности
управления мышью), стала возможной запись файлов в формате HTML и введена
возможность обмена объектами между документами методом перетаскивания (Drag and
Drop).
Основное достоинство предшествующей версии Maple 6 — это существенное
ускорение вычислений с большими матрицами, достигнутое применением алгоритмов
матричных вычислений известного пакета NAG (Numbering Algorithms Group). Хотя
данная книга посвящена новейшей реализации системы Maple 7, ее основной материал
будет полезен и пользователя реализации Maple 6.
Новейшая версия систем Maple — Maple 7 появилась 21 июня 2001 г. Корпорация Waterloo Maple оценивает ее появление как новый виток в борьбе за мировое лидерство в области автоматизации математических вычислений — как численных, так и, в особенности, символьных. Являясь одними из лучших и надежных систем компьютерной математики, Maple 6 и Maple 7 становятся мировым стандартом в области математических вычислений.
Об ошибках в символьных вычислениях
На многих пользователей систем символьной математики удручающее впечатление
может произвести наличие хотя и редких, но ошибочных решений. В самом деле, мы
немедленно стерли бы с жесткого диска табличный процессор, давший ошибку в
бухгалтерских расчетах, и перестали бы доверять системе проверки орфографии,
дающей ошибки при проверке. Впрочем, последнее случается сплошь и рядом — пока
нет таких систем, которые корректно проверяли бы орфографию и грамматику. Тот же
текстовый процессор Word 97/2000 постоянно ошибается при проверке орфографии
текстов, в чем автор не раз убеждался, готовя с его помощью большие
книги.
У систем компьютерной алгебры нет проблем с обработкой естественного языка —
математика полностью формализованная наука. Однако в них много своих условностей
и неоднозначностей, которые здесь как бы заранее запрограммированы. К примеру,
что считать более простым выражением: tan(x)
или sin(x)/cos(x)? Система Derive
полагает более простым выражением tan(x)
и преобразует к нему выражение sin(x)/cos(x). А вот система Maple V ничуть не менее справедливо
считает, что функции sin(x) и cos(x)
математически более простые, чем tan(.r), и вообще — tan(x), по сути, не самостоятельная функция, a sin(x)/cos(x). Поэтому Maple V везде
вместо tm(x) будет выводить sin(x)/cos(x).
Представьте себе, что таких условностей десятки и вы ничего об этом не
знаете. Поэтому не стоит удивляться, что символьное значение какой-либо
производной или интеграла может заметно отличаться по виду от приводимого в том
справочнике, из которого взято исходное выражение для проверки правильности
работы системы. Часто, чтобы получить результат в необходимом виде, необходимо
приложить определенные усилия либо дать конкретные указания системе о типе
преобразований в ходе вычислений. Указания реализуются в виде параметров к
командам и функциям системы.
По образному выражению автора обзора [40], решение задач в символьном виде
напоминает переход через поле, густо напичканное минами. Удивительно не то, что
системы символьной математики могут ошибаться и «взрываться», а то, что число
этих ошибок мало и уже на нынешнем этапе развития таких систем это не мешает их
серьезному практическому применению. Стоит еще раз подчеркнуть, что Maple в этом
отношении является одной из лучших систем, реализованных на ПК класса IBM PC и
Macintosh с достаточно умеренными техническими характеристиками. Кстати говоря,
для ПК Macintosh последней реализацией пока что является Maple V R4.
Один знакомый автор любил говорить, что компьютеры делают умных людей умнее,
а глупых — глупее. Пожалуй, это более чем справедливо для людей, сидящих у ПК с
установленной на нем системой символьной математики. Лишь те, кто понимают суть
математических вычислений и имеют должную математическую интуицию и подготовку,
могут получить от таких систем самые серьезные и даже новые результаты. Те же,
кто думает, что системы символьной математики заменят им математические знания,
глубоко ошибаются и могут получить красочно выглядящие, но абсолютно неверные и
даже псевдонаучные результаты!
Однако вряд ли следует утрировать вероятность выдачи системами символьной
математики ошибочных результатов — даже самые опытные математики-аналитики тоже
могут ошибаться в своих вычислениях. В разработке таких систем, как Maple или
Mathematica принимают участие крупные математические школы всего мира! Эти
системы — кладезь математических понятий, сведений и знаний. Они способны
заменить самые серьезные справочники по математическим вычислениям в любой
области науки, техники и образования. Кроме того, они имеют множество средств
для проверки корректности выполняемых вычислений, например путем подстановки
полученных результатов в исходные выражения.
Кстати, одно из самых действенных приемов проверки таких средств — решение задачи одновременно на нескольких системах символьной математики. Не случайно уже сейчас можно заметить тенденцию к объединению математических систем. Эта новая и безусловно прогрессивная тенденция в ближайшее время приведет к созданию автоматизированных рабочих мест математиков и ученых других близких специальностей. Разработки таких рабочих мест (разумеется, компьютер на них — главный инструмент), в том числе с использованием систем Maple, уже появились и о них немного говорится в заключении. В добавление к сказанному надо отметить, что Maple 7 — одна из самых надежных систем компьютерной математики. Надежных прежде всего в смысле высокой достоверности получения правильных результатов при сложных символьных вычислениях. Эта первая система компьютерной математики, успешно прошедшая полное тестирование на задачах повышенной сложности, предлагаемых для оценки качества подобных систем.
Основой для работы с символьными преобразованиями в Maple является ядро
системы. Оно содержит сотни базовых функций и алгоритмов символьных
преобразований. В новых реализациях объем ядра достигает 6-7 Мбайт. Имеется
также основная библиотека операторов, команд и функций. Многие встроенные в нее
функции, как и функции ядра, могут использоваться без какого-либо объявления,
другие нуждаются в объявлении. Кроме того, имеется ряд подключаемых пакетов
(packages).
Дополнительные функции из пакетов могут применяться после объявления подключения пакета с помощью команды with(name), где name — имя применяемого пакета. Общее число функций, с учетом встроенных в ядро и размещенных в пакетах в системе Maple V R4 приближается к 2500, в реализации R5 — к 2700, а в Maple бив Maple 7 оно уже превышает 3000. Это означает, что большинство задач может решаться в режиме прямого диалога с системой без использования каких-либо средств программирования.
Maple способна решить огромное число задач вообще без какого-либо
программирования в общепринятом смысле этого понятия. Достаточно лишь описать
алгоритм решения задачи и разбить его на отдельные вопросы, на которые система
Maple способна дать ответы. Более того, есть тысячи задач, алгоритмы решения
которых уже реализованы в виде функций и команд системы. Тем не менее это вовсе
не означает, что в Maple нельзя программировать. На самом деле Maple
поддерживает три собственных языка: входной, реализации и
программирования.
Maple имеет входной язык сверхвысокого уровня, ориентированный на решение
математических задач практически любой сложности. Он служит для задания системе
вопросов или, говоря иначе, задания входных данных для последующей их обработки.
Это язык интерпретирующего типа и по своей идеологии напоминает добрый старый
Бейсик. И такое сходство вовсе не недостаток, а огромное достоинство — ведь
именно с Бейсика начался подлинный диалог пользователя напрямую с компьютером!
Входной язык имеет большое число заранее определенных математических и
графических функций, а также обширную библиотеку, подключаемую по мере
необходимости.
Имеет Maple и свой язык процедурного программирования — Maple-язык. Этот язык
имеет вполне традиционные средства структурирования программ: операторы циклов,
операторы условных и безусловных переходов, операторы сравнения, логические
операторы, команды управления внешними устройствами, функции пользователя,
процедуры и т. д. Он также включает в себя все команды и функции входного языка,
ему доступны все специальные операторы и функции. Многие из них являются весьма
серьезными программами, например символьное дифференцирование, интегрирование,
разложение в ряд Тейлора, построение сложных трехмерных графиков и т. д.
Не следует путать входной язык и язык программирования системы (Maple-язык) с
языком ее реализации. Им является один из самых лучших и мощных универсальных
языков программирования — Си. На нем написано ядро системы, содержащее тщательно
оптимизированные процедуры. Большинство же функций, которые содержатся в
пакетах, написаны на Maple-языке, благодаря чему их можно модифицировать и даже
писать свои собственные библиотеки. По разным оценкам, лишь от 5 до 10 % средств
Maple создано на языке реализации — все остальное написано на Maple-языке. Таким
образом, система имеет развитые возможности для расширения и адаптации к задачам
пользователя. Для подготовки программ на языке Maple могут использоваться
внешние редакторы, но система имеет и свой встроенный редактор, вполне
удовлетворяющий требованиям большинства пользователей. Он открывается командами
New и Open в меню File. Этот
редактор можно использовать для редактирования файлов программ или
математических выражений. Версии Maple для MS-DOS имеют свой редактор программ и
отладчик с функциями проверки синтаксиса. После версии Maple V для Windows
необходимость в этих средствах практически отпала.
Синтаксис структурных операторов языка Maple напоминает смесь Бейсика и Паскаля. Это облегчает знакомство с ним тем, кто имеет хотя бы начальный опыт программирования на этих языках. По близким к Бейсику правилам (и при помощи общепринятых математических сокращений) выполняется и ввод математических выражений в диалоговом режиме работы с системой.
Вообще говоря, системы Maple ориентированы на решение сложных задач, хотя и
решение в них простых задач вполне возможно и уместно. Возможно, для решения
таких задач вполне подойдет весьма простая, быстрая и надежная система Derive
или система Mathcad, в которую (начиная с версии 3.0 под Windows) включен
приобретенный по лицензии фирмы Waterloo Maple упрощенный символьный процессор
Maple. Однако по числу доступных пользователю математических функций эти
скромные системы не идут ни в какое сравнение с патриархом символьной математики
— системой Maple.
Система Maple 7 может с успехом применяться для решения самых серьезных
математических задач аэродинамики, теории поля, теплопроводности и диффузии,
теоретической механики и др. Решение таких задач нередко является многолетним
трудом элитных научных коллективов.
Впрочем, поскольку система может быть установлена на любом современном ПК, ее можно (да и нужно) применять как можно чаще и по любому поводу. Это способствует как приобретению практических навыков работы с Maple, так и росту математических познаний тех, кто с ней работает.
Возможности предшествующей версии Maple
6
Перечислим основные возможности предшествующей версии системы Maple
6.
Интерфейс:
Символьные и численные вычисления:
Работа с уравнениями в численном и символьном виде:
Работа с функциями:
Линейная алгебра:
Графическая визуализация результатов вычислений:
Программирование:
Новые возможности системы Maple 7
Система Maple 7 приобрела ряд новых возможностей. Кратко отметим их:
В сочетании с сохраненными возможностями предшествующей версии системы это дает новой версии Maple 7 обширные возможности в эффективном решении широкого класса математических и научно-технических задач, а также задач в области образования.
Установка системы Maple 7 на ПК
В этой книге рассматривается реализация системы Maple 7, требующая:
Установка системы производится обычно с компакт-диска. Обычно компакт-диск с
инсталляционной версией Maple 7 стартует автоматически. При этом появляется окно
Мастера установки со шкалой выполнения предварительной подготовки, показанное на
рис. 1.1.
Рис. 1.1. Окно Мастера установки Maple 7
Затем Мастер автоматически переходит к окну, в котором просит ввести серийный
номер программного продукта, который имеется в документации к системе или указан
на конверте с компакт-диском.
Для продолжения установки следует щелкнуть на кнопке Next. Это приводит к
появлению следующего окна и т. д. В каждом окне после указания необходимых
данных нужно нажать кнопку Next или Yes. Работа с остальными окнами мастера
установки описана ниже.
Рис. 1.2. Окно с приглашением к установке системы Maple 7
На рис. 1.3 показано следующее окно Мастера, которое служит для задания
папки, в которой будут установлены файлы Maple 7. Вы можете оставить
предлагаемую по умолчанию папку, а можете ввести любую другую.
Если папка, заданная по умолчанию в поле Destination Folder вас не устраивает, то вы можете определить
другую. Для этого щелкните на кнопке Browser. Появится стандартное окно Choose Folder, показанное
на рис. 1.4. В этом окне можно задать желаемую папку, либо явно указав ее имя в
поле Path, либо выбрав существующую в
дереве Directories.
Система Maple 7 может быть установлена как для индивидуального пользователя,
так и для многих пользователей (сетевой вариант). Данный выбор можно осуществить
в следующем окне Мастера установки, показанном на рис. 1.5. В этом окне надо
задать вариант установки, щелкнув в соответствующем положении переключателя.
Здесь же можно уточнить директорию (по умолчанию Users) для хранения файлов
пользователей.
Следующий этап установки — определение
имени ярлыка, активизацией которого в дальнейшем будет запускаться система. Для
этого служит окно Мастера установки, показанное на рис. 1.6. В этом окне можно
оставить имя ярлыка Maple 7, предлагаемое по умолчанию, ввести вместо него
другое или выбрать имя из списка, представленного в нижней части окна. Разумно
согласиться с предложенным Мастером именем.
Рис. 1.3. Окно задания папки для
размещения файлов системы Maple 7
Рис. 1.4. Задание имени папки для размещения файлов системы Maple
7
Рис. 1.5. Выбор установки системы Maple 7 для одного пользователя или
для многих пользователей
Рис. 1.6. Выбор ярлыка для запуска системы Maple 7
На этом предварительная часть установки завершается, и нажатием кнопки Next в
окне рис. 1.6 можно перейти к этапу копирования файлов в намеченную папку
(учтите, что часть файлов копируется и в папки с операционной системой Windows,
установленной на вашем ПК). В процессе копирования файлов окно Мастера установки
сменяется информационными окнами, которые сообщают о возможностях Maple 7. Одно
из таких окон представлено на рис. 1.7. Кроме того, на экране будет отображаться
окно с индикатором процесса копирования файлов, который позволяет судить о том,
какая часть работы уже проделана, а также какие файлы копируются в данный
момент.
Рис. 1.7. Информационное окно и индикатор процесса копирования
файлов
В процессе копирования файлов могут быть ситуации, когда встречается файл с
таким же именем, что и копируемый. В этом случае Мастер установки сообщит вам об
этом с помощью соответствующего сообщения. Чаще всего такая ситуация
встречается, если Maple 7 устанавливается поверх прежней версии системы Maple.
Если пользователь твердо намерен установить новую версию системы, то
рекомендуется предварительно удалить предшествующую версию (с помощью
соответствующих программ и средств, разумеется). В противном случае придется
решать, какой файл будет занимать место на диске — останется старый или его
заменит новый (естественно, рекомендуется установить новый файл).
По завершении копирования файлов появляется окно Мастера с запросом о том,
надо ли помещать ярлык запуска системы на рабочий стол, изображенное на рис.
1.8.
Рис. 1.8. Запрос о размещении ярлыка запуска Maple 7 на рабочий
стол
Рис. 1.9. Окно Мастера установки с сообщением о ее завершении
Вы можете отказаться от такого размещения
и запускать Maple 7 из меню Пуск или из Проводника. Но, если вы намерены
работать с Maple 7 часто, то рекомендуется поместить ярлык на рабочий стол
Windows.
Установка завершается вывбдом окна
Мастера установки, в котором сообщается о ее успешном завершении. Данное окно
представлено на рис. 1.9.
В этом окне достаточно нажать кнопку
Finish для завершения установки. Maple 7 будет установлена на вашем компьютере и
готова к работе.
Проблемы, связанные с установкой и
возможными конфликтами, описаны в файле readme.txt, который рекомендуется
просмотреть перед инсталляцией системы. К сожалению, он подготовлен па
английском языке, как и вся встроенная в Maple 7 документация.
Запуск Maple 7 производится, как обычно,
из меню Пуск (рис. 1.10). Найдя строчку Maple 7, необходимо открыть подменю и
щелкнуть на команде Maple 7 (рис. 1.10).
Рис. 1.10. Запуск Maple 7 из меню Пуск
Возможен также запуск с помощью ярлыка, помещенного на рабочий стол. В любом
случае, вначале на некоторое время появляется красочное окно-заставка,
показанное в центре рис. 1.1. После этого появляется рабочее окно системы,
изображенное на рис. 1.11.
Рис. 1.11. Окно системы Maple 7
Долгое время системы Maple имели довольно архаичный (хотя и неплохой)
пользовательский интерфейс, ориентированный на операционную систему MS-DOS. Но
затем версия Maple V R3, далее Maple V R4, Maple V R5 и, наконец, Maple 6 и
Maple 7 приобрели вполне современный графический пользовательский интерфейс,
характерный для приложений операционных систем Windows. Это намного повысило
удобство работы с Maple и обеспечило интеграцию со многими другими программными
продуктами.
Как у всех приложений под Windows интерфейс Maple 7 имеет ряд характерных
элементов, видимых на рис. 1.11 и перечисленных ниже:
Пользовательский интерфейс Maple 7 позволяет готовить документы, содержащие
одновременно текстовые комментарии, команды входного языка (с возможным
преобразованием их в естественную математическую форму), результаты вычислений в
виде обычных математических формул и графические данные. Это обеспечивает
понятное представление исходных данных и результатов вычислений, а также
удобство их повторного использования.
В основе пользовательского интерфейса Maple 7 лежит графический многооконный
интерфейс операционной системы Windows. Управление системой Maple 7 возможно с
помощью главного меню, панелей инструментов и палитр, а также «горячих» клавиш.
Поддерживаются также многие возможности мыши, присущие приложениям под
Windows.
Важно отметить и прекрасно реализованную справочную систему Maple 7.
Преодолев первые трудности общения с системой, пользователь быстро осваивает
систему справки, которая позволяет без какой-либо бумажной документации получить
исчерпывающую информацию о любом операторе, функции или пакете (разумеется, на
английском языке). На каждой странице справки нахддит-ся по несколько примеров,
причем их можно скопировать и перенести в редйк-тор или в окно исполняемых
документов системы. Это способствует быстрому обучению пользователя. Подробное
описание справочной системы Maple 7 дано в уроке 2.
Пользователь Maple 7 (как и ряда других математических систем) работает с
документами, которые являются одновременно описаниями алгоритмов решения задач,
программами и результатами их исполнения. Все данные команды и результаты
размещаются в соответствующих ячейках. Графические построения выполняются как в
ячейках документа, так и в отдельных окнах, и имеют свои меню для оперативного
управления параметрами.
Наиболее полные возможности управления предоставляет главное меню системы
Maple 7. Оно, как обычно, расположено непосредственно под строкой заголовка.
Меню предоставляет доступ к основным операциям и параметрам пользовательского
интерфейса системы. Ниже дан перечень меню, доступных при наличии открытого
документа:
Главное меню Maple 7 является контекстно-зависимым. Это означает, что его вид
может меняться в зависимости от текущего состояния (контекста) системы.
Например, если все документы закрыты, то главное меню содержит только три
заголовка меню: File, Options и Help. При этом место для окон документов пусто и
окрашено в серый цвет. Вид меню также меняется в зависимости от того, какие
объекты в документе выделены. Более подробно работу с меню системы Maple 7 мы
рассмотрим позже, начиная с урока 3.
Палитры ввода математических
символов
Полезно сразу обратить внимание на возможность модификации интерфейса системы
Maple 7 с помощью команд меню View. В этом меню (оно показано на рис. 1.11 в
открытом состоянии) можно увидеть список палитр Palettes, предназначенных для
ввода математических знаков. Установив флажки соответствующих палитр, можно
вывести их на экран и переместить в любое место. Все четыре палитры
математических символов представлены на рис. 1.11. При этом палитра VECTOR
введена в Maple 7 впервые.
Назначение знаков в палитрах очевидно из их названий:
SYMBOL — ввод отдельных символов
(греческих букв и некоторых математических знаков);
EXPRESSION — ввод шаблонов математических операторов и операций;
MATRIX — ввод шаблонов матриц
разных размеров;
VECTOR — ввод шаблонов векторов
разных размеров и типов (векторы-столбцы или векторы-строки).
Следует отметить, что не всегда введенный на палитре символ буквально
повторяет представленный на кнопке. Например, вместо символа а может быть
введено слово alpha. Так происходит, если установлен действующий по умолчанию
Maple-режим представления символов. Палитра ввода векторов введена в Maple 7
впервые, что сделало ввод векторов более удобным.
Еще один важный и полезный элемент интерфейса — всплывающие подсказки. Они появляются, если навести курсор мыши на тот или иной элемент интерфейса. На рис. 1.11 показана одна из всплывающих подсказок. Подсказки имеют вид облачка, которое вытекает из указанного элемента интерфейса. Особенно удобны подсказки для пояснения назначения кнопок палитр и панелей инструментов. В дальнейшем мы будем неоднократно приводить примеры всплывающих подсказок при работе с интерфейсом.
Основы работы с Maple 7 в диалоговом
режиме
После загрузки и запуска системы можно начать диалог с ней, используя ее
операторы и функции (с параметрами) для создания и вычисления математических
выражений.
ВНИМАНИЕ
Во избежании грубых ошибок при исполнении того или иного
примера рекомендуется перед этим исполнить команду restart которая снимает определения со всех
использованных ранее переменных и позволяет начать вычисления «с чистого
листа».
На рис. 1.12 представлен реальный диалог с системой (в виде копии экрана) при
решении простейших арифметических задач и построении графика функции sin(x)/x.
Рис. 1.12. Начало диалога с системой Maple 7
Уже из этого простого примера видны особенности диалога с Maple и синтаксиса
ее входного языка, то есть языка, на котором системе задаются вопросы. Диалог
идет в стиле: «задал вопрос, получил ответ». Вопросы и ответы занимают отдельные
блоки, выделяемые в левой части квадратными скобками. Длина квадратных скобок
зависит от размера выражений — исходных (вопроса) и результатов вычислений
(ответов на вопросы). Знак > является знаком приглашения к заданию вопроса.
Мигающая вертикальная черта | — маркер ввода (курсор).
Ввод выражений (вопросов) задается по правилам, давно принятым для строчных
редакторов. Они хорошо известны, и мы не будем на них останавливаться подробно.
Отметим лишь, что клавиша Ins позволяет задавать два основных режима ввода —
замены и вставки. В режиме замены вводимый символ заменяет существующий символ,
который отмечен маркером ввода. А в режиме вставки новый символ вставляется в
текст, не уничтожая имеющиеся символы.
Перемещение маркера ввода осуществляется клавишами перемещения курсора <-
и -> Клавиша Backspace стирает символ
слева от маркера ввода, а клавиша Del —
справа от маркера ввода. Для ввода любого символа надо нажать соответствующую
клавишу. Клавиша Shift включает верхний
регистр для ввода заглавных (прописных) букв, а клавиша Caps Lock переключает верхний и нижний регистры клавиш с буквами
(они меняются местами).
Знак фиксации конца выражения : (точка с запятой) указывает, что результат
его вычисления должен быть выведен на экран, а знак : (двоеточие) отменяет вывод
и может использоваться как знак разделителя при записи нескольких выражений в
одной строке. Клавиши перемещения курсора позволяют передвигаться по ранее
введенным строкам на экране.
Понятие о функциях и операторах
Важным понятием системы Maple 7 (да и математики вообще) является понятие
функции. Функция возвращает результат некоторого преобразования исходных данных
— параметров функции. Maple 7 имеет множество встроенных функций, включенных в
его ядро и в пакеты.
Функция в выражениях задается вводом ее имени и списка параметров функции
(одного или нескольких), заключенного в круглые скобки, например sqrt(2) задает функцию вычисления квадратного
корня с параметром 2 (численной константой). Основным признаком функции является
возврат значения в ответ на обращение к ней по имени (идентификатору) с
указанием списка параметров функции. Например:
Обратите внимание на особую роль десятичной точки — здесь она служит
указанием к выполнению вычисления значения sin(
1.0) (или, что то же самое, sin(
1.)). А вот синус целочисленного аргумента 1 не вычисляется — считается,
что вычисленное значение менее ценно, чем точное значение sin(1).
В данном случае надо понимать, что
Maple предпочитает иметь с дело точными значениями функций. Логично, что точное
значение синуса от 1 записывается в виде sin(f). — Прим. ред.
Ради единства терминологии мы будем пользоваться расширительным понятием
функции, относя к нему и те объекты, которые в некоторых языках программирования
именуют процедурами или командами. Например, слова plot и plot3d мы также
будем называть функциями, которые возвращают графики аргументов. Под командами
же мы будем подразумевать прежде всего команды, содержащиеся в меню. Помимо
функций в математических системах для записи математических выражений
используются специальные знаки — операторы. К примеру, вычисление квадратного
корня часто записывается с помощью его специального знака — V. Достаточно хорошо известны операторы
сложения +, вычитания -, умножения *, деления / и некоторые другие. Операторы
обычно используются с операндами в виде констант или переменных, например в
записи 2* (3+4) числа 2, 3 и 4 — это операнды, а знаки * и + — операторы. Скобки
используются для изменения порядка выполнения операций. Так, без них 2*3+4=10,
тогда как 2*(3+4)=14, поскольку вначале вычисляется выражение в скобках.
Пожалуй, самым распространенным оператором является оператор присваивания ':=.
Он используется для задания переменным конкретных значений,
например:
Этот простой пример наглядно иллюстрирует эволюцию переменных и особую роль
оператора присваивания в системе Maple. В частности, в этом примере переменные
х, у и z взаимосвязаны с помощью операций присваивания. Поэтому задание значения
2 переменной z приводит к тому, что и переменные
у и х принимают то же
значение.
Другой распространенный оператор — оператор равенства = — используется для
задания равенств и логических условий (например, а=b), указания областей изменения переменных (например, 1=1..5
означает формирование диапазона изменения i от 1 до 5) и определения значений параметров в функциях и
командах (например, color=b1ack для
задания черного цвета у линий графиков).
Операторы сами по себе результат не возвращают. Но они, наряду с функциями и
своими параметрами (операндами), позволяют конструировать математические
выражения, которые при их вычислении также возвращают результат. В силу этого
математические выражения, содержащие операторы и операнды, могут быть
параметрами функций. Выражения в Maple бывают очень простыми (например, имена
переменных х и у или константы 1 и 2), а могут содержать многие тысячи знаков. С
позиции канонов символьной математики квадратный корень из двух уже является
основным результатом вычислений. Поэтому такая функция обычно не вычисляется в
численном виде, а выводится в естественном виде с применением знака квадратного
корня V. Для вычисления в привычном виде (в виде десятичного числа с мантиссой и
порядком) надо воспользоваться функцией evalf(sqrt(2)) — эта функция обеспечивает вычисление символьного
выражения, заданного ее параметром (числом 2).
При работе с системой Maple 7 надо строго придерживаться правил корректного
ввода выражений и иных объектов Maple-языка, называемых синтаксисом языка.
Однако, как гласит русская пословица, не ошибается только тот, кто ничего не
делает. Даже у опытного пользователя возможны ошибки в ходе ввода выражений и
задания алгоритмов вычислений.
Алгоритмические, но синтаксически корректные ошибки часто могут не
распознаваться системой. Например, если в выражении a*sin(x) вы вместо аргумента х взяли аргумент b, то есть записали a*sin(b), то такую ошибку Maple 7 распознать не может, ибо
синтаксически как a*sin(x), так и a*sin(b) абсолютно корректны. Если вы
перепутаете синус с косинусом и запишете a*cos(x), то такая ошибка также не будет распознана.
ПРИМЕЧАНИЕ
Ошибки в записи выражений, описывающих те или иные
алгоритмы вычислений, не нарушающие синтаксическую корректность, системой
Maple 7 не распознаются. Контроль за такими ошибками целиком лежит на
пользователе.
Приведем еще один характерный пример ошибки, которую Maple 7 не может
распознать. Вводя выражение X/Y*Z, мы
можем предположить, что это означает X/(Y*Z). Однако в Maple 7 приоритет операций деления и умножения
одинаков. Поэтому Maple 7 вначале делит X
на Y, а затем полученный результат
умножает на Z:
Ошибки такого рода называют семантическими. Если бы мы не проверили вывод с
помощью оператора вычисления предыдущего выражения (%), то эта ошибка осталась бы нераспознанной. Выявление и
устранение семантических ошибок выполняется на этапе отладки вычислений и
программ.
ПРИМЕЧАНИЕ
Используйте блокировку вычислений с помощью знака
двоеточия только в том случае, когда вы абсолютно уверены в правильности
записи выражения. Иначе вы можете не заметить вкравшейся в вычисления серьезной
ошибки.
В нашем примере мы получили бы верный результат, заключив выражение Y*X в круглые скобки. Как обычно, они
предназначены для задания явного приоритета выполнения операций — в нашем случае
вначале будет вычислено выражение в скобках (Y*Z), а затем уже X будет
поделено на это выражение:
Но вернемся к ситуации с синтаксическими ошибками, которые система Maple 7
распознает с помощью встроенного в нее синтаксического анализатора. Например,
если вы задали неправильное имя функции, то это будет опознано синтаксическим
анализатором и вычисления не будут выполняться. Maple 7 просто повторит
выражение в строке вывода:
В этом примере вместо имени функции sin введено ошибочное имя son. Maple воспринимает его как некую введенную пользователем
функциональную зависимость и потому просто повторяет запись и не выводит
сообщение об ошибке. А вот другая ситуация — имя функции sin введено верно, но вместо десятичной точки при задании
вещественного числа 1.0 использована запятая:
В данном случае Maple 7 «знает», что работа идет с его встроенной функцией
синуса, которая должна иметь единственный аргумент. Задание (1,0) означает, что
растяпа-пользователь ввел вместо вещественного числа два целочисленных числа,
разделенных запятой. Этого синтаксический анализатор Maple 7 стерпеть уже не
смог, и он отреагировал выдачей сообщения об ошибке (на экране дисплея оно имеет
малиновый цвет). Исправьте ошибку, и синус единицы будет благополучно
вычислен:
А вот еще одна типичная ситуация — в последовательности выражений опущен
знак-разделитель (двоеточие или точка с запятой):
Тут Maple 7 не только реагирует на ошибку, но и пытается подсказать, что
именно пропущено. Более того, маркер ввода в виде мигающей вертикальной черточки
будет помещен на место ошибки и вы сможете тут же устранить ошибку. Правда,
подсказки не всегда точны — в нашем случае явно пропущен разделитель в виде
двоеточия, a Maple 7 сообщает о пропуске точки с запятой. Впрочем, откуда
системе знать, хотим мы вывести результат операции Y:=4 сразу (для этого нужен разделитель в виде точки с запятой)
или откладываем на потом (с помощью символа двоеточия).
Вот еще один пример характерной ошибки — три знака * подряд:
Здесь Maple 7 подсказывает, что один оператор * надо убрать — два знака *
подряд означают вполне законный вариант оператора — возведение в степень. При
этом маркер ввода вновь указывает место ошибки. Проанализируйте следующие
простые примеры:
В этом примере Maple 7 вначале вычисляет функцию синуса, затем производит
возведение в степень и лишь потом операцию умножения. Впрочем, такой приоритет
операций принят практически во всех системах компьютерной математики и в языках
программирования.
Некоторые пользователи версии системы Maple V R5 наблюдали, что русская буква
«я» в конце программного комментария (он вводится после символа #) вела к
зависанию программы, что требовало ее перезагрузки. В Maple 7 этот недостаток
устранен:
> #Буква "я" в конце комментария уже не вызывает зависания
>
Позже, при описании программирования в Maple 7, мы опишем более развитые
средства контроля над допускаемыми пользователем ошибками. Пока же ограничимся
приведенными 'Выше сведениями, полезными уже в начале диалога с
системой.
Для управления состоянием ячеек можно использовать контекстное меню,
появляющееся при нажатии правой кнопки мыши. Если установить указатель мыши на
входной ячейке, то это меню будет содержать три команды:
Также в зависимости от состояния буфера обмена и наличия выделения в
контекстном меню могут присутствовать команды Cut, Copy и Paste.
Левая кнопка мыши может использоваться для передачи фокуса управления или
переноса маркера ввода, а также выделения частей документа.
Примеры задания функции пользователя и построения
ее графика
На рис. 1.12 показано, как задается функция пользователя f(x) с одним
параметром х. Нетрудно заметить, что
параметр указывается в скобках после имени функции а для записи выражения
функции используется знак присваивания := (двоеточие со знаком равенства). Для
построения графика функции f (х) используется функция plot в форме:
Нетрудно заметить, что при наличии нескольких параметров функции (в нашем
случае их два) они разделяются запятыми. Выражение х=-15. .15 задает, во-первых, указание, относительно какой
переменной строится график, а во-вторых, говорит, в какой области значений
меняются значения этой переменной — в нашем случае от -15 до +15. Шаг изменения
переменной выбирается автоматически в зависимости от размеров и вида
графика.
Пример построения трехмерного графика
поверхности
Столь же просто, как и график обычной функции в декартовой системе координат,
можно построить график трехмерной поверхности. Это показано на примере рис.
1.13. В данном случае задана функция двух переменных z(x,y) :=sin(x*y) и ее график строится с использованием
графической функции plot3d. Правила задания пределов изменения переменных х и у соответствуют описанным выше.
Рис. 1.13. Построение графика трехмерной поверхности
Возможно, многих читателей вполне удовлетворят уже описанные возможности, но сила системы Maple 7 прежде всего в возможности выполнения аналитических (символьных) вычислений. Поэтому мы перейдем к обсуждению некоторых из них.
Управление формой представления
документа
Форматы математических выражений
Приведенные выше примеры реализуют обычную форму представления документа. В
нем имеются текстовые комментарии (для их ввода надо нажать клавишу F5),
сформулированные на Maple-языке задания на вычисления, результаты вычислений в
виде обычных математических формул и, там где это указано, графики.
Эта выстраданная форма представления документов является компромиссом между
наглядностью и простотой ввода исходных данных. Может показаться, что в этом
отношении намного дальше продвинулись системы класса Mathcad — у них исходные
данные и описание алгоритмов вычислений давно задаются в виде естественных
математических символов и формул. За исключением, правда, функций символьных
вычислений, пока не имеющих общепринятых специальных математических символов и
вводимых путем указания их имен.
Однако это достоинство кажется явным лишь на первый взгляд. Ввод сложных
формул довольно трудоемок и требует специфических навыков, отсутствующих даже у
самых опытных пользователей. В Mathcad эту проблему решили созданием панелей
(палитр) с полным набором всех математических символов и шаблонов для
представления сложных формул, таких как интегралы, суммы и произведения рядов,
производные и т. д. Однако, хотя при этом их ввод и становится более простым,
легким его не назовешь, а монотонность операций нервирует многих
пользователей.
В Maple 7 ввод исходных данных производится привычными для языков
программирования средствами — с помощью функций и операторов, задаваемых в
командной строке. Зато результаты вычислений получаются по умолчанию в виде
обычных формул (хотя есть возможность их представления в другом виде, например
принятом в редакторе LaTeX или языках программирования Fortran и С). Тем не
менее вид документа с таким специфическим заданием формул может озадачить
математика и любого пользователя, не слишком знакомого с основами
программирования. В целом он отрицательно сказывается на восприятии
документов.
Представление входных выражений в математической
форме
Для устранения подобного недостатка (а скорее, противоречия) Maple 7
предлагает ряд средств. Во-первых, это текстовые комментарии, в которые можно
вводить формулы. Во-вторых, это инертные функции, которые не вычисляются, но
дают вывод на экран в естественной математической форме (рис. 1.14). И
в-третьих, это возможность быстрого преобразования строковых выражений ввода в
естественные математические формулы.
Об инертных функциях мы поговорим позже более подробно. Отметим лишь, что
имена таких функций начинаются с большой буквы и функции выводят математическое
выражение в естественной математической нотации. С помощью ряда функций,
например evalf, можно вычислить
математическое выражение, полученное инертной функцией. На рис. 1.14 внизу дан
пример такого вычисления для предела функции sin(x)/x.
Рис. 1.14. Примеры применения инертных функций
Теперь остановимся на преобразовании исполняемых выражений ввода на
Maple-языке в обычные математические формулы. Для этого достаточно, выделив
входное выражение, нажать первую кнопку контекстной панели — соответствующее
выражение тут же приобретет вид обычной математической формулы. На рис, 1.15
показаны примеры вычислений интеграла при его задании в строках ввода в виде
текстового выражения и в обычной математической нотации.
Таким образом, всегда можно получить формульное представление входных
выражений. Более того, другой кнопкой их можно превратить в инертную форму,
тогда выражение перестает вычисляться и становится, по существу, обычным
комментарием.
Следует, однако, учитывать, что представление входных выражений в виде формул
обычно занимает заметно больше места на экране и в документе, чем описание
выражения на Maple-языке, поэтому оно используется довольно редко. Кроме того,
далеко не всякое входное выражение может быть представлено в виде математической
формулы — многие функции ядра и библиотек Maple 7попросту не имеют общепринятых
обозначений в виде специальных математических знаков.
Рис. 1.15. Примеры вычислений интеграла при его задании в текстовой и математической нотации
Простой пример символьных
вычислений
Maple 7 открывает обширные возможности выполнения символьных (аналитических)
вычислений. Начнем с простого примера — требуется найти сопротивление трех
параллельно включенных резисторов R1, R2 и R3 произвольной величины. Из курса
электротехники известно, что можно задать следующее равенство, определяющее
суммарное сопротивление R0:
Теперь достаточно использовать функцию решения уравнений solve, чтобы найти значение R0 в общей аналитической форме:
Нетрудно проверить, что результат может быть получен и в численном виде для
конкретных значений R1, R2 и R3: >
Rl:=a.:R2:-2:R3:=3:RO:
На рис. 1.16 показано несколько примеров выполнения символьных вычислений
математического характера: преобразование тригонометрического выражения с
помощью функции упрощения simplify,
вычисление суммы ряда функцией sum и
вычисление неопределенного интеграла функцией int.
Рис. 1.16. Примеры символьных вычислений
Обратите внимание на результат выполнения последнего примера. Он выделен.
Выделение можно осуществить протаскиванием указателя мыши с нажатой левой
кнопкой.
Вычисления производных и интегралов в .символьном виде, пожалуй, являются
наиболее характерными областями применения систем символьной математики. На рис.
1.17 показаны примеры таких вычислений с применением функции dif для вычисления производной и int для вычисления определенных
интегралов.
Рис. 1.17. Примеры вычисления производной и интегралов
Обратите внимание на функцию Int — инертную форму функции int.
Как уже отмечалось, инертная форма служит для вывода записи интеграла в
естественной математической форме, но с отложенным «на потом» выводом результата
вычислений. Как отмечалось, это один из путей наглядного представления входных
выражений. Все инертные функции имеют имена, начинающиеся с большой буквы, тогда
как обычные функции имеют имена, начинающиеся с маленькой буквы.
На другом рисунке (рис. 1.18) показано вычисление интеграла, который не имеет
представления через функции системы Maple 7, но может быть вычислен ею в
численном виде.
Рис. 1.18. Численное вычисление значения интеграла, не имеющего
аналитического представления
Разбухание результатов символьных
вычислений
Одной из проблем систем компьютерной алгебры является «разбухание»
результатов — как оконечных, так и промежуточных. Связано это с тем, что
аналитическое представление порою может оказаться весьма громоздким даже для
простых задач — пожалуй, это главная причина прохладного отношения к
аналитическим вычислениям со стороны инженеров, особенно практиков. К примеру,
численное решение кубического уравнения не вызовет трудностей даже на
калькуляторе [1], тогда как системы символьной математики выдают его в виде
формул, едва помещающихся на экране. Это и иллюстрирует рис. 1.19, на котором
показано решение квадратного уравнения (его знает каждый мало-мальски
преуспевающий в учебе школьник) и решение кубического уравнения (оно вызывает
бурный восторг или легкий шок — в зависимости от отношения учащегося к
математике).
Щепетильность системы в ее стремлении выдать полный и математически предельно
точный результат, безусловно, очень важна для математиков. Но для многих
прикладных задач, с которыми имеют дело инженеры и техники, она оборачивается
неудобствами. Инженеры часто прекрасно знают, какие из членов математических
формул можно преспокойно отбросить, тогда как для математика-теоретика или
аналитика такое действо — типичное кощунство. Порою системы компьютерной алгебры
выдают настолько «заумный» и огромный результат, что его упрощение может занять
куда больше времени, чем получение более простого результата с заранее
выполненными упрощениями. Впрочем, каждому свое! И Maple имеет множество
функций, обеспечивающих преобразование результатов в ту или иную
форму.
Рис. 1.19. Решение квадратного и кубического уравнений в символьной
форме
Пример решения системы линейных
уравнений
Приведем еще один характерный пример — решение системы линейных уравнений с
помощью функции solve (рис. 1.20).
Обратите внимание на форму задания уравнений и выдачи результатов и
поразительную естественность решения задачи. Значение переменной z на рис. 1.20 выделено, где видно, что Maple
отображает его поле под панелью инструментов.
Слова solve, diff и int с их аргументами являются именами встроенных в систему
функций, возвращающих символьные значения результатов. Нормальному пользователю
может стать дурно, если вспомнить, что таких функций с их вариантами система
Maple 7 имеет около трех тысяч! Да к тому же многие функции (та же solve для решения уравнений) подчас могут
применяться во многих случаях и имеют массу параметров и директив для уточнения
направлений решения и расширения областей применения.
Рис. 1.20. Решение системы из пяти линейных уравнений
В утешение можно отметить три важных обстоятельства:
Необходимые функции и правила их преобразования система черпает в библиотеке размером около 40 Мбайт (она содержит файлы maple.hdb, maple.lib, maple.ind и maple.cmd). Это иногда занимает заметное время, особенно при первом использовании определенной группы операторов (например, тригонометрических). При повторном использовании этой группы система заметно убыстряется, так как использует уже загруженные средства.
Повышение эффективности работы с
системой
Пока что мы при проведении вычислений пользовались лишь простейшими
средствами управления системой — вводом выражений и текстовых надписей с
клавиатуры. Теперь пора расширить представления о работе с Maple. Прежде чем
начать работать с ее меню, надо отметить, что для многих (особенно начинающих)
пользователей оказывается удобнее использовать кнопки, расположенные на панелях
инструментов, которые находятся прямо под строкой меню.
На рис. 1.21 показано назначение кнопок панели инструментов (Tool Bar). Эти кнопки дублируют наиболее важные
операции главного меню и имеют наглядные и типовые для Windows-приложений
обозначения. Назначение кнопок и других деталей интерфейса также показаны на
рис. 1.21.
Рис. 1.21. Панель инструментов
При необходимости панели инструментов можно убрать с помощью команд меню View
(см. рис. 1.11). Если графика выводится в отдельное окно, там имеется своя
панель инструментов, которая будет описана ниже.
Другое полезное средство для облегчения работы по форматированию текстов,
заданию параметров входных математических выражений и графиков — контекстная
панель инструментов. Как следует из названия, контекстная панель Context Bar является контекстно-зависимой — ее
содержание зависит от текущего положения маркера ввода или выделения.
Контекстная панель содержит следующие элементы при вводе текста комментария
(рис. 1.22):
Рис. 1.22. Контекстная панель инструментов для текста
комментария
На рис. 1.15 была показана контекстная панель в случае, когда маркер ввода
находится в строке ввода. Там же поясняется назначение кнопок панели для данного
случая. Особо остановимся на кнопке со значком (V), которая обеспечивает
проверку синтаксиса вводимого выражения до того, как оно завершено символами
двоеточия или точки с запятой.
Поясним на примере. Допустим, мы ввели
ошибочное выражение для интеграла, забыв указать показатель степени в
подынтегральном выражении x^n:
> int(xA,x)
Если нажать кнопку автокоррекции, оно
примет вид:
> int(x^ %? ,х)
Maple явно указывает на необходимость
ввода показателя степени — в нашем случае переменной n.
А вот другой пример — мы забыли ввести закрывающую скобку в выражение:
> int(x*n ,x
Если теперь нажать кнопку автокоррекции,
то вставка скобки произойдет автоматически:
> int(x^n ,x)
Таким образом, данная кнопка может быть
полезна для оперативного контроля синтаксиса и исправления грубых ошибок при
вводе выражений в формате Maple
Input. Однако необходимо
делать это до их исполнения.
Заметим, что пока формула является
входным выражением в математической форме, она может редактироваться — но не
сама по себе, а в виде текстового выражения, отображающегося в поле
редактирования на контекстной панели. При этом изменение записи выражения в поле
редактирования немедленно влечет соответствующее изменение вводимой формулы. Это
тоже довольно удобное средство, имеющее свои преимущества перед прямым
редактированием формулы — в MathCAD, например, прямое редактирование формул
требует определенных навыков и усваивается довольно туго.
Рис. 1.23. Контекстная панель инструментов для выражений,
представленных в математической нотации
Рисунок 1.23 показывает назначение кнопок контекстной панели при установке
маркера ввода в строку, содержащую входное выражение в математической нотации.
Нетрудно заметить, что в этом случае контекстная панель несколько изменяется — в
частности, в ней появляется поле ввода, в котором выведено выделенное выражение
на Maple-языке. Такой же вид контекстной панели будет, если выделено выражение
или его часть в строке вывода.
Контекстная панель инструментов для двумерных
графиков
Двумерные графики строятся с заданием ряда параметров, определяющих общий
стиль графика. Эти параметры задают цвет и стиль линий графика, вывод
координатных осей и т. д. Все параметры имеют значение по умолчанию — они и
определяют вид графика, при формировании которого параметры не указаны.
Однако ряд параметров можно изменять, щелкая на соответствующих кнопках
контекстной панели. На рис. 1.24 показано назначение кнопок контекстной панели
инструментов для редактирования параметров двумерных графиков. Такая панель
появляется, если двумерный график выделен или на нем находится маркер
ввода.
Рис. 1.24. Контекстная панель инструментов для двумерного
графика
Действие большинства кнопок этой формы контекстной панели достаточно
очевидно, и вы легко сможете опробовать эти кнопки в работе. Так, график на рис.
1.18 построен точками при нажатии кнопки, задающей стиль Point style. Кроме того, в функции plot построения графика явно использована опция
co1or=blue, которая задает синий цвет
точек графика.
Полезно отметить, что в левой части контекстной панели есть поле с
координатами текущей выделенной точки графика. Чтобы выделить точку, надо
подвести к ней указатель мыши и щелкнуть левой ее кнопкой.
При построении контурных графиков и графиков плотности имеется возможность
заливки их областей между линиями уровня с выводом линии сетки, на которой
рассчитываются линии уровня, и без вывода линий сетки.
Контекстная панель инструментов для трехмерных
графиков
Свой вид контекстной панели имеют и трехмерные графики. Назначение ее
элементов представлено на рис.-1.25.
Рис. 1.25. Контекстная панель инструментов для трехмерных
графиков
С помощью контекстной панели трехмерных графиков можно задать 7 стилей
построения трехмерных графиков и 4 стиля вывода координатных осей. Возможны
следующие стили трехмерных графиков (группа из семи кнопок в середине панели):
функциональная окраска с видимыми линиями каркаса, функциональная окраска без
линий каркаса, функциональная окраска с контурными линиями, цветной каркас с
видимыми линиями, цветные контурные линии, цветной каркас со всеми (в том числе
невидимыми) линиями и поверхность, построенная точками.
Два расположенных слева счетчика позволяют задавать нужный угол обзора,
причем Maple сразу же отражает заданный поворот построенной фигуры. Ее также
можно вращать мышью, поместив указатель в область графика и держа нажатой левую
кнопку. При этом счетчики будут отображать изменяющиеся при перемещении мыши
углы обзора. Это очень удобное средство для наблюдения за деталями трехмерных
поверхностей и фигур, которые строит функция plot3d.
При работе с Maple полезно следить за информацией в строке состояния системы,
расположенной внизу экрана. В ней появляются надписи, поясняющие исполняемые
операции. Кроме того, в полях на правой части выводится текущее время, объем
используемой оперативной памяти и объем доступной памяти на жестком диске, на
котором установлена система.
Хотя панели инструментов и строка состояния удобны для быстрого управления
системой, они обладают одним существенным недостатком — занимают часть полезной
площади экрана. Однако в меню View
имеются команды, позволяющие убрать с экрана любые из этих элементов. Действие
этих команд вы можете заметить, если внимательно присмотритесь к предыдущим
рисункам.
Для открытия меню можно использовать одновременное нажатие клавиши Alt и клавиши, которая подчеркнута в названии
меню. Вызов команды при одновременном нажатии нескольких клавиш получило
название «горячих» клавиш управления (Hot
Keys).
Таблица 1.1. Горячие клавиши для открытия меню
Меню |
Горячие клавиши |
Edit |
Alt+E |
File |
Alt+F |
Format |
Alt+R |
Help |
Alt+H |
Insert |
-> Alt+I |
Options |
Alt+0 |
View |
Alt+V |
Spreadsheet |
Alt+S |
Window |
Alt+W |
«Горячие» клавиши присвоены и многим другим, наиболее распространенным
операциям. Они облегчают и ускоряют (наряду с кнопками панелей инструментов)
быстрое управление программой. Ниже в таблицах приведен список наиболее
используемых «горячих» клавиш, разбитых на ряд категорий.
Таблица 1.2. Горячие клавиши для задания начертания символов и режимов
ввода текста
Действие |
Горячие клавиши |
Полужирное начертание |
Ctrl+B |
Курсивное начертание |
Ctrl+I |
Подчеркнутое начертание |
Ctrl+U |
Включение/выключение ввода текста |
F5 |
Установка режима ввода (Input Mode) |
Ctrt+M |
Задание режима ввода текста (Text Input Mode) |
Ctrl+T |
Таблица 1.3. Горячие клавиши для операций выделения
Действие |
Горячие клавиши |
Выделение символа слева |
Shift*- |
Выделение символа справа |
Shift*» |
Выделение строки вверх |
Shift+- |
Выделение строки вниз |
Shift+? |
Выделение от маркера ввода до начала строки |
Shift+Home |
Выделение от маркера ввода до конца строки |
Shift+End |
Выделение от маркера ввода и до начала документа |
Shift+PgUp |
Выделение от маркера ввода и до конца документа |
Shift+PgDn |
Таблица 1.4. Горячие клавиши операций удаления, копирования и
вставки
Операция |
Горячие клавиши |
Выделить все |
Ctrl+A |
Копирование выделения в буфер |
Ctrl+C |
Перенос выделения из документа в буфер |
Ctrl+X |
Вставка содержимого буфера в документ |
Ctrl+V |
Удаление строки ввода (параграфа) |
Ctrl+Delete |
Закрытие выделенной секции |
Ctrl*. |
Поиск |
Ctrl+F |
Вставка параграфа после маркера |
Shift+Ctrl+J |
Вставка параграфа до маркера |
Shift+Ctrl+K |
Восстановление закрытых секций |
Ctrl+, |
Вставка исполняемой группы после маркера |
Ctrl+0 |
Вставка исполняемой группы до маркера |
Ctrl+K |
Вставка конца страницы |
Ctrl+Enter |
Вставка выражения в стандартной математической форме |
Ctrl+R |
Вставка выражения в форме Standart Math Input |
Ctrl+G |
Таблица 1.5. Горячие клавиши переходов по документу
Действие |
Горячие клавиши |
Переход к началу строки |
Ноте |
Переход в конец документа |
Ctrl+End |
Переход к концу строки |
End |
Переход в начало документа |
Ctrl+Home |
Создание новой строки |
Shift+Enter |
Переход к следующей строке ввода |
Tab |
Переход к предыдущей строке ввода |
Shift+Tab |
Переход к справке по контексту |
CtrU-Fl или-Fl |
Переход на предшествующий уровень вложенности секций |
Ctrl+UpArrow |
Таблица 1.6. Горячие клавиши команд для работы с файлами
Команда |
Горячие клавиши |
Создание нового документа |
Ctrl+N |
Открытие документа |
Ctrl+0 |
Сохранение документа |
Ctrl+S |
Печать документа |
Ctrl+P |
Закрытие активного окна (документа) |
Ctrl+F4 |
Завершение работы с Maple |
Alt+F4 |
Таблица 1.7. Горячие клавиши команд просмотра документа
Команда |
Горячие клавиши |
Перерисовка экрана (Redraw Screen) |
Ctrl+L |
Просмотр групп ячеек (Show Group Ranges) |
F9 |
Показ секций (Show Section Ranges) |
Shift+F9 |
Разделение строки на две части "(Split Group) |
F3 |
Объединение смежных строк (Join Group) |
F4 |
Разделение секции на две части (Split Section) |
Shift F3 |
Объединение смежных секций (Join Section) |
Shift F4 |
Отмена предшествующей операции (Undo) |
Ctrl+Z |
Таблица 1.8. Горячие клавиши установки масштаба (Zoom Factor)
Масштаб |
Горячие клавиши |
50% |
Ctrl+1 |
100% |
Ctrl+2 |
150% |
Ctrl+3 |
200% |
Ctrl+4 |
300% |
Ctrl+5 |
400% |
Ctrl+6 |
Разумеется, можно успешно работать с системой, вообще ничего не зная про
«горячие» клавиши. Многие так и делают! Однако быстрая и профессиональная работа
в Maple 7 невозможна без использования этих клавиш, поскольку они существенно
экономят время пользователя.
При работе с русифицированной версией Windows латинские буквы в обозначениях «горячих» клавиш нередко заменяются русскими буквами, не несущими никакой смысловой связи с выполняемой операцией. В этом случае полезно знать, что соответствующая латинская буква (или иной знак) и указанная в меню русская находятся на одной клавише (например, комбинация клавиш для сохранения документа (Ctrl+S) может быть показана как Ctrl+ы).
В меню Help системы Maple 7
сосредоточены средства доступа к справке по всем функциям системы. Детально
работу со справочной базой данных Maple 7 мы рассмотрим в следующей главе. Здесь
лишь отметим, что справку по любой функции можно получить, просто установив на
ее имени маркер ввода и нажав клавишу F1. На рис. 1.26 показано окно с началом
справки по функции cos(x).
Рис. 1.26. Пример справки по функции косинуса
Как видно из рис. 1.26, окно справки содержит пятиступенчатый контекстный
указатель, позволяющий последовательно отыскивать нужный раздел справки. Когда
справка запрашивается по конкретной теме (функции), то сразу появляется
посвященный ей раздел, точнее начало этого раздела.
Примеры из справочной системы можно модифицировать, для этого их нужно
скопировать в буфер и перенести в окно документа Maple 7 (см. следующую главу).
Также в Maple 7 есть специальный раздел справки, дающий доступ к примерам и без
их копирования. Для осуществления такого доступа в окне справки достаточно
выбрать тему ExampleWorksheets в первом же разделе контекстного указателя.
Откроется окно (теперь уже документа) с индексным каталогом примеров (рис.
1.27).
Каталог примеров дает доступ к огромному числу примеров применения Maple 7.
Просмотр одного из них (вычисление эллиптических интегралов) показан на рис.
1.27 справа. Рисунок 1.27 иллюстрирует также технику работы с двумя окнами
документов.
Рис. 1.27. Работа с каталогом примеров
В этой книге использованы некоторые наиболее интересные примеры из справочной базы данных системы Maple 7. Однако большинство примеров книги не повторяет помещенные в справку Maple, носит оригинальный характер и отражает результаты исследования возможностей системы Maple 7 автора. В связи с этим читателю рекомендуется просмотреть не только примеры в данной книге, но и примеры, представленные в справочной системе по интересующим читателя функциям.
В этом уроке мы научились: