- •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. Вопросы по практике
38. Поиск минимумов и максимумов аналитической функции командами minimize, maximize.
Главными из этих функций являются maximize и minimize, оптимизирующие задачусимплекс-методом. Они записываются в следующих формах:
maximize(f, С)
minimize(f, С)
minimize(f , С, vartype)
maximize(f , C, vartype)
maximize(f , C, vartype, 'NewC', 'transform')
minimize(f , C, vartype, 'NewC', 'transform')
Здесь f — линейное выражение, С — множество или список условий, vartype — необязательно задаваемый тип переменных NONNEGATIVE или UNRESTRICTED, NewC и transform — имена переменных, которым присваиваются соответственно оптимальное описание и переменные преобразования. Ниже даны примеры применения этих функций (файл simplex):
> restart:with(simplex):
Warning, the protected names maximize and minimize have been redefined and unprotected
> minimize(x+y, {4*x+3*y <= 5, 3*x+4*y <= 4}, NONNEGATIVE);
{y=0, x=0}
> minimize(x-y, {4*x+2*y <= 10, 3*x+4*y <= 16}, NONNEGATIVE, 'NC', 'vt');
{y=4, x=0}
> NC;vt;
> maximize(x+y, {4*x+2*y <= 10, 3*x+4*y <= 16}, NONNEGATIVE);
> maximize(x+y, {3*x+2*y <= 5, 2*x+4*y <=4});
> z := 2*x1 - x2 + 3*x3;
z := 2x1 - x2 + 3x3
> cnts1 := [x2+2*x3 <= 1, 2*x1-4*x2+6*x3 <= 3, -x1+3*x2+4*x3 <= 12];
cnts1 := [x2+2x3 ≤ 1, 2x1-4x2+6x3 ≤ 3, -x1+3x2+4x3 ≤ 12]
> sol1 := maximize(z,cnts1,NONNEGATIVE);
При использовании функций minimize и maximize надо не забывать, что это переопределенные функции — аналогичные по названию функции есть в ядре и они реализуют иные методы вычислений. Для возврата к исходному определению функций надо выполнить команду restart.
39. Работа с функцией из отдельных кусков. Функция piecewise. Работа с функциями piecewise
С функциями типа piecewise можно работать как с обычными функциями. При этом необходимые операции и преобразования осуществляются для каждой из частей функции и возвращаются в наглядной форме.
Ниже приведен пример задания функции f в аналитической форме (файл piecewi):
> restart;
> f := max(х^2 - 2, x-1);
f := max(x²-2, x-1)
Для выявления характера функции воспользуемся функцией convert и создадим объект g в виде кусочной функции:
> g := convert(f, piecewise);
Выполним дифференцирование и интегрирование функции:
> fprime := diff(f, х);
> Int(g,х)=int(g,х);
Как нетрудно заметить, результаты получены также в виде кусочных функций. Можно продолжить работу с функцией f и выполнить ее разложение в степенной ряд:
> series(f, х);
-1+x+O(x6)
Чтобы убрать член с остаточной погрешностью, можно выполнить эту операцию следующим образом:
> series(g, х);
-1+х
Обратите внимание на то, что поскольку разложение в ряд ищется (по умолчанию) в окрестности точки х=0, то при этом используется только тот кусок функции, в котором расположена эта точка.
40. Численное решение дифференциальных уравнений. Команда dsolve.
Maple позволяет решать одиночные дифференциальные уравнения и системы дифференциальных уравнений как аналитически, так и в численном виде. Разработчиками системы объявлено о существенном расширении средств решения дифференциальных уравнений и о повышении их надежности в смысле нахождения решений для большинства классов дифференциальных уравнений.
Для решения системы простых дифференциальных уравнений (задача Коши)используется функция dsolve в разных формах записи:
dsolve(ODE)
dsolve(ODE, y(x), extra_args)
dsolve({ODE, ICs}, y(x), extra_args)
dsolve({sysODE, ICs}, {funcs}, extra_args)
Здесь ODE — одно обыкновенное дифференциальное уравнение или система из дифференциальных уравнений первого порядка с указанием начальных условий, у(х) —функция одной переменной, Ics — выражение, задающее начальные условия, {sysODE} —множество дифференциальных уравнений, {funcs} — множество неопределенных функций, extra_argument —опция, задающая тип решения.
Параметр extra_argument задает класс решаемых уравнений. Отметим основные значения этого параметра:
• exact — аналитическое решение (принято по умолчанию);
• explicit — решение в явном виде;
• system — решение системы дифференциальных уравнений;
• ICs — решение системы дифференциальных уравнений с заданными начальными условиями;
• formal series — решение в форме степенного многочлена;
• integral transform — решение на основе интегральных преобразований Лапласа, Фурье и др.;
• series — решение в виде ряда с порядком, указываемым значением переменной Order;
• numeric — решение в численном виде.
Возможны и другие опции, подробное описание которых выходит за рамки данной книги. Его можно найти в справке по этой функции, вызываемой командой ?dsolve.
Для решения задачи Коши в параметры dsolve надо включать начальные условия, а при решении краевых задач — краевые условия. Если Maple способна найти решение при числе начальных или краевых условий меньше порядка системы, то в решении будут появляться неопределенные константы вида _С1, _С2 и т.д. Они же могут быть при аналитическом решении системы, когда начальные условия не заданы. Если решение найдено в неявном виде, то в нем появится параметр _Т. По умолчанию функция dsolve автоматически выбирает наиболее подходящий метод решения дифференциальных уравнений. Однако в параметрах функции dsolve в квадратных скобках можно указать предпочтительный метод решения дифференциальных уравнений. Допустимы следующие методы:
> `dsolve/methods`[1];
[quadrature, linear, Bernoulli, separable, inverse_linear, homogeneous, Chini, lin_sym, exact, Abel, pot_sym ]
Более полную информацию о каждом методе можно получить, используя команду ?dsolve,method и указав в ней конкретный метод. Например, команда ?dsolve,linear вызовет появление страницы справочной системы с подробным описанием линейного метода решения дифференциальных уравнений.