Методы решения математических задач в Maple
В этом случае команда extrema сама определила характер экстремумов, однако, в каких точках функция имеет экстремумы, можно определить подстановкой.
> subs(s[1],f);
2
> subs(s[2],f);
0
> subs(s[3],f):convert(%,radical):simplify(%);
− 52 + 23 3
Таким образом, функция имеет следующие условные экстремумы: fmax=f(1,1,1)=2 и fmin=f(−1,1,1)=0; третья критическая точка является седловой.
4. При каких значениях переменных функция 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= 2073 , z= 1011 }
§2 Интегральное исчисление функций многих переменных
В Maple имеются две специальные команды для вычисления двойных и тройных интегралов, содержащиеся в библиотеке student.
Для вычисления двойных интегралов ∫∫f (x, y)dxdy используется
D
команда Doubleint(f(x, y), D), где D – область интегрирования, записываемая в одном из следующих форматов:
x=х1..х2, y=y1..y2, где числа х1, х2, y1, y2 задают прямоугольную область интегрирования;
96
Методы решения математических задач в Maple
x=f1(y)..f2(y), y=y1..y2, где f1(y), f2(y) − линии,
ограничивающие область интегрирования слева и справа на интервале от y1 до y2;
x=х1..х2, y=g1(x)..g2(x) , где g1(y), g2(y) − линии,
ограничивающие область интегрирования снизу и сверху на интервале от х1 до х2.
Для вычисления тройных интегралов |
∫∫∫f (x, y, z)dxdydz |
используется команда Tripleint(f(x, y, |
V |
z),x, y, z, V), |
|
где V – область интегрирования. |
|
Обе эти команды являются командами отложенного действия. Чтобы получить значение интеграла, следует использовать команду value(%).
Повторные интегралы можно вычислять с помощью повторения
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
1 |
команды int, |
например, |
повторный |
|
|
интеграл |
∫dy∫x2 y3dx |
|||||||||||||
вычисляется командой |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
> int(int(x^2*y^3, x=0..1), y=0..2); |
|
|
||||||||||||||||
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
Задание 2. |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
4 |
|
|
y |
|
y3 |
|
|
|
|
|||||
1. |
Вычислить повторный интеграл ∫dy∫ |
|
|
|
dx |
|
|
||||||||||||
|
x |
2 |
|
2 |
|
|
|||||||||||||
|
|
|
|
|
2 |
|
0 |
|
|
+ y |
|
|
|
|
|||||
|
> Int(Int(y^3/(x^2+y^2),x=0..y),y=2..4)= |
|
|||||||||||||||||
|
int(int(y^3/(x^2+y^2), x=0..y),y=2..4); |
|
|||||||||||||||||
|
|
4 |
y |
y3 |
|
|
dx = 14 π |
|
|
||||||||||
|
|
∫dy∫ |
|
|
|
|
|
||||||||||||
|
|
|
2 |
|
2 |
|
|
||||||||||||
|
|
2 |
0 x |
|
+ y |
|
|
|
|
|
3 |
|
|
|
|
||||
2. |
Вычислить |
двойной интеграл |
∫∫sin(x + 2 y)dxdy |
по |
области, |
||||||||||||||
|
|
|
|
|
|
|
|
D |
|
|
π |
|
|
|
|
|
|||
ограниченной линиями y = 0, |
y = x, x + y = |
. |
|
|
|
|
|||||||||||||
2 |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97
Методы решения математических задач в Maple
Замечание: сначала следует описать область интегрирования D в
виде неравенств: D ={(x, y) : y ≤ x ≤ π2 − y, 0 ≤ y ≤ π2}
>restart: with(student):
>J:=Doubleint(sin(x+2*y), x=y..Pi/2-y, y=0..Pi/2);
|
1 |
π |
|
1 |
π− y |
|
||
2 |
2 |
|
||||||
|
∫sin(x + 2 y)dxdy |
|||||||
J := ∫ |
|
|
||||||
0 |
|
|
y |
|
|
|
||
> J:=value(%); |
|
|
|
2 |
|
|
||
|
|
|
J := |
|
|
|||
|
|
|
3 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
2 |
|||
3. Вычислить тройной интеграл |
|
∫dx ∫dy∫(4 + z)dz . |
||||||
|
|
|
|
−1 |
x 2 |
0 |
||
Замечание: следует помнить, что порядок интегрирования определяется последовательностью пределов, поэтому сначала внутренние указываются пределы, содержащие функции.
> J:=Tripleint(4+z, y=x^2..1,x=-1..1, z=0..2);
2 1 1
J := ∫∫ ∫4 + zdydxdz
0 −1x 2
> J:=value(%);
J := 403
§3. Векторный анализ
Приведем определения основных дифференциальных операций векторного анализа и команды Maple для их вычисления, которые содержатся в библиотеке linalg.
Градиент скалярной функции f(x, y, z) – это вектор, координатами которого являются частные производные по соответствующим
переменным: |
|
∂f |
, |
∂f |
, |
∂f |
grad f (x, y, z) = |
|
|
. В Maple grad вычисляется |
|||
|
|
∂x |
|
∂y |
|
|
|
|
|
|
∂z |
||
одноименной |
командой grad(f,[x,y,z],c), где здесь и в |
|||||
98
Методы решения математических задач в Maple
дальнейшем f – функция, [x,y,z] – набор переменных, от которых она зависит.
Параметр с позволяет вычислять данную дифференциальную операцию в различных криволинейных координатах (по умолчанию используется прямоугольная декартова система координат). Этот параметр может указываться во всех имеющихся в Maple дифференциальных операциях. Для вычисления дифференциальной операции в цилиндрических координатах следует записать coords=cylindrical, в сферических координатах – coords=spherical.
Лапласиан скалярной функции f(x, y, z) – это оператор, действующий на функцию f(x, y, z) по правилу:
f |
= |
∂2 f |
+ |
∂2 f |
+ |
∂2 f |
. |
Он |
вычисляется |
командой |
||||||
∂x2 |
∂y2 |
∂z2 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
laplacian(f,[x,y,z],c). |
|
F(x, y, z) называется функция |
||||||||||||||
|
|
Дивергенцией |
вектор-функции |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
∂F |
∂Fy |
|
∂F |
|||
(скалярная), вычисляемая по правилу: divF(x, y, z) = |
x |
+ |
|
+ |
z |
. |
||||||||||
|
∂y |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
∂x |
|
∂z |
||||
Дивергенция в Maple вычисляется командой diverge(F,[x,y,z],c), где здесь и в дальнейшем F – векторфункция, [x,y,z] – набор переменных, от которых она зависит.
Ротором вектор-функции F(x, y, z) называется вектор с
|
|
∂F |
|
∂Fy |
|
∂F |
|
∂F |
∂Fy |
|
∂F |
|
|
||||
координатами: |
rotF = |
z |
− |
|
, |
x |
− |
z , |
|
− |
|
x . |
|||||
∂z |
∂x |
|
|||||||||||||||
|
|
|
∂y |
|
|
|
∂z |
|
∂x |
|
|
∂y |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ротор вычисляется командой curl(F,[x,y,z],c).
Для вектор-функции F(x, y, z) можно вычислить матрицу Якоби
|
∂F |
|
∂Fy |
|
x |
|
|
∂x |
|
∂x |
|
|
|
||
J = |
∂F |
|
∂Fy |
x |
|
|
|
∂y |
|
∂y |
|
|
|
||
|
∂F |
|
∂Fy |
|
x |
|
|
|
∂z |
|
∂z |
|
|
∂∂Fz x
∂Fz ∂y
∂Fz ∂z
с помощью команды jacobian(F,[x,y,z]).
99
Методы решения математических задач в Maple
Задание 3.
1.Дана функция u(x, y) = arctg xy . Найти grad u(x, y) . Какие углы
составляет grad u с осями координат? Найти производную функции
u(x,y) по направлению вектора q=[1,1]. > restart: with(linalg):
Warning, new definition for norm Warning, new definition for trace
> u:=arctan(y/x): g:=simplify(grad(u, [x, y]));
|
|
y |
|
x |
|
|
g := − |
|
|
, |
|
|
|
x2 |
+ y2 |
x2 + y2 |
||||
|
|
|
||||
|
|
|
|
|
|
> alpha:=simplify(angle(g, [1, 0]));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
α:= π − arccos |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
(x2 |
+ y2 ) |
|
|
|
|
|
|
|
|
|||
|
|
|
|
2 |
|
|
|
|
||||||
|
|
|
|
|
|
|
x |
+ y |
2 |
|||||
|
|
|
|
|
|
|
|
|
|
|||||
> beta:=simplify(angle(g, [0, 1])); |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
||
β:= arccos |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
(x2 |
+ y2 ) |
|
|
|
|
|
|
|
|
||||
|
2 |
|
|
|
2 |
|
||||||||
|
|
|
|
|
x |
+ y |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||||
Косинусы этих углов являются направляющими косинусами grad u(x, y) . Убедимся, что сумма их квадратов равна единице.
> simplify(cos(alpha)^2+cos(beta)^2);
1
Производная функции u по направлению q равна скалярному произведению градиента этой функции на нормированный вектор q:
∂u |
= (gradu, e) , где e = |
|
q |
− нормированный вектор q. |
||||
∂q |
|
q |
|
|||||
|
|
|||||||
|
|
|
|
|
|
|
||
|
> q:=vector([1,1]);e:=normalize(q); |
|||||||
|
|
|
|
|
q:=[1, 1] |
|
||
|
|
|
|
|
1 |
2, |
1 |
|
|
|
|
|
|
е:= |
2 |
2 |
|
|
|
|
|
|
2 |
|
|
|
> udq:=simplify(dotprod(g,e));
100