Příklad 1

Vypočtěte plošný integrál přes danou plochu.

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

Warning, the name changecoords has been redefined

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

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

>    Doubleint(y,y,z,S)+Doubleint(x,x,z,S)+Doubleint(z,x,y,S);

Int(Int(y,y = S .. ``),z = `` .. ``)+Int(Int(x,x = S .. ``),z = `` .. ``)+Int(Int(z,x = S .. ``),y = `` .. ``)

Určíme vektorové pole pomocí integrandů jednotlivých integrálů.

>    vpole:=[y,x,z];

vpole := [y, x, z]

Plocha je zadána pomocí trojúhelníka ležícího v rovině

>    rov1:=x-y+z=1;

rov1 := x-y+z = 1

který je vymezen rovinami

>    rov2:=x>=0,y<=0,z>=0;

rov2 := 0 <= x, y <= 0, 0 <= z

Trojúhelník je orientován vektorem svírajícím ostrý úhel s kladnou poloosou z .

Nakreslíme obrázek

>    p1:=fieldplot3d(vpole,x=-2..2,y=-2..2,z=-2..2,
color=red,thickness=2,grid=[5,5,5]):

#  Vektorové pole ve 3D

>    p2:=implicitplot3d(x>=0,x=-2..2,y=-2..2,z=-2..2,
color=yellow):

>    p3:=implicitplot3d(y<=0,x=-2..2,y=-2..2,z=-2..2,
color=yellow):

>    p4:=implicitplot3d(z>=0,x=-2..2,y=-2..2,z=-2..2,
color=yellow):

>    p5:=implicitplot3d(x-y+z=1,x=-2..2,y=-2..2,z=-2..2,
color=green):

#  Nakreslení daných rovin v implicitném tvaru.

>    display({p1,p2,p3,p4,p5},axes=boxed,
orientation=[-60,45],style=patchnogrid);

[Maple Plot]

#  Parametr patchnogrid  zakazuje vykreslení triangulace na zadané ploše

Nyní přistupme k výpočtu integrálu. Rozdělme výše uvedený integrál na tři dílčí. Výpočet ukážeme na jednom z nich, ostatní budou spočteny analogicky.
Počítejme tedy integrál

>    epsilon[x]*Doubleint(y,y,z,S[yz]);

epsilon[x]*Int(Int(y,y = S[yz] .. ``),z = `` .. ``)

Plocha je v tomto případě silně regulární vzhledem k rovině yz .
Z rovnice roviny vyjádříme proměnnou
x .

>    h:=isolate(rov1,x);

h := x = 1+y-z

Průmětem dané roviny do roviny yz  dostaneme trojúhelník a tím i meze pro integraci.

>    ry:=y=-1..0;
rz:=z=0..y+1;

ry := y = -1 .. 0

rz := z = 0 .. 1+y

Pro lepší představu nakreslíme obrázek

>    implicitplot(y-z+1,y=-2..2,z=-2..2);

[Maple Plot]

Dále určíme normálový vektor, který má tvar [Maple OLE 2.0 Object] .

Spočteme požadované derivace

>    n:=[1,-diff(rhs(h),y),-diff(rhs(h),z)];

n := [1, -1, 1]

Protože normálový vektor svírá s kladnou poloosou z  ostrý úhel ( určeno pomocí třetí souřadnice normálového vektoru n ), má tato normála stejný směr jako je směr předepsané normály, proto klademe

>    epsilon[x]=1;

epsilon[x] = 1

Počítáme tedy integrál

>    i1:=1*Doubleint(y,rz,ry);

i1 := Int(Int(y,z = 0 .. 1+y),y = -1 .. 0)

>    value(%);

-1/6

Zbylé dva integrály spočteme analogicky

>    epsilon[y]*Doubleint(x,x,z,S[xz]);
epsilon[z]*Doubleint(z,x,y,S[xy]);

epsilon[y]*Int(Int(x,x = S[xz] .. ``),z = `` .. ``)

epsilon[z]*Int(Int(z,x = S[xy] .. ``),y = `` .. ``)

Plocha je v tomto případě silně regulární vzhledem k rovině xz , popř. xy .
Z rovnice roviny vyjádříme proměnnou
y , popř. z .

>    q:=isolate(rov1,y);
f:=isolate(rov1,z);

q := y = -1+x+z

f := z = 1-x+y

Průmětem dané roviny do roviny xz  dostaneme trojúhelník a tím i meze pro integraci.

>    qx:=x=0..1;
qz:=z=0..1-x;

qx := x = 0 .. 1

qz := z = 0 .. 1-x

Průmětem dané roviny do roviny xy  dostaneme trojúhelník a tím i meze pro integraci.

>    fx:=x=0..1;
fy:=y=-1+x..0;

fx := x = 0 .. 1

fy := y = x-1 .. 0

Normálové vektory jsou tvaru [Maple OLE 2.0 Object] .

 Spočteme požadované derivace

>    nq:=[-diff(rhs(q),x),1,-diff(rhs(q),z)];
nf:=[-diff(rhs(f),x),-diff(rhs(f),y),1];

nq := [-1, 1, -1]

nf := [1, -1, 1]

Protože normálový vektor svírá s kladnou poloosou z  tupý, resp. ostrý, úhel  ( určeno pomocí třetí souřadnice normálového vektoru n ), má normála opačný, resp.stejný směr, jako je směr předepsané normály, proto klademe

>    epsilon[y]=-1;
epsilon[z]=1;

epsilon[y] = -1

epsilon[z] = 1

Počítáme tedy integrály

>    i2:=-1*Doubleint(x,qz,qx);
i3:=1*Doubleint(rhs(f),fy,fx);

i2 := -Int(Int(x,z = 0 .. 1-x),x = 0 .. 1)

i3 := Int(Int(1-x+y,y = x-1 .. 0),x = 0 .. 1)

Výsledný integrál je dán součtem dílčích integrálů

>    value(i1+i2+i3);

-1/6

Výpočet pomocí knihovny VectorCalculus

>    Flux(VectorField(<y,x,z>,'cartesian[x,y,z]'),
Surface( <s,t,1-s+t>, s=0..1, t=-1+s..0));

-1/6

#  Orientace normály je implicitně nastavena.  

>   

TOPlist