
- •Введение
- •1. Запуск математического пакета maple, структура окна
- •2. Описание основных команд–процедур пакета maple
- •2.1. Арифметические операции, типы данных в Maple
- •2.2. Структура команд Maple
- •Команда (параметр_1, параметр_2, …, параметр_n);
- •2.3. Преобразование математических выражений
- •2.3.1. Выделение частей арифметических выражений
- •2.3.2. Тождественные преобразования арифметических выражений
- •Collect(выражение, имя переменной относительно которой приводятся подобные);
- •3. Функции maple, решение уравнений и неравенств
- •3.1. Способы задания функций и замена переменных
- •Piecewise(cond_1,f1,cond_2,f2, …).
- •3.2. Операции оценивания
- •3.3. Решение уравнений и их систем
- •3.4. Решение неравенств
- •4. Графические и геометрические возможности пакета maple
- •4.1. Графические возможности пакета Maple
- •4.1.1. Двумерная графика
- •Polarplot ([переменная, выражение,параметры переменной],опции);
- •Pointplot(data_list,опции);
- •Sphereplot ((выражение), параметры_, параметры_, опции);
- •Sphereplot ([r_выражение, _выражение, _выражение], параметр_1, параметр_2, опции);
- •4.1.2. Трехмерная графика
- •4.2. Анимация
- •4.3. Геометрические пакеты Maple
- •4.3.1. Стереометрия
- •4.3.2. Планиметрия
- •5. Дифференциальное и интегральное исчисление функции одной переменной
- •5.1. Вычисление пределов в Maple для некоторых математических операций существует по две команды: прямого и отложенного исполнения. Имена команд состоят из одинаковых букв за исключением первой:
- •5.2. Дифференцирование
- •5.2.1. Вычисление производных
- •5.2.2. Дифференциальный оператор
- •5.3. Исследование функций
- •5.3.1. Непрерывность функции и точки разрыва
- •5.3.2. Экстремумы. Наибольшее и наименьшее значение функции
- •5.3.3. Исследование функции по общей схеме
- •{Arctan(0)}
- •6. Интегрирование
- •6.1. Аналитическое и численное интегрирование
- •6.2. Определенные интегралы
- •Is assumed to be: RealRange(Open(-1),3)
- •6.3. Основные методы интегрирования
- •7. Дифференциальные уравнения
- •7.1. Аналитическое решение дифференциальных уравнений
- •7.1.1. Общее решение дифференциальных уравнений
- •7.1.2. Фундаментальная (базисная) система решений
- •7.1.3. Решение задачи Коши или краевой задачи
- •7.1.4. Системы дифференциальных уравнений
- •7.1.5. Приближенное решение дифференциальных уравнений с помощью степенных рядов
- •7.2. Численное решение дифференциальных уравнений
- •7.2.1. Формат команд dsolve и odeplot для нахождения численного решения дифференциальных уравнений в графическом виде
- •Italic, 12]):
- •Italic, 12]):
- •7.2.2. Пакет графического представления решений дифференциальных уравнений dEtools
- •7.2.3. Построение фазовых портретов систем дифференциальных уравнений
- •8. Функции многих переменных, векторный анализ, ряды, интегральные преобразования
- •8.1. Дифференциальное исчисление функций многих переменных
- •8.1.1. Частные производные
- •8.1.2. Локальные и условные экстремумы функций многих переменных
- •Maximize(f,{x1,…,xn},range);
- •Minimize(f,{x1,…,xn}, range);
- •8.2. Интегральное исчисление функций многих переменных
- •8.3. Векторный анализ
- •8.4. Ряды и произведения
- •8.4.1. Вычисление суммы ряда и произведений
- •8.4.2. Разложение функции в степенной ряд и ряд Тейлора
- •8.5. Интегральные преобразования
- •8.5.1. Преобразование Фурье
- •8.5.2. Преобразование Лапласа
- •9. Линейная алгебра
- •9.1. Векторная алгебра
- •Warning, the protected names norm and trace have been redefined and unprotected
- •9.2. Действия с матрицами
- •9.2.1. Определение матрицы
- •9.2.2. Арифметические операции с матрицами
- •9.2.3. Определители, миноры и алгебраические дополнения, ранг и след матрицы
- •9.2.4. Обратная и транспонированная матрицы
- •Evalm(1/a);
- •Inverse(a).
- •9.2.5. Определение типа матрицы
- •1*Sqrt(3)/2,-1/2]]);
- •9.2.6. Функции от матриц
- •9.3. Спектральный анализ матрицы
- •9.4. Системы линейных уравнений, матричные уравнения
- •For имя переменной цикла in выражение 1 do выражение 2 od;
- •10.3. Процедуры-функции
- •10.4. Процедуры
- •Writeto (“имя файла”)
- •Appendto (“имя файла”)
- •Print(список Maple-выражений, перечисляемых через запятую);
- •Lprint(список Maple-выражений, перечисляемых через запятую);
- •Readdata(“имя файла”, тип переменной(integer/float – последний тип устанавливается по умолчанию),счетчик чисел);
- •Readlib(readdata):
- •12. Использование математического пакета maple для научных исследований
- •12.1. Исследование влияния изменяемых параметров плоской помольной камеры мельницы противоточного действия на скорость энергоносителя
- •12.1.1. Постановка задачи
- •12.1.2. Решение задачи
- •12.2. Определение коэффициента полезного заполнения материалом деформируемых бочкообразных камер устройств для тонкого и свертонкого помола материалов
- •12.2.1. Расчетная схема
- •12.2.2. Решение задачи
- •12.3. Исследование влияния основных конструктивных и технологических параметров на режимы работы трубной мельницы
- •Formula(1.8)
- •Formula(1.9)
- •Formula(2.1)
- •Formula(2.2)
- •Formula(2.3)
- •Formula(3.1)
- •Formula(3.2)
- •Formula(3.3)
- •13. Формат наиболее используемых команд аналитического пакета maple
- •Заключение
- •Библиографический список
- •Оглавление
8. Функции многих переменных, векторный анализ, ряды, интегральные преобразования
8.1. Дифференциальное исчисление функций многих переменных
Большинство задач дифференциального и интегрального исчисления функций многих переменных решается в Maple с помощью тех же команд, что и для функций одной переменной, только с указанием дополнительных опций.
8.1.1. Частные производные
Для вычисления частных производных функции f(x1,…, xm) используется команда:
diff(f,x1$n1,x2$n2,…, xm$nm);
где
x1,…,
xm –
переменные, по которым производится
дифференцирование, а после знака $
задается соответствующий порядок
дифференцирования. Например, частная
производная
будет задана в виде: diff(f,x,y).
Пример.
Найти
и
функции
.
[> f:=arctan(x/y):
[>Diff(f,x)=simplify(diff(f,x));
[> Diff(f,y)=simplify(diff(f,y));
.
Пример.
Найти
все частные производные 2-го порядка
функции
.
[> restart; f:=(x-y)/(x+y):
[> Diff(f,x$2)=simplify(diff(f,x$2));
[> Diff(f,y$2)=simplify(diff(f,y$2));
[> Diff(f,x,y)=diff(f,x,y);
.
8.1.2. Локальные и условные экстремумы функций многих переменных
Для исследования функции нескольких пременных на локальный и условный экстремум используется команда из стандартной библиотеки extrema(f,{cond},{x,y,…},'s'), где cond – ограничения для поиска условного экстремума, которые записываются в виде неравенств или равенств. После ограничений в фигурных скобках указываются все переменные, от которых зависит функция f, а затем в кавычках записывается s – имя переменной, которой будут присвоены координаты точек экстремума. Для поиска локального экстремума множество {cond}задается пустым {}.
Отметим, что команда extrema выдает все критические точки, т.е. и те, в которых экстремума нет. Отсеять недающие экстремума критические точки можно с помощью подстановки этих точек в функцию, с использованием команды subs.
Как и для функции одной переменной, наибольшее и наименьшее значения функции нескольких переменных можно найти командами
Maximize(f,{x1,…,xn},range);
и
Minimize(f,{x1,…,xn}, range);
в которых следует указывать после функции в фигурных скобках список всех переменных, от которых она зависит, и интервалы для каждой переменной, задающие область поиска наибольшего и наименьшего значений.
Если требуется найти переменные, при которых линейная функция многих переменных имеет максимум (или минимум) при наложении ограничений, заданных в виде линейных равенств или неравенств нужно использовать симплекс-метод. Для этого необходимо загрузить пакет simplex, а затем воспользоваться командой maximize (или minimize), где в качестве range в фигурных скобках указывают ограничения.
Пакет simplex предназначен для решения задач линейной оптимизации. После его загрузки команды maximize и minimize выдают координаты точек, при которых заданная линейная функция имеет максимум или минимум. Для поиска неотрицательных решений используется команда NONNEGATIVE.
Пример.
Найти
экстремумы функции
.
[> restart: readlib(extrema):
[> f:=2*x^4+y^4-x^2-2*y^2:
[> extrema(f,{},{x,y},'s');s;
{0,
}
{{x=0,
y=0},
{x=
y=0},
{x=
,
y=0},
{x=0,
y=1},
{x=0,
y=-1},
{x=
,
y=1},
{x=
,
y=-1},
{x=
,
y=1},
{x=
,
y=-1}}
Получилось два экстремума, поэтому очевидно, что fmax=0 и fmin=9/8, причем максимум достигается в точке (0,0). Остальные критические точки следует проверить. В силу четности функции по обеим переменным, можно ограничиться проверкой критических точек с положительными координатами.
[> subs([x=1/2,y=1],f);
[> subs([x=1/2,y=0],f);
[> subs([x=0,y=1],f);
-1
Таким
образом, функция имеет локальные
экстремумы: fmax=f(0,0)=0
и fmin=f
=f
=9/8.
Пример.
Найти
наибольшее и наименьшее значения функции
в прямоугольнике x
=
0, y
=
0, x
=
1, y
=
2.
Замечание:
заданную область удобнее записывать в
виде неравенств: 0
x
1, 0
y
2.
[> restart: readlib(maximize): readlib(minimize):
[> f:=x^2+2*x*y-4*x+8*y:
[> maximize(f,{x,y},{x=0..1,y=0..2});
17
[> minimize(f,{x,y},{x=0..1,y=0..2});
-4
Таким образом, функция имеет наибольшее значение fmax=17 и наименьшее значение fmin=4.
Пример.
Найти условные экстремумы функции f(х,у,z) = xy + yz при x2 + y2 = 2, y + z = 2, x > 0, y > 0, z > 0.
[>restart: readlib(extrema): f:=x*y+y*z:
[>assume(x>0);assume(y>0);assume(z>0);
[>simplify(extrema(f,{x^2+y^2=2,y+z=2},{x,y,z},
's'));
{min(
RootOf(_Z2+4_Z+1)+
,
0), max(
RootOf(_Z2+4_Z+1)+
,
2)}
Несмотря на предварительное использование команды упрощения выражения simplify, полученный результат имеет не аналитический вид, однако это можно исправить, если воспользоваться командой convert.
[> convert(%,radical);
{min
,
max
}
[> convert(s,radical);
{{x~=1,z~=1,y~=1},{x~=-1,z~=1,y~=1},
{x~=
,y~=
,
z~=
}}
В этом случае команда extrema сама определила характер экстремумов, однако, в каких точках функция имеет экстремумы, можно определить подстановкой.
[> subs(s[1],f);
2
[> subs(s[2],f);
0
[> subs(s[3],f):convert(%,radical):simplify(%);
Таким образом, функция имеет следующие условные экстремумы: fmax = f (1,1,1) = 2 и fmin = f (1,1,1) = 0; третья критическая точка является седловой.
Пример.
При каких значениях переменных функция f(x,y,z) = x + 2y + 3z имеет максимум, если требуется выполнение условий x + 2y 3z 4, 5x 6y + 7z 8, 9x + 10z 11, а все переменные неотрицательные?
[> restart: with(simplex):
Warning, new definition for maximize
Warning, new definition for minimize
[> f:=-x+2*y+3*z:
[> cond:={x+2*y-3*z<=4, 5*x-6*y+7*z<=8,
9*x+10*z<=11}:
[> maximize(f,cond,NONNEGATIVE );
{x=0,
y=
,
z=
}