Matematické výpočty v programu Maple
Ing. Vladimír Žák
email : zakyn@centrum.cz
web: http://www.vladimirzak.com
Soubor vznikl s podporou grantového projektu FRVŠ 3323/2006
Dvojný a trojný integrál
V tomto odstavci budou postupně vysvětleny příkazy pro zápis a výpočet dvojných a trojných integrálů. Jde o příkazy Doubleint , Tripleint , které jsou součástí rozšiřující knihovny student .
Ve všech předchozích příkazech lze místo funkce f užít výraz pro výpočet hodnoty této funkce. Pro výpočet hodnoty integrálu užijeme příkaz value .
> |
Dvojný integrál a jeho aplikace
Nyní uveďme několik příkladů.
Příklad 1
Vypočítejte dvojný integrál přes obdélník zadaný nerovnostmi 0<=x<=2, 0<=y<=1
> | restart:with(student): |
> | Doubleint(x^2+y^2,x=0..2,y=0..1); |
> | value(%); |
> |
> |
Příklad 2
Vypočítejte dvojný integrál přes oblast M
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Zadaný integrál
> | i2:=Doubleint(x^2+y^2,x,y,M); |
M je množina mezi dvěma křivkami
> | M:={y^2=2*x,y=x-4}; |
Nakreslíme oblast M
> | p1:=implicitplot(M[1],x=-1..10,y=-3..6): |
> | p2:=plot(rhs(M[2]),x=-1..10,y=-3..6): # pomocí rhs získáme pravou stranu rovnice |
> | display({p1,p2}); |
Nalezneme průsečíky křivek pomocí příkazu intercept
> | intercept(M[1],M[2],{x,y}); |
Výhodnější je integrovat nejprve dle x a pak dle y .
Pro získání mezí pro x použijeme příkaz isolate , který vyjádří danou proměnnou z rovnice.
> | omez:={y=-2..4,x=rhs(isolate(M[1],x))..rhs(isolate(M[2],x))}; |
Počítáme tedy integrál
> | i2u:=Doubleint(x^2+y^2,omez[2],omez[1]); |
Všimněte si, že pokud zadáme meze v opačném pořadí, změní se i pořadí integrace.
Vždy je nutné mít konstantní meze při poslední integraci! Ukažme to následujícími dvěma příkazy.
> | _i2u:=Doubleint(x^2+y^2,omez[1],omez[2]); |
Výpočet integrálu
> | value(_i2u); |
Spočítejme výslednou hodnotu, ze správně zadaného dvojného integrálu
> | value(i2u); |
> |
> |
Příklad 3
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Vypočítejte dvojný integrál přes trojúhelník daný 3 body
> | i3:=Doubleint(x*y,x,y,M); |
> | M:={[0,0],[1,1],[2,0]}; |
Nakreslíme oblast M
> | polygonplot(M); |
Pro lepší zobrazení integrační oblasti užijeme příkaz inequal , kde prvním parametrem je množina rovnic přímek, které procházejí danými body.
> | inequal({x>=y,x<=2-y},x=-0..2,y=0..2,optionsfeasible=(color =blue), optionsexcluded=(color=gray),optionsclosed=(color=yellow),thickness=2); |
Určíme meze integrace
> | omez:=x=y..2-y,y=0..1; |
Počítáme tedy integrál
> | i3u:=Doubleint(x*y,omez); |
Spočítáme výslednou hodnotu
> | value(i3u); |
> |
Příklad 4
Tento příklad ukazuje důležitost volby pořadí integrace
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Vypočítejme dvojný integrál přes zadanou oblast M
> | Doubleint(sin(y^2),x,y,M); |
> | M:=x=0,y=x,y=Pi; |
Nakreslíme oblast integrace M .
> | inequal({x>=0,y>=x,y<=Pi},x=-0..4,y=0..4,optionsfeasible=(color =blue), optionsexcluded=(color=gray),optionsclosed=(color=yellow),thickness=2); |
Počítáme tedy integrál
> | i4:=Doubleint(sin(y^2),y=rhs(M[2])..Pi,x=0..Pi); |
Tento integrál neumíme jednoduše vypočítat, protože
neumíme vyjádřit pomocí elementárních funkcí
Výsledkem je
> | value(%); |
Nyní zaměníme pořadí integrace. Nejprve budeme integrovat dle x .
> | i4u:=Doubleint(sin(y^2),x=0..lhs(M[2]),y=0..Pi); |
Tento integrál snadno spočítáme
> | value(%); |
Jak je z tohoto příkladu vidět, volba pořadí integrace je velmi důležitá.
> |
Substituce
ve dvojném integrálu se provádí pomocí příkazu
changevar( {relace} , Doubleint( f(x,y) , x, y, oblast), [nové proměnné])
relace uvádí vztah mezi původními a novými proměnnými. V případě jednoduchého integrálu byly transformovány i meze integrace. V případě vícenásobných integrálů nejsou meze integrace transformovány!
> |
Příklad 5
Počítejme dvojný integrál přes čtvrtkruh o poloměru r v I. kvadrantu.
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
> | i5:=Doubleint(sqrt(x^2+y^2),x,y,M); |
Vykreslíme oblast pro r = 1
> | implicitplot(x^2+y^2=1,x=0..1,y=0..1); # vykreslí funkci danou implicitně |
Použijeme substituci do polárních souřadnic. Oblast M v kartézských souřadnicích přejde po substituci v oblast N v polárních souřadnicích.
> | i5u:=changevar({x=u*cos(v),y=u*sin(v)},subs(M=N,i5),[u,v]); |
Jak již bylo řečeno, příkaz changevar v tomto případě neprovede transformaci mezí. Transformaci provedeme sami. Jde o čtvrtkruh, tzn. že pro nové proměnné platí 0<= u <= r , 0<= v <= Pi/2.
Tedy počítáme integrál
> | Doubleint(integrand(i5u),u=0..r,v=0..Pi/2); |
Výsledkem výpočtu je
> | value(%); |
> |
> |
Příklad 6
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Počítejme integrál přes oblast A .
> | i6:=Doubleint(1,x,y,A); |
Oblast A je omezena křivkami zadanými rovnicemi
> | omez:=[x^2+y^2=x,x^2+y^2=2*x,y=x,y=sqrt(3)*x]; |
Pro názornost oblast nakreslíme
> | p1:=implicitplot(omez[1],x=-1..2,y=-1..2,numpoints=5000): |
> | p2:=implicitplot(omez[2],x=-1..2,y=-1..2,numpoints=5000): |
> | p3:=plot(rhs(omez[3]),x=-1..2,y=-1..2): |
> | p4:=plot(rhs(omez[4]),x=-1..2,y=-1..2): p5:=textplot([0.5,0.70,"A"],align={ABOVE,RIGHT},color=blue, font=[TIMES,BOLD,20]): |
> | display({p1,p2,p3,p4,p5}); |
Použijeme substituci do polárních souřadnic. Oblast A v kartézských souřadnicích po substituci přejde v oblast B v polárních souřadnicích. Proto bylo použito příkazu subs .
> | s:=x=u*cos(v),y=u*sin(v); |
> | i6u:=changevar({s},subs(A=B,i6),[u,v]); |
Je třeba transformovat meze. Dosadíme rovnice transformace do rovnic křivek
> | o1:=simplify(subs(s,omez[1])); |
> | o2:=simplify(subs(s,omez[2])); |
Dále z rovnic přímek získáme informace o úhlu pomocí směrnice
> | o3:=solve(tan(x)=1,x); |
> | o4:=solve(tan(x)=sqrt(3),x); |
Počítáme tedy integrál (protože jsme dále neupravovali meze, sami vykrátíme u v o1 a o2 )
> | i6p:=Doubleint(u,u=rhs(o1)/u..rhs(o2)/u,v=o3..o4); |
Výsledek spočítáme pomocí
> | value(i6p); |
> |
Příklad 7
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Počítejte obsah elipsy
> | el:=(x/a)^2+(y/b)^2<=1; assume(a>0,b>0): |
Nakreslíme obrázek pro pevně zvolené parametry a=3, b=2
> | implicitplot((x/3)^2+(y/2)^2=1,x=-3..3,y=-3..3,scaling=constrained,numpoints=5000); |
Zavedeme zobecněné polární souřadnice
> | s:=x=a*u*cos(v),y=b*u*sin(v); |
Určíme meze pro novou proměnnou u dosazením do rovnice elipsy
> | simplify(subs(s,el)); |
Integrační meze pro v , 0<=v<=2*Pi . Po provedení substituce a dosazením mezí dostáváme
> | changevar({s},Doubleint(1,x,y,M),[u,v]); |
> | i7:=Doubleint(integrand(%),u=0..1,v=0..2*Pi); |
Obsah elipsy je roven
> | value(i7); |
> |
Příklad 8
Vypočtěte integrál
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
> | i8:=Doubleint(x,x,y,M); |
kde M je kruh
> | kruh:=x^2+y^2<=2*r*x; assume(r>0); |
Tento dvojný integrál spočteme v polárních souřadnicích.
Kruh M má střed na ose x a dotýká se y v počátku, což plyne z dané nerovnice doplněním na součet úplných čtverců.
> | completesquare(x^2+y^2-2*r*x<=0,x); # doplnění na součet úplných čtverců |
Nakreslíme oblast M pro pevně zvolené r=1
> | implicitplot(x^2+y^2=2*x,x=-1..2,y=-1..1,numpoints=600); |
Zavedeme polární souřadnice. Oblasti M zadané v kartézských souřadnicích odpovídá v polárních souřadnicích oblast N .
> | s:=x=rho*cos(phi),y=rho*sin(phi); |
> | i8u:=changevar({s},subs(M=N,i8),[rho,phi]); |
Nerovnice kruhu se transformuje v nerovnici
> | subs(s,kruh); |
> | simplify(%); |
Po vykrácení dostáváme
> | rho<=2*r*cos(phi); |
Určíme meze pro integraci
> | meze:=rho=0..rhs(%),phi=-Pi/2..Pi/2; |
Nakreslíme obrázek pro r=1
> | plot(2*1*cos(phi),phi=-Pi/2..Pi/2,scaling=constrained); |
Počítáme tedy integrál
> | assume(rho>0); |
> | i8u:=Doubleint( integrand(i8u),meze); |
Postupnou integrací dostáváme
> | value(%); |
> |
> |
Příklad 9
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Stanovme obsah kardioidy o rovnici
. Kardioida je křivka patřící mezi epicykloidy, kdy pevná i kotálející se kružnice mají stejný poloměr.
Počítáme integrál
> | i9:=Doubleint(1,x,y,M); |
Nakreslíme obrázek pro a=1
> | polarplot(1+cos(phi),phi=0..2*Pi); |
Zavedeme substituci do polárních souřadnic
> | s:=x=rho*cos(phi),y=rho*sin(phi); |
> | i9u:=changevar({s},subs(M=N,i9),[rho,phi]); # oblasti M zadané v kartézských souřadnicích odpovídá # v polárních souřadnicích oblast N |
Integrační meze jsou
> | meze:=rho=0..a*(1+cos(phi)),phi=0..2*Pi; |
Počítáme integrál
> | i9u:=Doubleint(integrand(i9u),meze); |
Postupnou integrací dostaneme
> | assume(a>0); |
> | value(%); |
> |
Objem tělesa
Nechť
g(x,y)
,
h(x,y)
jsou spojité funkce na oblasti
M
a platí
uvnitř obrazce
M
. Označme
. Pak
T
je těleso a jeho objem definujeme
.
Příklad 10
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete objem koule
T
, určené nerovností
. Z rovnice kulové plochy
vypočítáme
a volíme
> | g:=-sqrt(r^2-x^2-y^2): h:=sqrt(r^2-x^2-y^2): |
Obě funkce jsou definovány na kruhu
M
:
, který získáme také kolmým průmětem do roviny
xy
. Dosazením do vzorce pro výpočet objemu dostáváme
> | i10:=Doubleint((h-g),x,y,M); |
Po transformaci do polárních souřadnic dostáváme
> | s:=x=rho*cos(phi),y=rho*sin(phi); |
> | i10u:=changevar({s},subs(M=N,i10),[rho,phi]); |
kde N je oblast v polárních souřadnicích ( odpovídá oblasti M zadané v kartézských souřadnicích ). Nové meze po transformaci
> | meze:=rho=0..r,phi=0..2*Pi; |
Počítáme tedy integrál
> | Doubleint(integrand(i10u),meze); |
Postupnou integrací dostaneme
> | assume(rho>0): |
> | value(%); |
> | assume(r>0): |
> | simplify(%); |
> |
Příklad 11
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete objem tělesa ohraničeného rovinami
.
Nejprve nakresleme obrázek
> | implicitplot3d({x+y+z-1,x=0,y=0,z=0},x=-1..2,y=-1..2,z=-1..2); |
Průmětem tělesa do roviny
xy
je trojúhelník
M
ohraničený přímkami
. Těleso je zdola ohraničeno rovinnou
xy
, proto
> | g:=0; |
horní plochu tvoří rovina
> | h:=1-x-y; |
Dosazením do vzorce pro výpočet objemu dostaneme
> | i11:=Doubleint(h-g,y=0..1-x,x=0..1); |
Postupnou integrací dostáváme
> | i11=value(%); |
> |
> |
Příklad 12
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Vypočtěme objem tělesa, jehož hranici tvoří souřadnicové roviny a rovina
.
Nakresleme obrázek pro
> | implicitplot3d({x/2+y/2+z/2-1,x=0,y=0,z=0},x=-1..2,y=-1..2,z=-1..2); |
Průmětem tělesa je v rovině
xy
trojúhelník
. Dolní plochou je
> | g:=0; |
Horní plochou je
> | h:=c*(1-x/a-y/b); |
Dosazením do vzorce pro výpočet objemu dostáváme
> | i12:=Doubleint(h-g,y=0..b*(1-x/a),x=0..a); |
Integrací dostáváme
> | i12=value(%); |
> |
> |
Příklad 13
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Stanovme objem tělesa ohraničeného souřadnicovými rovinami, rovinou
a parabolickým válcem
. Dále platí
.
Nakresleme obrázek pro
> | implicitplot3d({x/2+y/2-1,x=0,y=0,z=0,z+x^2-4},x=0..2,y=0..2,z=-1..4, axes=boxed); |
Průmětem tělesa do roviny
xy
je trojúhelník
. Dolní plochou je rovina xy a horní plochou je parabolická plocha válce.
> | g:=0; |
> | h:=c^2-x^2; |
Dosazením do vzorce pro výpočet objemu dostáváme
> | Doubleint(h-g,y=0..b*(1-x/a),x=0..a); |
Integrací dostáváme
> | value(%); |
> |
První momenty obrazce M vzhledem k ose
Těžiště obrazce
Kvadratické momenty obrazce M vzhledem k osám x , y , z definujeme
,
,
Vzdálenost od osy z v naše případě znamená vzdálenost od počátku.
> |
Příklad 14
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete první moment obdélníka o stranách a , b vzhledem k přímce, na které leží strana a . Umístíme ho do souřadnicového systému, jeho hranici tedy tvoří přímky o rovnicích.
> | rce:=x=0,x=a,y=0,y=b; |
Nakreslíme obrázek pro a=2 , b=1
> | implicitplot({x,x-2,y,y-1},x=0..3,y=0..2,thickness=2); |
Protože strana a leží na ose x , počítáme
> | U[x](M):=Doubleint(y,x,y,M); |
Dosadíme hranice oblasti M do integrálu
> | Doubleint(y,x=0..a,y=0..b); |
Spočítáme integrál
> | value(%); |
Tento jednoduchý příklad slouží k odvození rozměru prvního momentu. V analytické geometrii rozměry neuvažujeme a můžeme použít i rovnice, které nejsou rozměrově správné. Vypočtené integrály však znamenají pouze hodnoty prvních momentů, které mají vždy rozměr
, odpovídá-li jednotce 1 m.
> |
> |
Příklad 15
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určeme souřadnice těžiště homogenního obrazce
M
, který je dán podmínkami
.
Nejdříve si obrazec nakresleme pro r1=1 , r2=2 .
> | implicitplot({2*1*x-x^2-y^2,x^2+y^2-2*2*x},x=0..4,y=-2..2); |
Z obrázku je patrné, že
. Pro určení druhé souřadnice těžiště musíme spočítat obsah
> | P:=Doubleint(1,x,y,M); |
a první moment
> | My:=Doubleint(x,x,y,M); |
Zavedeme polární souřadnice
> | s:=x=rho*cos(phi),y=rho*sin(phi); |
> | P:=changevar({s},subs(M=N,P),[rho,phi]); |
> | My:=changevar({s},subs(M=N,My),[rho,phi]); |
Obrazec M se zobrazí na obrazec N , pro který platí
> | meze:=rho=2*r1*cos(phi)..2*r2*cos(phi),phi=-Pi/2..Pi/2; |
Dosazením dostaneme
> | P:=Doubleint(integrand(P),meze); |
> | My:=Doubleint(integrand(My),meze); |
Spočteme hodnoty integrálů
> | assume(rho>0); |
> | P:=value(P); |
> | My:=value(My); |
Dosazením do vzorce pro výpočet těžiště dostaneme
> | x[T]:=simplify(My/P); |
> |
> |
Příklad 16
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete těžiště obrazce
M
ohraničeného křivkami
.
Nakresleme obrázek
> | plot([0,1-x^2],x=-2..2,y=-1..1,scaling=constrained,thickness=2); |
Spočteme obsah obrazce. Počítáme tedy integrál
> | P:=Int(1-x^2,x=-1..1); |
> | P:=value(%); |
Dále spočteme první momenty. Jde o integrály
> | Ux:=Doubleint(y,x,y,M); |
> | Uy:=Doubleint(x,x,y,M); |
Dosadíme meze integrace
> | Ux:=Doubleint(y,y=0..1-x^2,x=-1..1); |
> | Ux:=value(%); |
> | Uy:=Doubleint(x,x=-sqrt(1-y)..sqrt(1-y),y=0..1); |
> | Uy:=value(%); |
Dosazením do vzorců pro výpočet těžiště dostáváme
> | x[T]:=Uy/P; |
> | y[T]:=Ux/P; |
> |
> |
Příklad 17
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete kvadratický moment kruhu vzhledem k přímce procházející bodem na obvodu kolmo k rovině kruhu. Za střed
S
kruhu o poloměru
r
a zvolme bod
(r,0)
. Hranicí kruhu
M
je kružnice
. Hledaný kvadratický moment je
.
Nakreslíme obrázek pro r=1
> | rce:=(x-r)^2+y^2=r^2; |
> | implicitplot((x-1)^2+y^2-1,x=0..2,y=-1..1); |
Výpočet provedeme transformací do polárních souřadnic
> | s:=x=rho*cos(phi),y=rho*sin(phi); |
Transformací kružnice dostaneme
> | subs({s},rce); |
> | simplify(%); |
Vyřešíme rovnici vzhledem k
> | solve(%,rho); |
Protože
, plyne z nerovnosti
omezení
.
> | meze:=rho=0..2*r*cos(phi),phi=-Pi/2..Pi/2; |
Dosazením do integrálu
> | Ix:=Doubleint((x^2+y^2),x,y,M); |
dostaneme integrál
> | Ixu:=changevar({s},subs(M=N,Ix),[rho,phi]); |
Obrazec N v polárních souřadnicích odpovídá obrazci M v kartézských.
Nakreslíme obrázek pro r=2
> | plot(2*2*cos(phi),phi=-Pi/2..Pi/2); |
Dosazením mezí dostaneme
> | Ixu:=Doubleint(integrand(Ixu),meze); |
Integrací spočteme hodnotu kvadratického momentu
> | assume(rho>0,r>0); map(value,%); |
> | value(%); |
Jednotkou kvadratického momentu je
.
> |
> |
Trojný integrál a jeho aplikace
Nyní uveďme několik příkladů
Příklad 1
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Vypočítejte
, kde těleso
T
je ohraničeno plochami
.
Plochou je část kuželové plochy s vrcholem v počátku. Nakresleme obrázek
> | plot3d({sqrt(x^2+y^2),1},x=-1..1,y=-1..1,axes=normal,orientation=[15,60]); |
Z obrázku je patrné, že těleso T je rotační kužel. Dolní plochou je daná kuželová plocha, proto
> | g:=sqrt(x^2+y^2); |
a horní plochou je rovina
> | h:=1; |
Obrazec
M
získáme průmětem tělesa
T
do roviny
xy
. Jde o kruh, jehož hranici získáme řešením soustavy rovnic
.
Počítáme tedy integrál
> | Tripleint((x^2+y^2)*z,x,y,z,T); |
který je dle Fubiniovy věty roven
> | Doubleint(Int((x^2+y^2)*z,z=g..h),x,y,M); |
Integrací podle z dostaneme
> | iz:=value(Int((x^2+y^2)*z,z = (x^2+y^2)^(1/2) .. 1)); |
Počítáme tedy integrál
> | i:=Doubleint(iz,x,y,M); |
Zavedeme polární souřadnice a obrazec M zadaný v kartézských souřadnicích přejde na obrazec N v polárních souřadnicích.
> | s:=x=rho*cos(phi),y=rho*sin(phi); |
> | i:=changevar({s},subs(M=N,i),[rho,phi]); |
Omezení na obrazec N jsou
> | meze:=rho=0..1,phi=0..2*Pi; |
Po dosazení dostáváme
> | Doubleint(integrand(i),meze); |
Integrací obdržíme
> | value(%); |
S tímto příkladem si přímo poradí i systém Maple. Stačí si uvědomit, že těleso
T
je množinou bodů
definovanou nerovnostmi
.
Přímým výpočtem tedy dostáváme
> | Tripleint( (x^2+y^2)*z,z=sqrt(x^2+y^2)..1,y=-sqrt(1-x^2)..sqrt(1-x^2),x=-1..1); |
> | value(%); |
> |
> |
Příklad 2
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Vypočítejte
, kde
T
je osmina koule
v prvním oktantu.
Nakresleme obrázek
> | p1:=implicitplot3d(x^2+y^2+z^2-1,x=-2..2,y=-2..2,z=-2..2,numpoints=2000): |
> | p2:=implicitplot3d({z=0,y=0,x=0},x=-1..2,y=-1..2,z=-1..2,color=blue): |
> | display({p1,p2},orientation=[20,75],axes=framed); |
Průmětem tělesa
T
do roviny
xy
dostaneme čtvrtkruh
. Dolní plocha je rovina
xy
> | g:=0; |
horní plochou je část kulové plochy
, proto
> | h:=sqrt(1-x^2-y^2); |
Počítáme tedy
> | Tripleint((x+y)*z,x,y,z,T)=Doubleint(Int((x+y)*z,z=g..h),x,y,M); |
Integrací dle z dostaneme
> | iz:=int((x+y)*z,z=g..h); |
Dostáváme tedy
> | Doubleint(iz,y=0..sqrt(1-x^2),x=0..1); |
Výsledkem je
> | value(%); |
Přímým výpočtem dostáváme
> | meze:=z=0..sqrt(1-x^2-y^2),y=0..sqrt(1-x^2),x=0..1; |
> | Tripleint((x+y)*z,meze); |
> | value(%); |
> |
> |
Transformace do cylindrických (válcových) souřadnic .
Transformace je určena rovnicemi
Jakobián této transformace je roven
.
> |
Příklad 3
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Transformací do cylindrických souřadnic vypočítejte
, kde těleso
T
je ohraničeno plochami
. Jeho průmět do roviny
xy
je kruh
.
Nakresleme obrázek
> | plot3d({1,sqrt(x^2+y^2)},x=-2..2,y=-2..2,orientation=[20,80]); |
Těleso
T
je množina bodů
takových, že
. Při transformaci přejde na množinu
U
bodů
takových, že
.
Nakresleme obrázek
> | implicitplot3d({z-1,z-rho,phi,phi-2*Pi,rho},rho=0..1, phi=-0.5..2*Pi+0.5,z=0..1,axes=boxed); |
Počítáme integrál
> | i:=Tripleint((x^2+y^2)*z,x,y,z,T); |
Transformací dostaneme integrál
> | s:=x=rho*cos(phi),y=rho*sin(phi),z=z; |
> | changevar({s},subs(T=U,i),[rho,phi,z]); |
který je roven
> | Doubleint(Int(integrand(%),z=rho..1),rho,phi,N); |
Integrací podle z obdržíme
> | value(Int(rho^2*z*abs(rho),z = rho .. 1)); |
Počítáme tedy integrál
> | Doubleint(%,rho=0..1,phi=0..2*Pi); |
Integrací dostaneme
> | value(%); |
I v tomto případě lze integrál počítat přímo
> | Tripleint((x^2+y^2)*z,z=sqrt(x^2+y^2)..1,y=-sqrt(1-x^2)..sqrt(1-x^2),x=-1..1); |
> | value(%); |
> |
> |
Objem tělesa T se vypočítá pomocí vzorce
> |
Příklad 4
> | restart:with(student):with(plots): |
Warning, the name changecoords has been redefined
Určete objem rotačního tělesa
, kde
je spojitá na
a platí
na
.
Transformací do cylindrických souřadnic dostaneme těleso
U
ohraničené plochami
. Pravoúhlým průmětem je obrazec
.
Nakresleme obrázek pro
> | implicitplot3d({rho=z,rho=0,z=1,z=2,phi=0,phi=2*Pi}, rho=-1..2,phi=-1..2*Pi+1,z=0..3,axes=framed,orientation=[30,70]); |
Počítáme integrál
> | i:=Tripleint(1,x,y,z,T); |
Transformací
> | s:=x=rho*cos(phi),y=rho*sin(phi),z=z; |
dostaneme
> | iu:=changevar({s},subs(T=U,i),[rho,phi,z]); |
Dosazením mezí
> | meze:=rho=0..f(z),phi=0..2*Pi,z=a..b; |
dostaneme
> | Tripleint(integrand(iu),meze); |
Integrací dostaneme
> | assume(f(z)>0): |
> | value(%); |
> |
> |
Transformace do sférických (kulových) souřadnic
Transformace je určena rovnicemi
Jakobián této transformace je roven
.
> |
Příklad 5
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Vypočítejte
, kde
T
je určeno
.
Nakresleme obrázek pro r=1
> | implicitplot3d({x^2+y^2+z^2-1,x=0,y=0,z=0},x=0..1,y=0..1,z=0..1,orientation=[15,112]); |
Těleso
T
je osmina koule ležící v prvním oktantu, tj. množina bodů
takových, že
. Při transformaci přechází do množiny bodů
takových, že
.
> | meze:=rho=0..r,upsilon=0..Pi/2,phi=0..Pi/2; |
Integrál
> | i5:=Tripleint(z,x,y,z,T); |
je tedy po transformaci
> | s:=x=rho*sin(upsilon)*cos(phi),y=rho*sin(upsilon)*sin(phi),z=rho*cos(upsilon); |
roven
> | changevar({s},subs(T=U,i5),[rho,upsilon,phi]); |
Těleso T bylo transformací převedeno na těleso U s výše určenými omezeními.
Do integrálu dosadíme meze
> | Tripleint(integrand(%),meze); |
Výsledkem je
> | value(%); |
> |
> |
Příklad 6
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Vypočítejte
, kde
T
je koule
.
Integrand je spojitý všude s výjimkou bodu (0,0, a ), který však leží mimo kouli. Zavedením sférických souřadnic přejde koule T na kvádr U s následujícími omezeními
> | meze:=rho=0..r,upsilon=0..Pi,phi=0..2*Pi; |
Počítáme tedy integrál
> | i:=Tripleint(1/sqrt(x^2+y^2+(z-a)^2),x,y,z,T); |
který po transformaci
> | s:=x=rho*sin(upsilon)*cos(phi),y=rho*sin(upsilon)*sin(phi),z=rho*cos(upsilon); |
přejde na
> | changevar({s},subs(T=U,i),[rho,upsilon,phi]); |
Dosadíme výše určené meze
> | i:=Tripleint(integrand(%),meze); |
Vypočítáme tento integrál
> | assume(a>0,rho>0,r>0,a>r); |
> | # value(i); # zakomentováno kvůli možnému nedostatku paměti počítače při výpočtu, tzn. ukončení # kernelu |
Systém Maple neumí tento integrál spočítat, my však ano.
Integrujme nejdříve podle
, což je možné díky konstantním mezím. Dostáváme tedy integrál
> | iu:=Tripleint(integrand(%),meze[2],meze[1],meze[3]); |
Do vnitřního integrálu zavedeme substituci
> | s1:=a^2-2*rho*cos(upsilon)*a+rho^2; |
> | iu1:=changevar({s1=t^2},iu,[t,rho,phi]); |
Warning, Computation of new ranges not implemented
Zjednodušíme integrand
> | integr:=simplify(integrand(iu1)); |
Dosadíme meze a integrál spočteme
> | meze1:=t=abs(rho-a)..abs(rho+a),meze[1],meze[3]; |
> | Tripleint(integr,meze1); |
> | value(%); |
> |
> |
První momenty tělesa T vzhledem k souřadnicovým rovinám xy , yz , xz definujeme
Souřadnice těžiště
> |
Příklad 7
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete první moment kvádru o hranách
a
,
b
,
c
vzhledem k rovině, ve které leží jeho strany
a
,
b
. Jeho hrany vytvářejí roviny
. Protože hrany
a
,
b
leží v rovině
xy
, počítáme
> | Uxy:=Tripleint(z,x,y,z,T); |
Integrál je roven
> | Doubleint(Int(z,z=0..c),x,y,M); |
kde M je obrazec, který získáme kolmým průmětem kvádru do roviny xy .
Integrací dle z dostaneme
> | int(z,z=0..c); |
Počítáme integrál
> | Doubleint(%,x=0..a,y=0..b); |
> | value(%); |
Tento jednoduchý příklad slouží k určení jednotky prvních momentů. Odpovídá-li matematická jednotka jednotce 1
m
, je rozměr prvních momentů
.
> |
Příklad 8
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete souřadnice těžiště osminy koule
.
Nejdříve spočítáme objem
> | V:=Tripleint(1,x,y,z,T); |
Zavedeme sférické souřadnice, těleso T přejde transformací v těleso U ,
> | s:=x=rho*sin(upsilon)*cos(phi),y=rho*sin(upsilon)*sin(phi),z=rho*cos(upsilon); |
> | iu:=changevar({s},subs(T=U,V),[rho,upsilon,phi]); |
Dosadíme meze integrace
> | meze:=rho=0..1,upsilon=0..Pi/2,phi=0..Pi/2; |
> | Tripleint(integrand(iu),meze); |
> | V:=value(%); |
Dále počítejme
> | Uzy:=Tripleint(x,x,y,z,T); |
Opět zavedeme sférické souřadnice
> | changevar({s},subs(T=U,%),[rho,upsilon,phi]); |
Dosazením mezí dostáváme
> | Tripleint(integrand(%),meze); |
> | Uzy:=value(%); |
Použitím vzorce pro výpočet těžiště dostaneme
> | x[T]:=Uzy/V; |
Z důvodů symetrie nemusíme další momenty počítat a hledané těžiště je
> | T:=[3/8,3/8,3/8]; |
> |
> |
Příklad 9
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Nalezněte souřadnice těžiště přímé úseče rotačního paraboloidu
.
Nakresleme obrázek pro a=1
> | implicitplot3d(x^2+y^2+z-1,x=-1..2,y=-1..2,z=-1..2,axes=framed); |
Z názoru je zřejmě
Počítáme tedy
, tzn. následující integrály
> | V:=Tripleint(1,x,y,z,T); |
> | Uxy:=Tripleint(z,x,y,z,T); |
Zavedeme válcové souřadnice
> | s:=x=rho*cos(phi),y=rho*sin(phi),z=z; |
a tedy těleso T přejde v U s omezeními
> | meze:=z=0..a^2-rho^2,rho=0..a,phi=0..2*Pi; |
Počítáme tedy integrály
> | V:=changevar({s},subs(T=U,V),[rho,phi,z]); |
> | Uxy:=changevar({s},subs(T=U,Uxy),[rho,phi,z]); |
Dosazením dostaneme
> | V:=Tripleint(integrand(V),meze); |
> | Uxy:=Tripleint(integrand(Uxy),meze); |
Určíme hodnoty integrálů
> | assume(rho>0,a>0); |
> | V:=value(V); |
> | Uxy:=value(Uxy); |
Souřadnice těžiště je
> | z[T]:=Uxy/V; |
> |
Objemy těles
> |
Příklad 10
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Určete objem tělesa
T
, jehož hranici tvoří části daných ploch: rovin
a parabolických válcových ploch
Nakreslíme obrázek
> | implicitplot3d({z=0,z=9,x^2-y,x^2+3*y-4},x=-1..1,y=0..2,z=-1..10); |
Omezení jsou
> | meze:=y=x^2..1/3*(4-x^2),x=-1..1,z=0..9; |
Počítáme integrál
> | Tripleint(1,meze); |
> | value(%); |
> |
> |
Příklad 11
> | restart:with(plots):with(student): |
Warning, the name changecoords has been redefined
Stanovme objem tělesa určeného podmínkami
.
Nakresleme obrázek pro k=r=1
> | implicitplot3d({z-sqrt(x^2+y^2),x^2+y^2-2*y,z},x=-1..2,y=-1..2,z=-1..2, orientation=[15,50]); |
Těleso
T
má za dolní plochu půdorysnu, za horní plochu část kuželové plochy
. Zavedeme cylindrické souřadnice a těleso
T
přejde v těleso
U
s těmito omezeními
> | meze:=z=0..k*rho,rho=0..2*r*sin(phi),phi=0..Pi; |
Počítáme integrál
> | V:=Tripleint(1,x,y,z,T); |
Transformací
> | s:=x=rho*cos(phi),y=rho*sin(phi),z=z; |
dostaneme
> | changevar({s},subs(T=U,V),[rho,phi,z]); |
Dosadíme meze a integrál spočítáme
> | V:=Tripleint(integrand(%),meze); |
> | assume(r>0,rho>0,k>0); |
> | value(%); |
> |
> |
> |
> |