� Прохоров Г.В., Колбеев В.В., Желнов К.И., Леденев М.А. Математический пакет Мaр/e V Re/ease 4 Руководство пользователя Калуга, "Облиздат", 1998 � УДК 22.183.4 М34 ББК 518.6 ������������������������������������������������������� М34 Математический пакет Maple V Release 4: Руководство пользователя. Калуга: Облиздат, 1998. 200 с., ил. ISBN 5-89653-017-Х ISBN 5-89653-017-Х Эта книга является продолжением серии публикаций авторов, посвященной математическому пакету символьных вычислений Maple V. Рассмотрена среда Maple V Release 4. Подробно описан интерфейс, особенности встро- енного языка программирования Maple V. Большое количество примеров иллюстрирует возможности пакета для решения задач из таких областей математики, как линейная и нелинейная алгебра, дифференциальное и интегральное исчисление, геометрия, операции над графами, оптимиза- ция, статистика и многих других. Предназначена для студентов, инжене- ров, научных работников и всех тех, кто занимается решением математи- ческих задач в аналитическом виде и численным анализом моделей. ББК 22.183.4 Рецензент: старший преподаватель кафедры высшей математики КФ МГТУ С. Е. Степанов Учебно-справочное издание Прохоров Г.В., Колбеев В.В., Желнов К.И., Леденев М.А. Математический пакет Maple V Release 4 Maple, Maple V, Maple V Release 4 являются зарегестрированными торговыми марками Waterloo Maple Software Inc. Windows является зарегестрированной торговой маркой Microsoft Corp. ISBN 5-89653-017-Х © Прохоров Г.В., Колбеев В.В., Желнов К.И., Леденев М.А., 1998 3 Содержание Введение ....................................................................................5 1. Интерфейс Maple V Release 4.....................................................9 1.1 Интерфейс рабочего документа. .....................................10 1.2 Интерфейс справочной системы . ..................................19 1.3 Интерфейс графической двухмерной системы . . ........21 1.4 Интерфейс графической трехмерной системы . . . .......26 2. Синтаксис языка Maple V Release 4.......................................29 2.1 Символы и переменные . .................................................29 2.2 Константы и внутренние функции. . ...............................31 2.3 Типы данных......................................................................32 3. Основные математические операции.................................39 3.1 Операции с формулами. . .................................................39 3.2 Операции с полиномами . ................................................43 3.3 Ограничения на переменные. . ........................................45 3.4 Примеры из курса математического анализа..................45 4. Решение линейных и нелинейных уравнений и систем.......53 4.1 Символьные вычисления . . ...............................................53 4.2 Численные вычисления . . ..................................................54 4.3 Целочисленные вычисления . . . .........................................55 4.4 Рекуррентные выражения. . . ..............................................56 4.5 Решение систем линейных уравнений . . . ........................56 4.6 Решение неравенств. . .........................................................57 5. Матричные и векторные вычисления....................................58 6. Решение дифференциальных уравнений................................66 6.1 Общие сведения . ................................................................66 6.2 Решение дифференциальных уравнений с частными производными . .......................................................................69 6.3 Библиотека DEtool . ...........................................................70 6.4 Пример из теории автоматического управления... . . . ....80 7. Интегральные преобразования................................................83 8.Аппроксимация функций ортогональными многочленами 85 8.1 Введение в библиотеку orthopoly. . ...................................85 8.2 Разложение функций по многочленам Чебышева . . .....87 4 8.3 Разложение функций на произвольном интервале . . ...........89 9. Оптимизация линейных систем.............................................93 10. Статистические вычисления..............................................102 10.1Подбиблиотекаdescribe.....................................................103 10.2 Подбиблиотека fit. . .............................................................110 10.3Подбиблиотекаtransform...................................................112 10.4Подбиблиотекаrandom......................................................118 10.5 Подбиблиотека statevalf . . ..................................................120 10.6 Подбиблиотека statplots . . ..................................................122 11. Графы. . .................................................................................128 12. Геометрические построения...............................................134 13. Графика в Maple V ..............................................................137 13.1 Графика 2D . ........................................................................140 13.2Графика3D..........................................................................146 13.3 Библиотека plots . ................................................................151 13.4 Библиотека plottools. . .........................................................164 14. Управляющие конструкции...............................................167 14.1Операторветвления...........................................................167 14.2Операторцикла...................................................................168 15. Процедуры.............................................................................171 15.1 Определение и вызов процедур. . . .....................................171 15.2 Локальные переменные. . ...................................................172 15.3Параметрыописанияпроцедур........................................173 15.4 Присваивание значений параметрам . . . ...........................176 15.5Сообщенияобошибках.....................................................177 15.6 Сохранение процедур в файлах на диске . . . .....................178 15.7 Отладка процедур. . .............................................................179 16. Ввод/вывод информации.....................................................181 16.1 Работа с файлами . . .............................................................181 16.2 Вывод данных в формате C, FORTRAN, LaTeX . . .......... 188 17. Обзор библиотек Maple V Release 4 . ...................................191 Алфавитный указатель.............................................................192 Введение 5 Введение Maple V Release 4 это программный пакет для автоматизации сим вольных и численных вычислений. Способности данного пакета ре шать как простые, так и достаточно сложные задачи просто порази тельны. Его функциональные возможности охватывают основные разделы математики, такие как линейная алгебра, дифференциаль ные вычисления, геометрия, статистика и многие, многие другие. По каждому разделу написано большое количество процедур и функций на встроенном языке Maple, что дает возможность просмотреть их со держание и, что немаловажно, добавлять свои, так называемые, про цедуры пользователя. Вычисления в пакете можно проводить двумя способами: в символь ном (аналитическом) виде и численными методами. В первом случае достигается наибольшая точность, но, к сожалению, как показывает практика разработки курсовых проектов, многие классы задач про сто невозможно решить таким образом. И здесь приходят на помощь численные методы, огромное количество которых находится во встро енных библиотеках. Для написания программ на языке Maple не требуется глубоких знаний алгоритмических языков программирования. Все действия доступны любому пользователю, знакомому с Windows. Вы лишь кон центрируете свое внимание на теоретической стороне решаемой зада чи, на "глобальном� алгоритме, а все действия, например, по реше нию линейных и нелинейных алгебраических уравнений и систем, любого вида дифференциальных выражений, статистическому ана лизу, интегральным преобразованиям, выполнит за вас Maple. Не смотря на все достоинства Maple V Release 4, решение некоторых за дач, например, из теории автоматического управления, требует зна чительных ресурсов процессора, памяти, времени и терпения для дос тижения приемлемых результатов. В рассматриваемую версию Maple включен редактор гипертексто вых документов. В одной среде пользователь решает свои задачи, офор мляет и распечатывает документы высокого качества и сложности. До статочно отметить, что встроенный редактор поддерживает механизм создания стилей, использует набор шрифтов операционной системы, обеспечивает создание иерархии документов, связывая их гипертек стовыми ссылками, и многое другое. Созданные в этой среде курсовые проекты, дипломы или отчеты являются "живыми моделями�, изменя 6 Введение ющими свой вид при внесении в них корректив, наподобие того, как это происходит в электронных таблицах. Рассмотрим подробнее механизм выполнения вычислений в среде Maple V Release 4. Все вычисления выполняются в рабочем документе (так называемом "worksheet�), в котором можно выделить строки вво да (команды), строки вывода (результаты), текст (комментарий), а также графику, трех и двухмерную. При загрузке нового рабочего документа в его начале пользователь увидит знак ">� - приглаше ние среды к вводу команды. Команда - это строка, написанная на языке Maple и оканчиваю щаяся символом ":� или ".�. В первом случае команда будет исполне на, но результат не будет выведен на экран, во втором случае ответ будет отображен на экране. Результаты вычислений обычно выводятся сразу после выполнен ных команд в той же секции. В текст программы можно вставлять коментарии, которые являют ся обычным текстом, служащим для пояснения работы программы. Ниже покажем пример вычислений и объясним основные приемы работы в Maple V Release 4. Первое, что бросается в глаза - это вертикальные линии (квадрат ные скобки), расположенные слева от текста программы. Они разде Введение 7 ляются на две категории: параграфы и секции. Секцией называется скобка, охватывающая одну или несколько команд, результаты вычислений и коментарии. Параграф - это скобка, охватывающая несколько секций. Пара граф имеет кнопку, при нажатии на которую его можно свернуть или развернуть. Поясним это следующим рисунком. Свернутые параграфы изображаются в виде кнопок с плюсом. Далее в книге примеры вычислений будут приведены без изобра жений скобок секций и параграфов. Для эффективной работы в Maple необходимо знать некоторые тон кости языка. К ним относятся, например, команда restart и перемен ная Digits. Команда restart - очищает память Mapleсистемы. Это означает, что все определенные до этого в программе переменные и другие объек ты будут уничтожены. При этом текст программы останется неизмен ным. Переменная Digits - устанавливает количество значащих цифр (точность), которыми будет оперировать Maple при вычислениях. Команда alias - переобозначение идентификаторов выражений. Приведем пример: Определим функцию и присвоим ей идентификатор f1: > fl:=xл3+sin(cos(xл2}}; 3 2 fl := х + sin(cos(х )) > restart; Проверим, сохранилось ли значение переменной f1 в памяти: > fl; fl 8 Введение Как видно, Maple выдал в качестве результата имя самой перемен ной. Это означает, что данному идентификатору не присвоено ника кого значения. > Digits:=200: > evalf(Pi}; 3.1415926535897932384626433832795028841971693993751058209749445923\ 07816406286208998628034825342117067982148086513282306647093844\ 60955058223172535940812848111745028410270193852110555964462294\ 89549303820 В последнем примере система вычислила число π с точностью до 200 значащих цифр. По умолчанию переменная Digits равна 10. В следующем примере переобозначим имя мнимой единицы. После выполнения команды alias в качестве имени мнимой единицы можно использовать идентификатор j. > alias(I=I, j=sqrt(-l}}; � > (3*j}л2; 9 Авторы не ставили перед собой цель описать все команды Maple V Release 4 в этой книге. Но здесь описана основная часть команд, зная которые легко можно решить большинство задач. Самым лучшим под ходом к изучению Maple будет "проигрывание� приведенных приме ров и экспериментирование с командами. Кроме того, если необходи мо найти какуюлибо функцию, которая не описана в этой книге или описана кратко, то для этого достаточно воспользоваться справоч ной системой, в которой без труда можно найти подробное описание с примерами интересующей команды. Интерфейс Maple V Release 4 9 1. Интерфейс Maple V Release 4 Первое с чем встретится пользователь при загрузке Maple V - это оконный интерфейс (как и в любом другом Windоws-приложении). Экранный интерфейс Maple V состоит из следующих основных ча- стей: -сстрока команд; -строка пиктограмм; - рабочее окно, в котором производятся все математические операции и действия, связанные с форматированием документа. Строки команд будут несколько отличаться в зависимости от следующих действий: - редактирование рабочего документа - стандартный интерфейс рабоче- го листа; -просмотр справки - интерфейс справочной системы; 1 0 Глава 1 - двухмерные построения - интерфейс графической двухмерной си- стемы; - трехмерные построения - интерфейс графической трехмерной систе- мы. 1.1 Интерфейс рабочего документа Будет показан на экране, если пользователь работает в рабочем документе и курсор ввода расположен именно там. Вид данного ин- терфейса был представлен на рисунке. Как видно из рисунка, в стро- ке команд содержится восемь пунктов меню: File - команды для работы с файлами сессии Maple V; Edit - команды для работы с отдельным регионом, либо с его час- тью; View - изменение вида содержимого рабочего документа и панелей управления; Insert - вставка различных объектов и текста в формате Maple в от- крытый документ; Format - содержит команды форматирования текста; Options - команды для установки действий, выполняемых при выводе результатов; Window - команды для закрытия, упорядочивания и вывода списка от- крытых рабочих документов; Help - команды для работы со справочной системой и изменения базы данных помощи. Рассмотрим подробнее каждое меню в отдельности. Meню FILE Покажем какие действия можно выполнить с помощью данного меню с указанием соответствующих пиктограмм и горячих клавиш. New - открытие нового документа (<Ctrl>+<N>). Open - открытие существующего документа (<Ctrl>+<O>). Выполнение данной команды приводит к открытию окна диалога, в котором пользователю предлагается выб-