Методичка Maple, Стребуляев
.pdf
|
|
|
|
|
|
|
|
1 |
|
|
|||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
2 2 |
2 dy dx |
||
|
|
|
|
|
||
|
|
|
|
(x y 5) |
|
|
|
0 |
|
0 |
|
|
|
|
|
|
|
|
> value(%);
20
Вычисление двойных интегралов путем перехода к полярным координатам:
>restart: with(student):
>A:=Doubleint(sqrt(x^2+y^2),x,y,Omega);
|
|
2 2 |
dx dy |
A := |
|
x y |
|
|
|
|
|
|
|
|
|
|
|
|
># При переходе к полярным используем r и phi;
>assume(r>0); # полагаем r>o;
>changevar({x=r*cos(phi),y=r*sin(phi)},A,[r,phi]);# заменяем переменные;
r~2 dr~ d
># задаем область Omega;
>Omega:=x^2+y^2<=a^2; x:=r*cos(phi);y:=r*sin(phi); Omega;#Область Omega в полярных координатах;
:= x2 y2 a2
x := r~ cos( )
y := r~ sin( )
r~2 cos( )2 r~2 sin( )2 a2
> simplify(%);
r~2 a2
> Int(Int(r^2,r=0..a),phi=0..2*Pi); value(%);
2 |
|
a |
|
|
|
r~ |
2 |
dr~ d |
|
|
|
|
||
0 |
|
0 |
|
|
41
2a3
3
Вычисление тройных интегралов:
>restart: with(student): with(plots):
>Tripleint(x*y^2*z^3,x,y,z,V);
|
|
|
x y |
2 |
z |
3 |
dx dy dz |
|
|
|
|
|
|||
|
|
V |
|
|
|
|
|
># Интеграл ограничен поверхностями z=xy,y=x,x=1,z=0;
>plot3d(x*y,x=0..1,y=0..1-x,axes=boxed);
> Tripleint(x*y^2*z^3,z=0..x*y,y=0..x,x=0..1); value(%);
|
1 |
x |
x y |
|
|
|
|
|
|
x y |
2 |
z |
3 |
dz dy dx |
|
|
|
|
|
|
|||
|
0 |
0 |
0 |
|
|
|
|
1
364
> Int(Int(Int(exp(-x^2-y^2-z^2),x=- infinity..infinity),y=-infinity..infinity),z=-infin- ity..infinity)=int(int(int(exp(-x^2-y^2-z^2),x=-in- finity..infinity),y=-infinity..infinity),z=-infin- ity..infinity);
|
|
|
|
|
|
( x2 y2 z2) |
|
|
|
e |
(3/2) |
||||
|
|
|
|
|
|
dx dy dz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> a(x,y,z):=1/(1+x+y+z)^(7/2);
42
a(x, y, z) := |
1 |
|
(1 x y z )(7/2) |
||
|
Вычисление тройных интегралов через цилиндрические координаты:
>restart: with(student): with(plots):
>Tripleint(sqrt(x^2+y^2),x,y,z,V);
|
|
|
2 2 |
dx dy dz |
|
|
|
x y |
|
|
|
|
|
|
|
|
V |
|
|
implicitplot3d(x^2+y^2=z^2,x=-1..1,y=- 1..1,z=0..1,grid=[15,15,15],axes=boxed);# Область V;
># implicitplot3d -используется для отображения заданных в неявном виде поверхностей, а опция grid задает число базовых точек по которым строится поверхность (по умолчанию rid=[10,10,10];
>
Tripleint(sqrt(x^2+y^2),x,y,z,V)=Int(Int(Int(sqrt(x^ 2+y^2),x=-sqrt(z^2-y^2)..sqrt(z^2-y^2)),y=- z..z),z=0..1);
|
|
|
|
1 |
z |
z2 y2 |
|
|
2 2 |
|
|
|
2 2 |
dx dy dz |
|||
|
|
|
x y |
dx dy dz |
|
|
x y |
|
|
|
|
|
|
|
|
|
|
|
|
V |
|
0 |
|
z |
z2 y2 |
|
> changevar({x=r*cos(phi),y=r*sin(phi)},Ihs(%),
[r,phi,z]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
2 |
|
r |
|
2 |
dr d dz |
|
||||
|
|
|
|
|||||||||||
Ihs |
|
|
|
|
|
|
dr d dz |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
V |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43
># Определяем границу области интегрирования;
>x:=r*cos(phi);
x := r cos( )
>y:=r*sin(phi);
y := r sin( )
> x^2+y^2=z^2;
r2 cos( )2 r2 sin( )2 z2
> simplify(%);
r2 z2
># Вычиcляем интеграл;
>Int(Int(Int(r^2,r=0..z),phi=0..2*Pi),z=0..1):= int(int(int(r^2,r=0..z),phi=0..2*Pi),z=0..1);
|
1 |
2 |
z |
|
|
|
|
r2 dr d dz := |
|||
|
|||||
|
|
|
|
6 |
|
|
0 |
0 0 |
1.6. Операции с рядами
Применение систем символьной математики особенно эффективно при решении одной из задач математического анализа — операций с рядами. В настоящем разделе рассматриваются задачи анализа числовых и функциональных рядов, а также разложения функций в ряды Тейлора, Фурье, асимптотическое разложение.
Числовые последовательности с заданным числом членов:
>restart:with(plots):
>sum(k^2,k=1..4);
30
> Sum(k^2,k=1..4)=evalf(sum(k^2,k=1..4));
4 |
|
|
|
|
|
k2 30. |
|||
|
k 1 |
|
|
|
> sum(k,k=1..n); |
|
|
|
|
|
(n 1)2 |
|
n |
1 |
|
|
|
|
|
2 |
|
|||
2 |
2 |
Бесконечные последовательности:
> restart:sum(-exp(-k),k=1..n);
44
|
|
( n 1) |
|
(-1) |
|
e |
|
(e-1) |
|
(-1) |
||||
|
e |
1 |
e |
1 |
> sum(-exp(-k),k=1..infinity);
1
1 e
> Sum(k*a^k,k)=evalf(sum(k*a^k,k));
ak (k a 1. k 1. a ) |
||
k ak |
(a 1.) |
2 |
k |
|
>
Sum(1/n!,n=1..infinity)=evalf(sum(1/n!,n=1..infinity));
1
n! 1.718281828
n 1
> Sum(n^2*exp(-sqrt(n)),n=1..5000)=evalf(sum(n^2*exp(- sqrt(n)),n=1..5000));
5000
n2 e( n ) 239.9949283
n 1
>
Sum(n!/n^sqrt(n),n=1..1000)=evalf(sum(n!/n^sqrt(n),n=1.
.500));
1000 n!
( n ) 0.5453177346 101074
n 1 n
Вычисление факториала числа:
3!;
6
> factorial(50);
304140932017133780436126081660647688443776415689605120000000000
Двойные суммы:
> Sum(Sum(k^2,k=1..m),m=1..N);
N |
|
m |
|
|
|
k |
|
|
|
|
2 |
|
|
|
|
m 1 k 1 |
|
> factor(simplify(value(%)));
45
N (N 2) (N 1)2
12
> subs(N=100,%);
8670850
Вычисление произведений членов последовательности:
>restart:
>Product(k^2,k=1..5)=product(k^2,k=1..5);
5
k2 14400
k 1
>Product(k^2,k)=product(k^2,k);
k2 (k)2
k
> product(a[k],k=1..6);
a1 a2 a3 a4 a5 a6
> f:=[1,2,3,4,5]; product(f[k],k=1..5);
f := [1, 2, 3, 4, 5]
120
> product(n+k,k=1..4);
(n 1) (n 2 ) (n 3 ) (n 4 )
>Product(2/i,i=1..infinity)=product(2/i,i=1..infinity);
2 0
1 i
i
Общая схема исследования сходимости числовых рядов. Знакопостоянные ряды:
> restart:with(linalg):
> U:=(n)->(1/(ln(n)^2))*cos(Pi*n^2/(n+1));
|
|
n2 |
|
|
cos |
|
|
|
|
||
|
|
|
|
U := n |
n 1 |
||
ln(n )2 |
|
> S:=Sum(U(n),n=2..infinity);
|
|
n2 |
|
|
|
cos |
|
|
|
|
|
|||
|
|
|
|
|
S := |
n 1 |
|||
ln(n ) |
2 |
|
||
n 2 |
|
|
46
Проверка необходимого условия сходимости:
> Limit(U(n),n=infinity)=limit(U(n),n=infinity);
|
n2 |
|
|
|
|
cos |
|
|
|
|
|
|
||
|
|
|
|
|
lim |
n 1 |
0 |
||
ln(n)2 |
|
|||
n |
|
|
Для определения сходимости используем признак Даламбера:
> if limit(U(n+1)/U(n),n=infinity)<1 then print(R-
сходится) else print (R- расходится) fi;
R-расходится
Знакопеременные ряды:
> restart:
> V:=(n)-> (-1)^n*sin(n)^2/n;
(-1)n sin(n)2 |
|
V := n |
n |
|
>S:=Sum(V(n),n=2..infinity);
(-1)n sin(n)2
S := n
n 2
Проверка необходимого условия сходимости:
> Limit(V(n),n=infinity)=limit(V(n),n=infinity);
lim |
(-1)n sin(n)2 |
0 |
|
n |
|||
n |
|
Построение графика частичных сумм ряда:
> H:=(k)->sum((-1)^n*sin(n)^2/n,n=1..k);
k |
(-1)n sin(n)2 |
H := k |
|
n |
|
n 1 |
|
> plot(H(k),k=1..400);
47
Построение графика частичных сумм ряда из модулей: > G:=(k)->abs(H(k));
G := k H(k)
> plot(G(k),k=1..400);
Нахождение суммы ряда:
> Sum((-1)^n*sin(n)^2/n,n=1..1000)=evalf(sum((-
1)^n*sin(n)^2/n,n=1..1000));
1000 (-1)n sin(n)2
n -0.3071095407
n 1
Функциональные ряды:
> restart:with(plots):
> U:=(x,n)->x^n/(1+x^(2*n));
U := (x, n) |
xn |
|
1 x(2 n ) |
||
|
> U(x,n+1)/U(x,n);simplify(%);
x(n 1) (1 x(2 n ) )
(1 x(2 n 2) ) xn
x x(1 2 n )
1 x( 2 n 2)
> Sum(U(x,n),n=1..infinity);
|
xn |
|
|
||
(2 n ) |
n 1 1 x
> assume(n>0); solve({abs(U(x,n+1)/U(x,n))<1.01},{x,n});
48
{x x, n~ n~}
>f:=(x,n)->abs(U(x,n+1)/U(x,n));
f := (x, n) |
|
U(x, 1 n ) |
|
U(x, n ) |
> plot3d(f(x,n),x=-
1..1,n=1..100,color=blue,thickness=2,axes=frame);
> x:=3;
Sum(U(x,n),n=1..infinity)=evalf(sum(U(x,n),n=1..infinity));
|
x := 3 |
|
|
3n~ |
|
|
|
0.4652589637 |
(2 n~ ) |
n~ 1 1 3
>
Степенные ряды :
>restart:
>a:=(n)->(n^n)/(n!);
a := n nn n!
> Sum(a(n)*x^n,n=1..infinity);
nn xn
n 1 n!
49
> R:=limit(a(n)/a(n+1),n=infinity); evalf(%); # область
сходимости -e^(-1) < x < e^(-1);
R := e(-1)
0.3678794412
Разложение функций в ряд Тейлора: Функция от одного переменного:
>restart: with(plots):with(linalg):
># Разложение в ряд Тейлора до члена с x^4 функции f(x);
>f:=(1+x+x^2)/(1-x+x^2);
f := |
1 x x2 |
|
1 x x2 |
||
|
> taylor(f,x=0);
1 2 x 2 x2 2 x4 2 x5 O(x6 )
># Разложение в окрестности x=0 до порядка остатка = 5(необязательный параметр);
>taylor(f,x=0,5);f1:=convert(%,polynom);f1;
1 2 x 2 x2 2 x4 O(x5 )
f1 := 1 2 x 2 x2 2 x4
1 2 x 2 x2 2 x4
> f1:=convert(%,polynom);# f1основная часть ряда; f1 := 1 2 x 2 x2 2 x4
> # Сравним насколько отличается исходная функция от ее
приближения рядом Тейлора; > plot([f,f1],x=-
1..1.2,color=[BLUE,PINK],linestyle=[SOLID,DASHDOT],ti tle="Функция и ее ряд Тейлора",titlefont=[HELVETICA,BOLD,10],legend=["функция","ряд Тейлора"],thickness=3);
50