aplikace.mws

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

Aplikace integrálu

Tento odstavec se věnuje aplikacím Riemannova integrálu

Obsah rovinných obrazců

Nechť g(x) a h(x)  jsou funkce spojité na intervalu [Maple OLE 2.0 Object]   a platí [Maple OLE 2.0 Object]  na   [Maple OLE 2.0 Object] . Označme [Maple OLE 2.0 Object] . Pak obsah obrazce M  je roven [Maple OLE 2.0 Object] .

Poznámky:

V této části budeme používat příkazy pro vykreslování grafů funkcí, proto je vhodné nejdříve prostudovat kapitolu Základy grafického zpracování .

>   

Příklad 1

Určeme obsah obrazce, který je ohraničen parabolami.

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

Warning, the name changecoords has been redefined

Paraboly jsou zadány rovnicemi

>    p1:=3*y=x^2-2;
p2:=y=x^2-4/3*x-6;

p1 := 3*y = x^2-2

p2 := y = x^2-4/3*x-6

Vykreslíme graf funkcí

>    implicitplot({p1,p2},x=-4..5,y=-7..6);

[Maple Plot]

Určíme průsečíky obou parabol

>    intercept(p1,p2);

{x = -2, y = 2/3}, {x = 4, y = 14/3}

Vyjádříme y  z obou rovnic

>    h:=isolate(p1,y);

h := y = 1/3*x^2-2/3

>    g:=isolate(p2,y);

g := y = x^2-4/3*x-6

Vytvoříme argument pro dosazení do vzorce

>    F:=unapply(rhs(h-g),x);

F := x -> -2/3*x^2+16/3+4/3*x

Počítáme tedy integrál

>    i1:=Int(F(x),x=-2..4);

i1 := Int(-2/3*x^2+16/3+4/3*x,x = -2 .. 4)

Obsah tedy je

>    value(%);

24

>   

Příklad 2

Určete obsah obrazce, který je ohraničen osou y a semikubickou parabolou.

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

Warning, the name changecoords has been redefined

Rovnice semikubické paraboly

>    p:=[y^2=(a-x)^3];

p := [y^2 = (a-x)^3]

>    #assume(a>0);

Pokus o vykreslení funkce dané implicitně. Je vidět, že systém Maple má určité problémy. Pro nakreslení grafu je samozřejmě nutné zvolit pevné a .

>    implicitplot(y^2=(2-x)^3,x=0..3,y=-10..10);

[Maple Plot]

Rozdělíme předepsanou funkci na dvě

>    h:=sqrt((a-x)^3);

h := ((a-x)^3)^(1/2)

>    g:=-sqrt((a-x)^3);

g := -((a-x)^3)^(1/2)

Vykreslíme graf funkcí h , g  pro pevně zvolené a=10 .

>    p1:=plot(sqrt((10-x)^3),x=-2..10):

>    p2:=plot(-sqrt((10-x)^3),x=-2..10):

>    display({p1,p2});

[Maple Plot]

Určíme průsečík s osou x , tj. y=0 . Příkaz intercept  spočítá průsečík dvou křivek.

>    intercept(h=0,y=0);

{y = 0, a = x, x = x}

Počítáme tedy integrál

>    i2:=Int(h-g,x=0..a);

i2 := Int(2*((a-x)^3)^(1/2),x = 0 .. a)

Výsledný obsah

>    value(i2);

4/5*a*(a^3)^(1/2)

>   

Příklad 3

Určete obsah obrazce ohraničeného obloukem cykloidy a osou x .

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

Warning, the name changecoords has been redefined

Rovnice cykloidy

>    rce:=[r*(t-sin(t)),r*(1-cos(t))];
#assume(0<=t,t<=2*Pi);

rce := [r*(t-sin(t)), r*(1-cos(t))]

Nakreslení grafu. Rovnice jsou děleny v argumentu r , abychom dostali konkrétní vyjádření.

>    plot([rce[1]/r,rce[2]/r,t=0..2*Pi],scaling=constrained);

[Maple Plot]

Užijeme vzorce pro výpočet obsahu obrazce ohraničeným funkcemi danými parametricky

>    P(M)=Int(psi(t)*D(phi(t)),t=alpha..beta);

P(M) = Int(psi(t)*D(phi(t)),t = alpha .. beta)

Dosazením dostáváme

>    i3:=Int(rce[2]*diff(rce[1],t),t=0..2*Pi);

i3 := Int(r^2*(1-cos(t))^2,t = 0 .. 2*Pi)

Spočteme obsah

>    value(i3);

3*Pi*r^2

>   

>   

Příklad 4

Určete obsah obrazce 1.kvadrantu ohraničeného Archimedovou spirálou a přímkami

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

Warning, the name changecoords has been redefined

Omezení na plochu

>    p:=rho=a*phi;      # archimedova spirála
phi=Pi/3;          # přímka
phi=Pi/2;          # přímka

p := rho = a*phi

phi = 1/3*Pi

phi = 1/2*Pi

Vykreslení plochy

>    pl1:=polarplot(phi,phi=0..4/3*Pi):

>    pl2:=plot(Pi/3*x,x=0..1):

>    display({pl1,pl2});

[Maple Plot]

Dosadíme-li do odpovídajícího intergrálu dostaneme

>    i4:=1/2*Int(a^2*phi^2,phi=Pi/3..Pi/2);

i4 := 1/2*Int(a^2*phi^2,phi = 1/3*Pi .. 1/2*Pi)

Výsledná plocha je

>    value(%);

19/1296*a^2*Pi^3

>   

>   

Délka křivky

Při výpočtu délky l  křivky C  vycházíme ze vztahů

>   

Příklad 1

Vypočítejte délku grafu funkce ln  mezi danými body

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

Warning, the name changecoords has been redefined

Zadané body

>    body:=[sqrt(3),ln(sqrt(3))],[sqrt(8),ln(sqrt(8))];

body := [3^(1/2), 1/2*ln(3)], [2*2^(1/2), ln(2*2^(1/2))]

Počítáme délku křivky mezi dvěma vodorovnými přímkami

>    p1:=plot(ln(x),x=0..10,color=[blue],legend=`ln(x)`):
p2:=plot([1/2*ln(3),ln(2*2^(1/2))],legend=[`1/2*ln(3)`,`ln(2*2^(1/2))`]):
display({p1,p2});

[Maple Plot]

Dosadíme do prvního vzorce

>    i1:=Int(sqrt(1+(D(ln)(x))^2),x=body[1][1]..body[2][1]);

i1 := Int((1+1/(x^2))^(1/2),x = 3^(1/2) .. 2*2^(1/2))

Upravíme na

>    i1p:=Int(sqrt(1+x^2)/x,x=body[1][1]..body[2][1]);

i1p := Int((1+x^2)^(1/2)/x,x = 3^(1/2) .. 2*2^(1/2))

Zavedeme substituci

>    changevar(1+x^2=u,i1p,u);

Int(1/2*u^(1/2)/(-1+u),u = 4 .. 9)

Délka křivky je rovna

>    d1:=value(%);

d1 := 1-1/2*ln(2)+1/2*ln(3)

Přímý výpočet integrálu

>    d2:=value(i1p);

d2 := 1-arctanh(1/3)+arctanh(1/2)

Zjednodušíme a převedeme na členy s ln

>    simplify(convert(d2,ln));

1-1/2*ln(2)+1/2*ln(3)

>   

>   

Příklad 2

Vypočítejte délku asteroidy

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

Warning, the name changecoords has been redefined

Parametrické rovnice jsou

>    f:=[a*cos(x)^3,a*sin(x)^3];

f := [a*cos(x)^3, a*sin(x)^3]

a proto použijeme druhý vzorec

Graf asteroidy pro a=1

>    plot([cos(x)^3,sin(x)^3,x=-Pi..Pi]);

[Maple Plot]

Konstanta a>0

>    assume(a,positive);

Křivka je symetrická, proto budeme počítat pouze integrál

>    i2:=4*Int(sqrt(Diff(f[1],x)^2+Diff(f[2],x)^2),x=0..Pi/2);

i2 := 4*Int((Diff(a*cos(x)^3,x)^2+Diff(a*sin(x)^3,x)^2)^(1/2),x = 0 .. 1/2*Pi)

Výsledek je

>    simplify(value(%));

6*a

>   

>   

Příklad 3

Délka oblouku cykloidy na <0,2*Pi>

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

Warning, the name changecoords has been redefined

Parametrizace

>    f:=[a*(x-sin(x)),a*(1-cos(x))];

f := [a*(x-sin(x)), a*(1-cos(x))]

Nechť a>0

>    assume(a>0);

Vykreslíme graf funkce

>    plot([(t-sin(t)),(1-cos(t)),t=0..2*Pi],scaling=constrained);

[Maple Plot]

Počítáme integrál

>    i3:=Int(sqrt(Diff(f[1],x)^2+Diff(f[2],x)^2),x=0..2*Pi);

i3 := Int((Diff(a*(x-sin(x)),x)^2+Diff(a*(1-cos(x)),x)^2)^(1/2),x = 0 .. 2*Pi)

Délka křivky je

>    value(%);

8*a

>   

>   

Příklad 4

Vypočítejte délku kardioidy zadané v polárních souřadnicích rovnicí

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

Warning, the name changecoords has been redefined

>    rce:=1-cos(theta);

rce := 1-cos(theta)

pro [Maple OLE 2.0 Object]  .

Nakreslíme obrázek

>    polarplot(rce,theta=0..2*Pi);

[Maple Plot]

Použijeme třetí vzorec. Po dosazení dostáváme

>    Int(sqrt(rce^2+(Diff(rce,theta)^2)),theta=0..2*Pi);

Int(((1-cos(theta))^2+Diff(1-cos(theta),theta)^2)^(1/2),theta = 0 .. 2*Pi)

Spočteme délku této křivky

>    value(%);

8

>   

Příklad 5

Vypočítejte délku Archimedovy spirály

>    rce:=a*theta;

rce := a*theta

pro  a>0  od počátku do konce prvního závitu.

Nakresleme obrázek pro a=1

>    polarplot(theta,theta=0..2*Pi);

[Maple Plot]

Použijeme třetí vzorec. Po dosazení dostáváme

>    Int(sqrt(rce^2+(Diff(rce,theta)^2)),theta=0..2*Pi);

Int((a^2*theta^2+Diff(a*theta,theta)^2)^(1/2),theta = 0 .. 2*Pi)

Délka prvního závitu spirály je

>    assume(a>0):
simplify(value(%));

1/2*a*(2*Pi*(4*Pi^2+1)^(1/2)+ln(2*Pi+(4*Pi^2+1)^(1/2)))

>   

>   

Objem rotačního tělesa

Při výpočtu objemu [Maple OLE 2.0 Object]  tělesa V  vycházíme ze vztahů

>   

Příklad 1

Hledáme objem koule o poloměru r . Kouli dostaneme rotací poloviny kruhu [Maple OLE 2.0 Object]

kolem osy [Maple OLE 2.0 Object] .

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

Warning, the name changecoords has been redefined

Rovnice poloroviny kruhu

>    f:=sqrt(r^2-x^2);

f := (r^2-x^2)^(1/2)

Nakresleme obrázek pro r=1

>    plot(sqrt(1-x^2),x=-2..2,scaling=constrained);

[Maple Plot]

Dosadíme do prvního vztahu

>    Int(Pi*f^2,x=-r..r);

Int(Pi*(r^2-x^2),x = -r .. r)

Výsledný objem je roven

>    value(%);

4/3*Pi*r^3

>   

>   

Příklad 2

Vypočítejte objem tělesa V  vzniklého rotací množiny A  ležící mezi křivkami

>    restart:with(plots):

Warning, the name changecoords has been redefined

>    rce:=y=x^2,y=2*x;

rce := y = x^2, y = 2*x

Nakreslíme obrázek

>    plot([x^2,2*x],x=-2..3);

[Maple Plot]

Odečteme objem vzniklý rotací křivky y=x^2  od objemu vyniklého rotací křivky y=2*x . Dosazením do prvního vztahu dostáváme

>    Int(Pi*(2*x)^2,x=0..2)-Int(Pi*(x^2)^2,x=0..2);

Int(4*Pi*x^2,x = 0 .. 2)-Int(Pi*x^4,x = 0 .. 2)

Výsledný objem je roven

>    value(%);

64/15*Pi

>   

>   

Příklad 3

Hledáme objem koule o poloměru r . Kouli dostaneme rotací rovinné množiny [Maple OLE 2.0 Object]  kolem osy [Maple OLE 2.0 Object] .

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

Warning, the name changecoords has been redefined

>    rce:=sqrt(r^2-y^2);

rce := (r^2-y^2)^(1/2)

Dosazením do druhého vztahu dostaneme

>    V:=2*Pi*Int(y*(rce-(-rce)),y=0..r);

V := 2*Pi*Int(2*y*(r^2-y^2)^(1/2),y = 0 .. r)

Spočteme nyní výsledný objem, který je pochopitelně roven objemu v příkladu 1

>    assume(r>0);
value(%);

4/3*Pi*r^3

>   

Příklad 4

Vypočítejte objem tělesa V  vzniklého rotací kolem osy [Maple OLE 2.0 Object]  množiny ohraničené křivkami [Maple OLE 2.0 Object]  (viz. obrázek 1). Zavedeme novou soustavu souřadnic u , v  takovou, že u=-y , v=x . Oblast B  je pak z hlediska výpočtu stejná jako na obrázku 2 a rotační těleso vzniká její rotací  kolem osy [Maple OLE 2.0 Object]  .

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

Warning, the name changecoords has been redefined

Nakreslíme obrázky

>    p1:=plot([0,sqrt(1+x^2)],x=0..2):
p2:=plottools[line]([1,0],[1,2]):
p3:=textplot([0.5,0.5,`B`]):
display({p1,p2,p3},title=`Obrázek 1`);

[Maple Plot]

>    p1:=plot(1,u=-2..2):
p2:=implicitplot(u+sqrt(1+v^2),u=-2..2,v=0..1.5,color=blue):
p3:=textplot([-0.5,0.5,`B`]):
display({p1,p2,p3},title=`Obrázek 2`);

[Maple Plot]

Dosazením do druhého vztahu dostáváme

>    2*Pi*Int(v*(0-(-sqrt(1+v^2))),v=0..1);

2*Pi*Int(v*(1+v^2)^(1/2),v = 0 .. 1)

Výsledný objem je roven

>    simplify(value(%));

2/3*Pi*(2*2^(1/2)-1)

>   

>   

Obsah rotační plochy

Při výpočtu obsahu [Maple OLE 2.0 Object]  plochy S  vycházíme ze vztahů

>   

Příklad 1

Odvodíme vzorec pro výpočet obsahu pláště rotačního kužele o poloměru r  a výšce h . Ukážeme použití obou výše uvedených vztahů.

Nejdříve nakreslíme obrázky

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

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

>    p1:=plot([0,1,1/2*x],x=0..2,color=[black,black,blue],linestyle=[1,2,1]):
p2:=line([2,0],[2,1],color=black,linestyle=2):
p3:=textplot({[1,0.6,`y=r/h*x`],[0.02,0.98,`r`],[1.98,0.019,`h`]}):
display({p1,p2,p3},title=`Obrázek 1`);

[Maple Plot]

>    p1:=plot([0,1,1/2*x],x=0..2,color=[black,black,blue],linestyle=[1,2,1]):
p2:=line([2,0],[2,1],color=black,linestyle=2):
p3:=textplot({[1,0.6,`x=h/r*y`],[0.02,0.98,`r`],[1.98,0.019,`h`]}):
display({p1,p2,p3},title=`Obrázek 2`);

[Maple Plot]

Nejprve užijeme první vztah, pro něj z prvního obrázku platí

>    f:=r/h*x;

f := r/h*x

Dosazením dostáváme

>    2*Pi*Int(f*sqrt(1+(Diff(f,x))^2),x=0..h);

2*Pi*Int(r/h*x*(1+Diff(r/h*x,x)^2)^(1/2),x = 0 .. h)

Výsledkem je

>    assume(h>0);
simplify(value(%));

Pi*r*(h^2+r^2)^(1/2)

Nyní užijeme druhý ze vztahů, pro něj z z druhého obrázku platí

>    f:=h/r*y;

f := h/r*y

Dosazením dostáváme

>    2*Pi*Int(y*sqrt(1+(Diff(f,y))^2),y=0..r);

2*Pi*Int(y*(1+Diff(h/r*y,y)^2)^(1/2),y = 0 .. r)

Výsledkem je

>    assume(h>0,r>0);
simplify(value(%));

Pi*r*(r^2+h^2)^(1/2)

>   

>   

Příklad 2

Spočtěte obsah kulového pásu o poloměru r  a výšce h . Vznikne rotací subgrafu funkce [Maple OLE 2.0 Object]  

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

Warning, the name changecoords has been redefined

>    f:=sqrt(r^2-x^2);

f := (r^2-x^2)^(1/2)

Po dosazení do prvního vztahu počítáme integrál

>    i1:=2*Pi*Int(f*sqrt(1+diff(f,x)^2),x=a..b);

i1 := 2*Pi*Int((r^2-x^2)^(1/2)*(1+1/(r^2-x^2)*x^2)^(1/2),x = a .. b)

>    simplify(i1);

2*Pi*Int((r^2-x^2)^(1/2)*(r^2/(r^2-x^2))^(1/2),x = a .. b)

Vidíme, že integrál je roven

>    v1:=2*Pi*r*(b-a);

v1 := 2*Pi*r*(b-a)

Systém Maple plochu vyjádří následovně

>    v2:=value(i1);

v2 := 2*Pi*((r^2/(r^2-b^2))^(1/2)*(r^2-b^2)^(1/2)*b-(r^2/(r^2-a^2))^(1/2)*(r^2-a^2)^(1/2)*a)

>   

>   

>   

Počet přístupů

Počítadlo

Odkaz na počítadlo