Замена переменных в кратных интегралах

Вычислим якобианы для полярных и обобщенных полярных координат. Вычислим площадь фигуры, ограниченной линиями y^2-4*y+x^2 = 0 , y^2-8*y+x^2 = 0 , y = x/sqrt(3) , x = 0 .

>    restart;

Полярные координаты.

>    x:=r*cos(t);y:=r*sin(t);

x := r*cos(t)

y := r*sin(t)

Вычислим якобиан.

>    with(LinearAlgebra):

>    M:=Matrix([[diff(x,r),diff(x,t)],[diff(y,r),diff(y,t)]]);

M := Matrix(%id = 20103112)

>    J:=Determinant(M);

J := cos(t)^2*r+r*sin(t)^2

>    simplify(J,trig);

r

Обобщенные полярные координаты.

>    x:=a*r*cos(t);y:=b*r*sin(t);

x := a*r*cos(t)

y := b*r*sin(t)

Вычислим якобиан.

>    M:=Matrix([[diff(x,r),diff(x,t)],[diff(y,r),diff(y,t)]]);

M := Matrix(%id = 20445300)

>    J:=Determinant(M);

J := a*cos(t)^2*b*r+a*r*sin(t)^2*b

>    simplify(J,trig);

a*b*r

Для вычисления якобианов можно использовать функцию Jacobian пакета VectorCalculus.

>    with(VectorCalculus):

Warning, the names CrossProduct and DotProduct have been rebound

Warning, the assigned names <,> and <|> now have a global binding

Warning, these protected names have been redefined and unprotected: *, +, ., Vector, diff, int, limit, series

Полярные координаты.

>    (M,d):=Jacobian( [r*cos(t),r*sin(t)], [r,t], 'determinant' );

M, d := Matrix(%id = 20797108), cos(t)^2*r+r*sin(t)^2

>    simplify(d,trig);

r

Обобщенные полярные координаты.

>    (M,d):=Jacobian( [a*r*cos(t),b*r*sin(t)], [r,t], 'determinant' );

M, d := Matrix(%id = 20815964), a*cos(t)^2*b*r+a*r*sin(t)^2*b

>    simplify(d,trig);

a*b*r

>    restart;

Нарисуем заданную фигуру.

>    with(plots):

Warning, the name changecoords has been redefined

>    S:={y^2-4*y+x^2>0,y^2-8*y+x^2<0,y-x/sqrt(3)>0,x>0};

S := {0 < y^2-4*y+x^2, y^2-8*y+x^2 < 0, 0 < x, 0 < y-1/3*x*3^(1/2)}

>    implicitplot(S,x=0..5,y=0..8);

[Maple Plot]

Перейдем к полярным координатам.

>    x:=r*cos(t);y:=r*sin(t);

x := r*cos(t)

y := r*sin(t)

>    simplify(S);

{0 < r*cos(t), 0 < -r*(-r+4*sin(t)), -r*(-r+8*sin(t)) < 0, 0 < 1/3*r*(3*sin(t)-cos(t)*3^(1/2))}

>    with(student):

>    x:='x':y:='y':S:='S':

При переходе к полярным координатам под знаком интеграла появляется соответствующий якобиан.

>    Doubleint(1,x,y,S)=Doubleint(abs(r),r,t,S);

Int(Int(1,x = S .. ``),y = `` .. ``) = Int(Int(abs(r),r = S .. ``),t = `` .. ``)

Перепишем двойной интеграл в виде повторного.

>    Doubleint(abs(r),r,t,S)=Int(Int(abs(r),r=4*sin(t)..8*sin(t)),t=Pi/6..Pi/2);

Int(Int(abs(r),r = S .. ``),t = `` .. ``) = Int(Int(abs(r),r = 4*sin(t) .. 8*sin(t)),t = 1/6*Pi .. 1/2*Pi)

Вычислим интеграл с помощью функции int.

>    Int(Int(abs(r),r=4*sin(t)..8*sin(t)),t=Pi/6..Pi/2)=int(int(abs(r),r=4*sin(t)..8*sin(t)),t=Pi/6..Pi/2);

Int(Int(abs(r),r = 4*sin(t) .. 8*sin(t)),t = 1/6*Pi .. 1/2*Pi) = 4*Pi+3*3^(1/2)