ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.04.2021
Просмотров: 1356
Скачиваний: 16
Исследование функций на непрерывность
Функция
iscont
позволяет исследовать функции на непрерыв-
ность:
> y := x -> x+1/x:
iscont(y(x), x=0..1);
true
> iscont(y(x), x=0..1, closed);
f alse
Функция
discont
служит для поиска точек разрыва функций:
> discont(y(x), x);
{
0
}
> discont(GAMMA(x), x);
{−
_
NN1
∼}
Функция
singular
служит для поиска особых точек функций:
> singular(y(x), x);
{
x
= 0
}
,
{
x
=
∞}
,
{
x
=
−∞}
> singular(GAMMA(x), x);
{
x
=
−
_
N1
∼
+1
}
,
{
x
=
∞}
Вычисление производных функций
Для вычисления производных используется функция
diff
:
> y := x -> x+1/x:
Diff(y(x), x) = diff(y(x), x);
d
dx
x
+
1
x
= 1
−
1
x
2
> Diff(y(x), x$2) = diff(y(x), x$2);
d
2
dx
2
x
+
1
x
=
2
x
3
46
> u := (x, y, z) -> sin(x)*sin(y)*sin(z):
Diff(u(x, y, z), y, x$2) = diff(u(x, y, z), y, x$2);
∂
3
∂x
2
∂y
sin(
x
) sin(
y
) sin(
z
)
=
−
sin(
x
) cos(
y
) sin(
z
)
Функция
diff
позволяет, например, построить график производ-
ной, но не позволяет вычислить значение производной в конкретной точ-
ке. Этот недостаток устраняется созданием дифференциального операто-
ра:
> D(y);
Diff(’y’(2), x) = D(y)(2);
Diff(’y’(1), x$2) = (D@@2)(y)(2);
x
→
1
−
1
x
2
d
dx
y
(2) =
3
4
d
2
dx
2
y
(1) =
1
4
Создадим оператор Лапласа
Δ =
∂
2
∂x
2
+
∂
2
∂y
2
+
∂
2
∂z
2
для описанной
выше функции
u
(
x, y, z
)
:
> Lu := (x, y, z) -> D[1$2](u)(x,y,z)+D[2$2](u)(x,y,z)
+D[3$2](u)(x,y,z):
Diff(u,x$2)+Diff(u,y$2)+Diff(u,z$2) = Lu(x, y, z);
∂
2
∂x
2
u
+
∂
2
∂y
2
u
+
∂
2
∂z
2
u
=
−
3 sin(
x
) sin(
y
) sin(
z
)
Создадим теперь оператор Лапласа для произвольной функции трех
переменных:
> L := u -> D[1$2](u)+D[2$2](u)+D[3$2](u):
Diff(u,x$2)+Diff(u,y$2)+Diff(u,z$2) = L(u)(x,y,z);
∂
2
∂x
2
u
+
∂
2
∂y
2
u
+
∂
2
∂z
2
u
=
−
3 sin(
x
) sin(
y
) sin(
z
)
47
Вычисление производных неявно заданных функций
Производная неявно заданной функции вычисляется с помощью
функции
implicitdiff
. Найдем производные
dy
dx
и
d
2
y
dx
2
, если функция
y
=
y
(
x
)
задана уравнением
x
2
+ 4
y
2
= 1
:
> F := x^2+4*y^2=1:
Diff(y, x) = implicitdiff(F, y, x);
Diff(y, x$2) = implicitdiff(F, y, x$2);
∂
∂x
y
=
−
x
4
y
∂
2
∂x
2
y
=
−
x
2
+ 4
y
2
16
y
3
Найдем производную
∂z
∂x
, если функция
y
=
y
(
x
)
,
z
=
z
(
x
)
задана си-
стемой уравнений
x
2
+
y
2
=
z
2
,
x
2
−
xy
+
y
2
= 1 :
> F1 := x^2+y^2=z^2:
F2 := x^2-x*y+y^2=1:
Diff(z, x) = implicitdiff({F1, F2}, {y, z}, z, x);
∂
∂x
z
=
x
2
−
y
2
z
(
x
−
2
y
)
Замена переменных
Чтобы выполнить замену переменных в выражении, содержащем
производные, используют функцию
dchange
из пакета
PDEtools
. В
уравнении
x
2
d
2
y
dx
2
+
x
dy
dx
+
y
= 0
выполним замену переменной
x
= e
t
:
> with(PDEtools):
eqn := x^2*(D@@2)(y)(x)+x*D(y)(x)+y(x)=0:
simplify(dchange(x=exp(t), eqn));
d
2
dt
2
y
(
t
)
+
y
(
t
) = 0
Выразим оператор Лапласа
Δ =
∂
2
∂x
2
+
∂
2
∂y
2
через полярные коорди-
наты:
48
> L := u -> D[1$2](u)+D[2$2](u):
tr := {x=r*cos(phi), y=r*sin(phi)}:
expand(dchange(tr, L(u)(x, y), {r, phi}), diff);
∂
2
∂φ
2
u
(
φ, r
)
r
2
+
∂
∂r
u
(
φ, r
)
r
+
∂
2
∂r
2
u
(
φ, r
)
Поиск экстремумов функций
Функция
extrema
служит для поиска локальных условных и без-
условных экстремумов функций:
> y := x -> x+1/x:
extrema(y(x), {}, x, ’s’);
s;
{−
2
,
2
}
{{
x
= 1
}
,
{
x
=
−
1
}}
> u := (x, y, z) -> sqrt(x^2+y^2)-z:
g1 := x^2+y^2=2:
g2 := x+y+z=4:
extrema(u(x, y, z), {g1, g2}, {x, y, z}, ’s’);
s;
{
√
2
−
2
,
√
2
−
6
}
{{
x
= 1
, y
= 1
, z
= 2
}
,
{
x
=
−
1
, y
=
−
1
, z
= 6
}}
К сожалению, функция
extrema
предназначена для решения задач
на условный экстремум с ограничениями только типа равенств.
Для поиска глобальных безусловных минимумов и максимумов
функций служат функции
minimize
и
maximize
:
> minimize(y(x), x=0..infinity);
2
> u := (x, y) -> x^2-4*x*y+2*y^2-2*x+2;
minimize(u(x, y), location);
3
,
{
[
{
x
=
−
1
, y
=
−
1
}
,
3]
}
> f := x -> x^4-4*x^2;
minimize(f(x), location);
−
4
,
{
[
{
x
=
√
2
}
,
−
4]
,
[
{
x
=
−
√
2
}
,
−
4]
}
49
4.4
Последовательности и ряды
Суммирование числовых последовательностей и рядов
В Maple для суммирования используются функции
sum
и
add
. При
вызове функции
sum
Maple пытается получить аналитическое выраже-
ние для суммы, тогда как функция
add
использует прямое суммирова-
ние. Поэтому для суммирования большого числа слагаемых целесообраз-
ноиспользовать функцию
sum
, а для суммирования небольшого числа
слагаемых — функцию
add
:
> add(i^2, i=1..10);
385
> sum(i^2, i=1..100000);
333338333350000
Для нахождения частных сумм, а также сумм бесконечных рядов
допустимо использовать только функцию
sum
:
> Sum(i^2, i=1..n-1) = sum(i^2, i=1..n-1);
n
−
1
i
=1
i
2
=
1
3
n
3
−
1
2
n
2
+
1
6
n
> Sum(1/i^2, i=1..infinity) = sum(1/i^2, i=1..infinity);
∞
i
=1
1
i
2
=
π
2
6
> Sum(1/2^i, i=1..infinity) = sum(1/2^i, i=1..infinity);
∞
i
=1
1
2
i
= 1
> Sum(Sum(i^2, i=1..m), m=1..n)=
factor(sum(sum(i^2, i=1..m), m=1..n));
n
m
=1
m
i
=1
i
2
=
n
(
n
+ 2)(
n
+ 1)
2
12
Для суммирования по списку значений рекомендуется использовать
функцию
add
:
> add(k^2, k = [1, 3, 5, 7, 9]);
165
50