- •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. Вопросы по практике
Расширение выражений — expand
Даже в жизни мы говорим: «не все так просто». Порою упрощенное выражение скрывает его особенности, знание которых является желательным. В этом случае можно говорить о полезности расширения или раскрытия выражения. Функция expand «расширяет» выражение expr и записывается в виде
expand(expr, expr1, expr2, ..., exprn)
где expr — расширяемое выражение, expr1, expr2, …, exprn — необязательные подвыражения — опции. Имеется также инертная форма данной функции — Ехpand(expr). Кроме того, возможно применение операторной конструкции frontend(expans,[expr]).
Функция expand раскладывает рациональные выражения на простые дроби, полиномы на полиномиальные разложения, она способна раскрыть многие математические функции, такие как sin, cos, tan, sinh, cosh, tanh, det, erf, exp, factorial, GAMMA, ln, max, min, Psi, binomial, sum, product, int, limit, bernoulli, euler, abs, signum, pochhammer, polylog, BesselJ, BesselY, BesselI, BesselK, AngerJ, Beta, Hankel, Kelvin, Struve, WeberE и функция piecewise. С помощью дополнительных аргументов expr1, expr2, …, exprn можно задать расширение отдельных фрагментов в expr.
Примеры применения функции expand приведены ниже (файл expand):
> expand((х+2)*(х+3)*(х+4));
x³ + 9х² + 26х + 24
> expand(sin(2*х));
2sin(x)cos(x)
> expand(sin(х+у));
sin(x)cos(y) +cos(x)sin(y)
> expand([(a+b)*(a-b),tan(2*x)]);
> expand((a+d)*(b+d)*(c+d));
abc + abd + adc + ad² + dbc + d²b + d²с = d³
> expand((х+1)*(y+1));
xy + х + у + 1
> expand((у+1),(х+1));
y + 1
> expand( (х+1) *(у+z));
ху + xz + y +z
> expand((х+1)*(y+z), х+1);
(х + 1)y +(х + 1)z
> frontend(expand,[(a+b)^3]);
а³ + 3a²b + 3аb²+b³
32. Символьные преобразования выражений. Команда factor, collect. Разложение выражений (факторизация) — factor
Для алгебраических выражений функция факторизации записывается в вычисляемой и невычисляемой (инертной) формах:
factor(a)
Factor(a)
factor(a,K)
Factor(a,K)
Здесь а — полином с несколькими переменными, К — необязательное алгебраическое расширение. Для получения результата от инертной формы функции факторизации надо использовать функции вычисления evala или evalgf.
Главная цель факторизации — это нахождение максимального числа независимых сомножителей выражения, линейных по заданным переменным с коэффициентами наиболее простой формы. Ниже представлены примеры применения функции factor:
> factor(а^2+2*а*b+b^2);
(а+b)²
> factor(а^2-2*а*b-b^2);
а² - 2ab - b²
> p:=expand((х-1)*(х-2)*(х-3)*(х-4));
р: = х4 - 10х3 + 35х2 - 50х + 24
> factor(р);
(х-1)(х-2)(х-3)(х-4)
> factor(х^5-2,2^(1/5));
(х -2(1/5))(х4 + х32(1/5) + х22(2/5) + х22(3/5) + 24/5))
> alias(alpha=RootOf(х^2-2));
α
> factor(х^2-2,alpha);
(х + α)(х - α)
> factor(х^3-у^3);
(х - у)(х² + ху + y²)
> factor(х^3-у^3, (-2)^(1/2));
(x - y)(x² + ху + y²)
> factor(х^3-у^3, (-3)^(1/2));
> factor(х^3-3,complex);
(х+.7211247852 + 1.249024766I)(х+.7211247852 - 1.249024766I) (х - 1.442249570)
Комплектование по степеням — collect
Еще одна функция общего назначения — collect — служит для комплектованиявыражения expr по степеням указанного фрагмента х (в том числе множества либо списка). Она задается в одной из следующих форм:
collect(а, х)
collect(а, х, form, func)
Во второй форме этой функции дополнительно задаются параметры form (форма) и func (функция или процедура). Параметр form может иметь два значения: recursive (рекурсивная форма) и distributed (дистрибутивная форма). Параметр func позволяет задать имя функции, по которой будет идти комплектование expr. Примеры применения функции collect представлены ниже (файл collect):
> collect(х+х^3-2*х,х);
-x + x³
> collect(х+2*у^3+х+3+х^3*у,recursive, х);
х(2х + 2у³ + 3 + х³y)
> collect(х+2*у^3+х+3+х^3*у,distributive,у);
у(2х + 2y³ + 3 + х³y)
> f:=а*ехр(х)-ехр(х)*х-х;
f: = аех - еx - х
> collect(f,ехр(х));
(а - х)ех - х
> g:=int(х*(ехр(х)+ехр(-х)),х);
> collect(g,ехр(х));
> р:=х*у+а*х*у+у*х^2-а*у*х^2+х+а*х;
р:= ху + аху + уx² - аух² + х + ах
> collect(р,[х,у],recursive);
(1 - а)ух² + ((1 + а)у + 1 + а)х
> collect(р,[х,у],distributed);
(1 +а)х + (1 + а)ху + (1 - а)ух²
> f:=а^3*х^2-х+а^3+а;
f:= а³х² - х + а³ + а
> collect(f,х);
а³х² - х + а³ + а
> collect(f,х,factor);
а³х² - х + а(а² + 1)
> p:=y/x+2*z/x+x^(1/3)-у*х^(1/3);
> collect(р,х);