Matlab  |  Mathcad  |  Maple  |  Mathematica  |  Statistica  |  Другие пакеты Поиск по сайту
Internet-класс  |  Примеры  |  Методики  |  Банк задач  |  Консультации & Форум  |  Download  |  Ссылки  |  Конкурсы
Научно-практический журнал "Exponenta Pro. Математика в приложениях". Вышел 1/2004 номер журнала
 
Типовой расчет по курсу:  "Математический анализ" на тему: "Криволинейные и поверхностные интегралы. Теория поля"
выполнил: Перекрестов Иван
МГТУ им. Баумана, 2003

archive.gif (75 bytes) Архив разработки (11 Кб, Maple 7)

 

задача 1 ~ задача 2 ~ задача 3 ~ задача 4

 

ЗАДАЧА 1.

Найти массу кривой с.

mu  = rho ( phi ), rho  = cos(2 phi ), 0   phi <= Pi/4  .

>    restart;
>    rho(phi):=cos(2*phi);

rho(phi) := cos(2*phi)

>    with(plots):
Coord:=coordplot(polar,[0..1,0..Pi/4],view=[0..1,0.. 0.8],linestyle=[2,4]):
Pl:=plot([rho(phi),phi,phi=0..Pi/4],coords=polar,ytickmarks=3,thickness=5,color=GREEN):

 

>    plots[display]([Coord,Pl],scaling=constrained,axes=frame,title="рис.1 - Кривая с");

[Maple Plot]

>    M=Int(rho(phi)*sqrt(rho(phi)^2+diff(rho(phi),phi)^2),phi=0..Pi/4);
algsubs(cos(2*phi)^2+sin(2*phi)^2=1,%);value(%);

M = Int(cos(2*phi)*(cos(2*phi)^2+4*sin(2*phi)^2)^(1/2),phi = 0 .. 1/4*Pi)

M = Int(cos(2*phi)*(1+3*sin(2*phi)^2)^(1/2),phi = 0 .. 1/4*Pi)

M = 1/2+1/12*3^(1/2)*ln(2+3^(1/2))

наверх

ЗАДАЧА 2.

Дана поверхность sigmaплотности mu  из которой вырезается пов-ть z. Найти координаты центра тяжести.

sigma  : x^2+y^2+z^2 = 2, z <= x^2+y^2, 0 <= z, mu = 1

>    restart:with(student):
>    with(plots):with(plottools):

>    S1:=sphereplot(1,theta=0..2*Pi,phi=Pi/4..Pi/2,color=RED,scaling=constrained,style=patchnogrid,axes=normal):
S2:=cylinderplot(z,theta=0..2*Pi,z=0..sqrt(2)/2,color=BLUE):
#S3:=cylinder([0,0,0],1,0.001,style=patch,color=red):
#S4:=cylinder([0,0,0],1/sqrt(2),-0.01,style=patchnogrid,color=blue):
plots[display]([S1,S2],orientation=[165,61],title="рис.2 - Заданная поверхность",lightmodel= 'light3');

[Maple Plot]

>    C1:=plot([sin(x),cos(x),x=0..2*Pi],color=red,filled=true):
C2:=plot([1/sqrt(2)*sin(x),1/sqrt(2)*cos(x),x=0..2*Pi],color=white,filled=true):
plots[display]([C2,C1],scaling=constrained,labels=[x,y],title="рис.3 - Проекция на плоскость XY");

 

[Maple Plot]

>    mu:=1;
x^2+y^2+z^2=2;

mu := 1

x^2+y^2+z^2 = 2

>    with(student):

>    z(x,y):=solve(x^2+y^2+z^2=2,z)[1];

z(x,y) := (-x^2-y^2+2)^(1/2)

>    M=4*Doubleint('mu'*(sqrt(1+diff(z(x,y),x)^2+diff(z(x,y),y)^2)),y=sqrt(1-x^2)..sqrt(2-x^2),x=0..1);simplify(%);

M = 4*Int(Int(mu*(1+1/(-x^2-y^2+2)*x^2+1/(-x^2-y^2+2)*y^2)^(1/2),y = (1-x^2)^(1/2) .. (2-x^2)^(1/2)),x = 0 .. 1)

M = 4*2^(1/2)*Int(Int((-1/(x^2+y^2-2))^(1/2),y = (1-x^2)^(1/2) .. (2-x^2)^(1/2)),x = 0 .. 1)

Перейдём к полярной системе координат:

>    changevar({x=rho*sin(phi),y=rho*cos(phi)},Doubleint(op([2,3,1,1],%),x,y),[rho,phi]):

>    M=4*sqrt(2)*Doubleint(op([1,1],%),rho=sqrt(2)..1,phi=0..Pi/2);value(%);assign(%):

M = 4*2^(1/2)*Int(Int((-1/(-2+rho^2))^(1/2)*abs(rho),rho = 2^(1/2) .. 1),phi = 0 .. 1/2*Pi)

M = -2*2^(1/2)*Pi

Статический момент инерции:

>    Мxy:=4*sqrt(2)*Doubleint(rho,rho=sqrt(2)..1,phi=0..Pi/2);Mxy:=value(%);

`Мxy` := 4*2^(1/2)*Int(Int(rho,rho = 2^(1/2) .. 1),phi = 0 .. 1/2*Pi)

Mxy := -2^(1/2)*Pi

Т.к. у - ось симметрии объекта, то x[c] = 0, y[c] = 0  . Найтём z[c] .

>    z[c]:='M_xy'/'M';
z[c]:=simplify(Mxy/M);
`Ответ:  ` || C(0,0,z[c]);

z[c] := M_xy/M

z[c] := 1/2

`Ответ:  C`(0,0,1/2)

наверх

ЗАДАЧА 3.

Найти поток векторного поля F через часть плоскости G, ограничеснного координатными плоскостями и расположенными в соответствующей октанте. Сторона плоскости определяется нормалью, образующей острый угол с осью ОХ.

F = (x+1)*i+(z+1)*j, x-y/2+z/3 = 1

>    with(plots):with(plottools):
>    restart;

Уравнение в отрезках

>    G:=x-y/2+z/3=1;

G := x-1/2*y+1/3*z = 1

>    i :=arrow( [0,0,0],[1, 0, 0], .1, .2, .3, cylindrical_arrow,color=BLUE):
j :=arrow( [0,0,0],[0, 1, 0], .1, .2, .3, cylindrical_arrow,color=RED):
k :=arrow( [0,0,0],[0, 0, 1], .1, .2, .3, cylindrical_arrow,color=PINK):

>    F:=fieldplot3d([x+1,z+1,0],x=0..1,y=-2..0,z=0..3,arrows=SLIM,grid=[5,7,15]):

>    pol:=[[solve(subs(y=0,z=0,G),x),0,0], [0,solve(subs(x=0,z=0,G),y),0], [0,0,solve(subs(x=0,y=0,G),z)]]:
poly:=polygon(pol,color=GREEN):

>    plots[display]([i,j,k,poly,F],axes=normal,style=patchnogrid,title="рис.4 - Поток через плоскость", orientation=[38,58],labels=[x,y,z],scaling=constrained,tickmarks=[2,4,3]);

[Maple Plot]

Рассмотрим поток вектора F в проекциях на координатные плоскости:

>    f:=transform((x,y,z)->[x,y]):
>    XY_field:=fieldplot([x+1,y+1],x=0..1,y=-2..0,arrows=SLIM,color=x):
XY:=plots[display]([f(poly),XY_field],labels=[x,y],title="рис.5 - Проекция на XOY",tickmarks=[2,3]):

>    f:=transform((x,y,z)->[y,z]):

>    YZ_field:=fieldplot([x+1,0],x=-2..0,y=0..3,arrows=SLIM,color=x):

>    YZ:=plots[display]([f(poly),YZ_field],labels=[y,z],title="рис.6 - Проекция на YOZ",tickmarks=[2,3]):

>    f:=transform((x,y,z)->[x,z]):
XZ_field:=fieldplot([x+1,0],x=0..1,y=0..3,arrows=SLIM,color=x):
XZ:=plots[display]([f(poly),XZ_field],labels=[x,z],title="рис.7 - Проекция на XOZ",tickmarks=[2,3]):

>    display(array(1..3,[XY,YZ,XZ]));

[Maple Plot]

Составим уравнения прямых в проекции на плоскость:

>    y(x):=2*x-2;z(y):=3+3/2*y;z(x):=3-3*x;

y(x) := 2*x-2

z(y) := 3+3/2*y

z(x) := 3-3*x

Выразим x через y и z.

>    isolate(G,x);

x = 1+1/2*y-1/3*z

>    with(student):

Поток P вектора F через заданную поверхность:

>    P=Int(Int(0,y=2*x-2..0),x=0..1)-Int(Int(z+1,z=0..3-3*x),x=0..1)+Int(Int(op(2,isolate(G,x))+1,z=0..3+3/2*y),y=-2..0);
P=Int(int(0,y=2*x-2..0),x=0..1)-Int(int(z+1,z=0..3-3*x),x=0..1)+Int(int(op(2,isolate(G,x))+1,z=0..3+3/2*y),y=-2..0);
P=convert(0,symbol)-convert(3,symbol)+convert(4,symbol);
P=int(int(0,y=2*x-2..0),x=0..1)-int(int(z+1,z=0..3-3*x),x=0..1)+int(int(op(2,isolate(G,x))+1,z=0..3+3/2*y),y=-2..0);

P = Int(Int(0,y = 2*x-2 .. 0),x = 0 .. 1)-Int(Int(z+1,z = 0 .. 3-3*x),x = 0 .. 1)+Int(Int(2+1/2*y-1/3*z,z = 0 .. 3+3/2*y),y = -2 .. 0)

P = Int(0,x = 0 .. 1)-Int(1/2*(3-3*x)^2+3-3*x,x = 0 .. 1)+Int(6+3*y+1/2*y*(3+3/2*y)-1/6*(3+3/2*y)^2,y = -2 .. 0)

P = 1

наверх

ЗАДАЧА 4.

Дано векторное поле b  = (   3*z+x^3 )   i  + ( 4+z-y^3 )   j  + (   x+3*y+z^3 )  k

   Необходимо:

- найти дивергенцию векторного поля b . Исследовать расположение источников и стоков векторных линий поля.

- найти поток векторного поля b через поверхность T.

- найти ротор векторного поля b .

- вычислить циркуляцию векторного поля b вдоль замкнутой линии L 2-мя способами.

--->  преобразовав линейный интеграл в определённый с использованием уравнений линий L.

---> преобразовав линейный интеграл в повторный с помощью теоремы Стокса

- выяснить, как изменится циркуляция поля вдоль контура L, если изменить расположение контура в данном поле.

- найти max значение циркуляции для данного контура.

 L - контр прямоугольника А(0,0,2), B(1,0,2), C(1,1,1), D(0,1,1)

T: -1   z <= -x^2-y^2

>    restart:

>    with(LinearAlgebra):with(student):with(VectorCalculus):

>    fieldplot3d([(x,y,z)->3*z+x^3,(x,y,z)->4+z-y^3,(x,y,z)->x+3*y+z^3],-1..1,-1..1,-1..1,arrows=SLIM,axes=normal,labels=[x,y,z],title="рис.8 - Трёхмерное векторное поле",orientation=[-106,61],axes=frame);

[Maple Plot]

>    SetCoordinates( cartesian[x,y,z] ):
b := VectorField( <3*z+x^3,z+4-y^3,x+3*y+z^3>, 'cartesian'[x,y,z] );

b := Vector(%id = 15698912)

Найдём дивергенцию векторного поля.

>    'div(b)'=Divergence(b);div:=op(2,%):

div(b) = 3*x^2-3*y^2+3*z^2

>    F:=fieldplot3d([(x,y,z)->3*z+x^3,(x,y,z)->4+z-y^3,(x,y,z)->x+3*y+z^3],-1..1,-1..1,-1..0,arrows=SLIM,axes=normal,labels=[x,y,z],color=BLACK,thickness=2):
P1:=plot3d(-x^2-y^2,x=-1..1,y=-1..1,style=patchnogrid):
P2:=cylinder([0,0,-1], 1,0.001):
plots[display]([P1,P2,F],view=[-1..1,-1..1,-1..0],axes=normal,tickmarks=[2,2,3],title="рис.9 - Поток векторного поля");

[Maple Plot]

Найдём поток поля через поверхность Т воспользовавшись формулой Остроградского.

  [Maple OLE 2.0 Object]

>    4*Tripleint(div,y=0..sqrt(1-x^2),x=0..1,z=-1..0)=
value(4*Tripleint(div,y=0..sqrt(1-x^2),x=0..1,z=-1..0));

4*Int(Int(Int(3*x^2-3*y^2+3*z^2,y = 0 .. (-x^2+1)^(1/2)),x = 0 .. 1),z = -1 .. 0) = Pi

Найдём ротор векторного поля.

>    `rot(b)`=Matrix(3,3,[[e[x],e[y],e[z]],[d/dx,d/dy,d/dz],[b[1],b[2],b[3]]]);
rot:=collect(Determinant(op(2,%)),[e[x],e[y],e[z],dx,dy,dz]):
`rot(b)`=VectorField(<subs(e[x]=1,e[y]=0,e[z]=0,rot),
                      subs(e[x]=0,e[y]=1,e[z]=0,rot),
                      subs(e[x]=0,e[y]=0,e[z]=1,rot)>, 'cartesian'[x,y,z]);
`rot(b)`=Curl(b);

`rot(b)` = Matrix(%id = 4717388)

`rot(b)` = Vector(%id = 15416564)

`rot(b)` = Vector(%id = 15416564)

`rot(b)` = Vector(%id = 4452824)

>    F3:=fieldplot3d([(x,y,z)->3*z+x^3,(x,y,z)->4+z-y^3,(x,y,z)->x+3*y+z^3],0..1,0..1,1..2,arrows=SLIM,labels=[x,y,z]):
A1:= arrow([0,0,2], [.5,0,2], .01, .08, .2, cylindrical_arrow,color=green):
A2:= arrow([1,0,2], [1,.5,1.5], .01, .08, .2, cylindrical_arrow,color=green):
A3:= arrow([1,1,1], [.5,1,1], .01, .08, .2, cylindrical_arrow,color=green):
A4:= arrow([0,1,1], [0,.5,1.5], .01, .08, .2, cylindrical_arrow,color=green):
T:=textplot3d([0.5,0.5,1.5,`контур L`],color=BLACK,font=[COURIER,BOLD,18]):
A:=textplot3d([0,0,2,`А`],color=BLACK,font=[COURIER,BOLD,18],align=ABOVE):
B:=textplot3d([1,0,2,`В`],color=BLACK,font=[COURIER,BOLD,18],align=ABOVE):
C:=textplot3d([1,1,1,`С`],color=BLACK,font=[COURIER,BOLD,18],align=ABOVE):
d:=textplot3d([0,1,1,`D`],color=BLACK,font=[COURIER,BOLD,18],align=ABOVE):
P:=curve([[0,0,2],[1,0,2],[1,1,1],[0,1,1],[0,0,2]],color=green,thickness=3):
l1:=line([0,0,1],[0,0,2],linestyle=DASH,color=black,thicknes=5):
l2:=line([1,0,1],[1,0,2],linestyle=DASH,color=black,thicknes=5):
l3:=line([0,0,1],[1,0,1],linestyle=DASH,color=black,thicknes=5):
l4:=line([0,1,1],[0,0,1],linestyle=DASH,color=black,thicknes=5):
l5:=line([1,1,1],[1,0,1],linestyle=DASH,color=black,thicknes=5):
plots[display]([P,F3,seq(A||i,i=1..4),T,A,B,C,d,seq(l||i,i=1..5)],
                title="рис.10 -циркуляция вдоль контура L",orientation=[-106,61],axes=frame);

[Maple Plot]

Найдём циркуляцию поля вдоль амкнутого контура A[0,0,2]->B[1,0,2]->C[1,1,1]->D[0,1,1].

>    A:=[0,0,2];
B:=[1,0,2];
C:=[1,1,1];
d:=[0,1,1];# D - занят дифф.оператором =(

A := [0, 0, 2]

B := [1, 0, 2]

C := [1, 1, 1]

d := [0, 1, 1]

>    print(`Циркуляция поля вдоль АВ.`);
Int(b[1],x=A[1]..B[1])=int(b[1],x=A[1]..B[1]);
Ц[AB]:=subs(z=2,int(b[1],x=A[1]..B[1]));
print(`Циркуляция поля вдоль ВС.`);
Int(b[3],z=B[3]..C[3])=int(b[3],z=B[3]..C[3]);
Int(b[2],y=B[2]..C[2])=int(b[2],y=B[2]..C[2]);
Ц[BC]:=subs(x=1,y=0,op(2,%%))+subs(x=1,z=1,op(2,%));
print(`Циркуляция поля вдоль CD.`);
Int(b[1],x=C[1]..d[1])=int(b[1],x=C[1]..d[1]);
Ц[CD]:=subs(y=1,z=1,op(2,%));
print(`Циркуляция поля вдоль DA.`);
Int(b[2],y=d[2]..A[2])=int(b[2],y=d[2]..A[2]);
Int(b[3],z=d[3]..A[3])=int(b[3],z=d[3]..A[3]);
Ц[DA]:=subs(z=1,op(2,%%))+subs(x=0,y=0,op(2,%));
print(`Циркуляция поля вдоль А->В->C->D.`);
Ц[ABCD]='Ц[AB]'+'Ц[BC]'+'Ц[CD]'+'Ц[DA]';
Ц[ABCD]=Ц[AB]+Ц[BC]+Ц[CD]+Ц[DA];

`Циркуляция поля вдоль АВ.`

Int(3*z+x^3,x = 0 .. 1) = 3*z+1/4

`Ц`[AB] := 25/4

`Циркуляция поля вдоль ВС.`

Int(x+3*y+z^3,z = 2 .. 1) = -x-3*y-15/4

Int(z+4-y^3,y = 0 .. 1) = z+15/4

`Ц`[BC] := 0

`Циркуляция поля вдоль CD.`

Int(3*z+x^3,x = 1 .. 0) = -3*z-1/4

`Ц`[CD] := -13/4

`Циркуляция поля вдоль DA.`

Int(z+4-y^3,y = 1 .. 0) = -z-15/4

Int(x+3*y+z^3,z = 1 .. 2) = x+3*y+15/4

`Ц`[DA] := -1

`Циркуляция поля вдоль А->В->C->D.`

`Ц`[ABCD] = `Ц`[AB]+`Ц`[BC]+`Ц`[CD]+`Ц`[DA]

`Ц`[ABCD] = 2

Преобразуем линейный интегралл к повторному с помощью ф-лы Стокса:
[Maple OLE 2.0 Object]

>    Normalize(<B[1]-A[1],B[2]-A[2],B[3]-A[3]> &x <C[1]-B[1],C[2]-B[2],C[3]-B[3]>,Euclidean):
n:=VectorField(<%[1],%[2],%[3]>, 'cartesian'[x,y,z] );
rot=Del &x b;
DA:=<A[1]-d[1],A[2]-d[2],A[3]-d[3]>;AB:=<B[1]-A[1],B[2]-A[2],B[3]-A[3]>;
S:=VectorNorm(DA,2,conjugate=true)*VectorNorm(AB,2,conjugate=true);
'Ц'='S'*'`(rot(b),n)`';
'Ц'=S*Del &x b . n;

n := Vector(%id = 15698992)

rot = Vector(%id = 15699072)

DA := Vector(%id = 15699152)

AB := Vector(%id = 15699232)

S := 2^(1/2)

`Ц` = S*`(rot(b),n)`

`Ц` = 2

Максимальная циркуляция будет достигнута при значении угла между ротором и норалью равным 0.

В этом случае циркуляция равна произведению модулей ротора и площади контура.

>    'Ц'[max]='S'*'`rot(b)`'*'n';
'Ц'[max]=S*Norm(Del &x b,2,conjugate=true)*Norm(n,2,conjugate=true);

`Ц`[max] = S*`rot(b)`*n

`Ц`[max] = 4

наверх

Карта сайта | На первую страницу | Поиск |О проекте |Сотрудничество |
Exponenta Pro | Matlab.ru

Наши баннеры


Copyright © 2000-2003. Компания SoftLine. Все права защищены.

Дата последнего обновления информации на сайте: 11.05.04
Сайт начал работу 1.09.00

Программное обеспечение Microsoft, Macromedia, VERITAS, Novell, Borland, Symantec, Oracle и др.