- •2. Алфавит Maple-языка и его синтаксис. Основные объекты (определение, ввод, действия с ними). Числа. Обыкновенные дроби.
- •3. Основные объекты (определение, ввод, действия с ними). Радикалы. Константы. Переменные, неизвестные и выражения.
- •4. Последовательности, списки, множества. Массивы. Вектора.
- •Создание массивов, векторов и матриц
- •5. Аналитические преобразования. Операции с формулами. Преобразование типов. Операции оценивания.
- •Оценивание выражений
- •6. Работа с последовательностями, списками, множествами. Последовательности с заданным числом членов
- •Основные функции для произведения членов последовательностей
- •7. Работа с массивами, таблицами. Создание Maple-таблиц и их применение
- •Создание массивов, векторов и матриц
- •8. Внутренняя структура объектов Maple. Подстановка и преобразование типов. Преобразования чисел с разным основанием
- •Контроль за типами объектов
- •9. Операции с полиномами. Определение полиномов
- •Выделение коэффициентов полиномов
- •Оценка коэффициентов полинома по степеням
- •Оценка степеней полинома
- •Контроль полинома на наличие несокращаемых множителей
- •Разложение полинома по степеням
- •Вычисление корней полинома
- •Основные операции с полиномами
- •Операции над степенными многочленами с отрицательными степенями
- •10. Решение уравнений и неравенств.
- •11. Математический анализ. Пределы, суммы. Ряды. Пределы
- •Суммы и ряды
- •12. Математический анализ. Исследование функций. Разложение и приближение функций.
- •13. Математический анализ. Дифференцирование функций. Интегрирование. Производные
- •Интегралы
- •14. Обзор пакетов Maple 15. Пакет linalg. Элементарные операции с матрицами и векторами. Состав пакета linalg
- •15. Пакет LinearAlgebra. Элементарные операции с матрицами и векторами. Назначение и загрузка пакета LinearAlgebra
- •Примеры матричных операций с применением пакета LinearAlgebra
- •Методы решения систем линейных уравнений средствами пакета LinearAlgebra
- •16. Решение систем линейных уравнений. Пакет student. Функции пакета student
- •Функции интегрирования пакета student
- •Иллюстративная графика пакета student
- •17. Основы программирования в maple 15. Задание функций пользователя. Задание функции пользователя
- •10.1.2. Конструктор функций unapply
- •Визуализация функции пользователя
- •18. Основы программирования в maple 15.Условные выражения. Циклы. Операторы пропуска и прерывания. Условные выражения
- •Циклы for и while
- •10.2.5. Операторы пропуска и прерывания циклов
- •19. Процедуры функции. Процедуры. Средства отладки процедур, их сохранение и использование (подключение).
- •Графические процедуры
- •Просмотр кодов процедур
- •Оператор возврата значения return
- •Статус переменных в процедурах и циклах
- •Объявления переменных локальными с помощью оператора local
- •Объявления переменных глобальными с помощью слова global
- •Ключи в процедурах
- •Общая форма задания процедуры
- •20. Решение алгебраических уравнений и систем уравнений. Основная функция solve. Решение систем линейных уравнений
- •21. Одиночные нелинейные и тригонометрические уравнения. Решение одиночных нелинейных уравнений
- •Решение тригонометрических уравнений
- •22. Системы нелинейных и трансцендентных уравнений. Решение уравнений в численном виде. Решение систем нелинейных и трансцендентных уравнений
- •Решение в численном виде — функция fsolve
- •23. Решение функциональных, рекуррентных и др. Уравнений. Функция RootOf. Функция RootOf
- •Решение функциональных уравнений
- •Решение рекуррентных уравнений — rsolve
- •24. Решение обыкновенных дифференциальных уравнений и уравнений в частных производных Примеры аналитического решение оду первого порядка
- •Функция pdsolve
- •25. Двумерная графика в системе maple 15. Команда plot(). Функция plot для построения двумерных графиков
- •26. Двумерные команды пакета plots. Двумерные графические структуры Maple.
- •27. Двумерные команды пакета plottols. Анимация двумерных графиков.
- •28. Пространственная графика в Maple. Команда plot3d().
- •Параметры функции plot3d
- •29. Трёхмерные команды пакета plots. Трёхмерные графические структуры Maple.
- •30. Меню для работы с трёхмерной графикой. Трёхмерные команды пакета plottools.
- •31. Символьные преобразования выражений. Команда simplify, expand. Упрощение выражений — simplify
- •Расширение выражений — expand
- •32. Символьные преобразования выражений. Команда factor, collect. Разложение выражений (факторизация) — factor
- •Комплектование по степеням — collect
- •33. Решение тригонометрических уравнений.
- •34. Решение систем линейных уравнений. Решение систем линейных уравнений
- •35. Решение систем нелинейных и трансцендентных уравнений.
- •36. Поиск эсктремумов функции командой solve.
- •37. Поиск эсктремумов функции командой extrema.
- •38. Поиск минимумов и максимумов аналитической функции командами minimize, maximize.
- •39. Работа с функцией из отдельных кусков. Функция piecewise. Работа с функциями piecewise
- •40. Численное решение дифференциальных уравнений. Команда dsolve.
- •II. Вопросы по практике
1. Основы работы в системе MAPLE 15. Пакеты расширений MAPLE 15. Графический интерфейс пользователя.
Как у всех приложений под Windows интерфейс Maple имеет ряд характерных элементов:
• строка заголовка (сверху);
• строка главного меню;
• главная панель инструментов;
• контекстная панель инструментов, вид которой зависит от режима работы с Maple;
• окно ввода и редактирования документов;
• строка состояния (в самом низу окна);
• панели ввода специальных математических символов (см. ниже).
Пользовательский интерфейс Maple 9.5 позволяет готовить документы, содержащие одновременно текстовые комментарии, команды входного языка (с возможным преобразованием их в естественную математическую форму нажатием кнопки с буквой «х»), результаты вычислений в виде обычных математических формул и графические данные.
Палитры ввода математических символов указывается символом >:
> Gamma:=10;
Как уже отмечалось, в стандартном интерфейсе Maple палитры входят в панель палитр или размещаться там, где это удобно пользователю.
Множество функций, в том числе применяемых довольно редко и в вычислениях специальных видов, реализовано в проблемно-ориентированных пакетах расширения. Информацию о пакетах расширения Maple можно получить, используя команду
> ?packages
Список наиболее важных пакетов расширении:
• ArrayTools — пакет по работе с массивами;
• combinat — функции комбинаторики;
• CurveFutting — приближение кривых;
• DEtools — решение дифференциальных уравнений;
• diffalg — дифференциальная алгебра;
• FileTools — пакет для работы с файлами;
• GaussInt — работа с целыми числами Гаусса;
• gfun — графические функции;
• LinearAlgebra — линейная алгебра;
• Matlab — интеграция с MATLAB;
• Mathematical Function — математические функции;
• PDEtools — решение дифференциальных уравнений в частных производных;
• Spread — работа с таблицами;
• numapprox — численная аппроксимация;
• plots — расширения графики;
• plottools — создание дополнительных графических объектов;
• student — функции в помощь студентам;
2. Алфавит Maple-языка и его синтаксис. Основные объекты (определение, ввод, действия с ними). Числа. Обыкновенные дроби.
Алфавит Maple-языка (как входного, так и программирования) содержит 26 малых латинских букв (от а до z), 26 больших латинских букв (от А до Z), 10 арабских цифр (от 0 до 9) и 32 специальных символа (арифметические операторы +, -, *, /, знак возведения в степень ^ и др.). Кроме того, имеется множество особых математических символов. Все они будут описаны в данной главе. Для ввода символов используется клавиатура и панели математических символов.
Имеется пять пар альтернативных символов (означающих одно и тоже):
^ и ** [ и (| ] и |) { и (* } и *)
К специальным одиночным и составным знакам относятся следующие элементы синтаксиса языка:
• % — системная переменная, хранящая результат предшествующей операции;
• : — фиксатор выражения, предотвращающий вывод результата вычисления в ячейку вывода;
• ; — фиксатор выражения, дающий вывод результата вычисления в ячейку вывода;
• # — указатель программного комментария;
• ` — ограничитель строки (например `string`);
• := — оператор присваивания (например х:=5);
• ;; — пустой оператор;
• :: — указатель типа переменной (например, n::integer или z::complex);
• \ — знак обратного деления, который имеет множественные значения в зависимости от контекста (см. справку по этому знаку — backslash).
Комментарии в программе, не выводимые в ячейки вывода, в Maple 9.5 задаются после символа #. В них допустимо использовать все символы кодовых таблиц, что важно при вводе русскоязычных комментариев, использующих символы кириллицы. Применение последних для идентификаторов (имен) объектов нежелательно, хотя иногда и возможно.
Зарезервированные слова используются для создания условных выражений, циклов, процедур и управляющих команд. Список зарезервированных слов в системе Maple, дан ниже.
and Break by Catch description
do Done elif Else end
error Export fi Finally for
from Global if ln intersect
local Minus mod module next
not Od option options or
proc Quit read Return save
stop Then to Try union
use While
Этими словами нельзя называть объекты пользователя.
Совокупность правил, по которым записываются определения всех объектов Maple-языка, называется его синтаксисом.
Простейшими объектами, с которыми может работать Maple, являются числа, константы и строки.
Числа
Числа в системе Maple могут быть следующих типов: целые, обыкновенные дроби, радикалы, числа с плавающей точкой и комплексные. Первые три типа чисел позволяют выполнять точные вычисления (без округлений) разнообразных математических выражений, реализуя точную арифметику. Числа с плавающей точкой являются приближенными, в которых число значащих цифр ограничено. Эти числа служат для приближения (или аппроксимации) точных чисел Maple. Комплексные числа могут быть как точными, если действительная и мнимая части представлены точными числами, так и приближенными, если при задании действительной и мнимой частей комплексного числа используются числа с плавающей точкой.
Целые числа задаются в виде последовательности цифр от 0 до 9. Отрицательные числа задаются со знаком минус (–) перед числом, нули перед первой ненулевой цифрой являются не значащими и не влияют на величину целого числа. Система Maple может работать с целыми числами произвольной величины, количество цифр практически ограничено числом 228. Вычисления с целыми числами реализуют четыре арифметических действия (сложение +, вычитание –, умножение , деление /) и вычисление факториала (!).
Maple представляет большое целое число, которое не помещается в строке области вывода используя символ обратного слэша (\) в качестве символа продолжения вывода на следующей строке. Последняя команда вычисляет количество цифр в результате предыдущего вычисления. В ней в качестве параметра используется операция%, которая является всего лишь удобной формой ссылки на результат выполнения предыдущей операции. В Maple имеются еще две подобные операции, которые идентифицируют результаты предпредыдущей и предпредпредыдущей команд. Их синтаксис выглядит, соответственно, следующим образом:
%% и%%%.
В Maple имеется достаточно большой набор команд, позволяющих выполнить действия, специфичные при обработке целых чисел: разложение на простые множители (ifactor), вычисление частного (iquo) и остатка (irem) при выполнении операции целого деления, нахождения наибольшего общего делителя двух целых чисел (igcd), выполнение проверки, является ли целое число простым (isprime) и многое другое.
Для проверки вычисления частного и остатка двух целых чисел использованы операции получения результата выполнения предыдущей (вычисление частного) и предпредыдущей (вычисление остатка) команд. Результатом команды isprime () является булева константа true (истина) или false (ложь).
Набрав в области ввода рабочего листа команду? integer, можно получить список всех команд для работы с целыми числами
Обыкновенные дроби задаются с помощью операции деления двух целых чисел. Заметим, что Maple автоматически производит операцию сокращения дробей. Над обыкновенными дробями можно выполнять все основные арифметические операции.
Если при задании дроби ее знаменатель сокращается (см. последнее вычисление в примере), то такая «дробь» трактуется системой Maple как целое число.
Часто представление результата в виде обыкновенной дроби не совсем удобно, и возникает задача преобразования ее в десятичную дробь. Для этого используется команда evalf(), которая аппроксимирует обыкновенную дробь числами с плавающей точкой, используя десять значащих цифр в мантиссе их представления. Если точность по умолчанию не достаточна, то ее можно задать вторым параметром указанной функции.
Дробь и ее десятичное представление не являются идентичными объектами Maple. Десятичное представление всего лишь аппроксимация точной величины, представленной обыкновенной дробью.