Integrální počet v Maple 7

 

Ing. Jana Hřebíčková
Mgr. Jaroslav Ráček
Ing. Jana Slaběňáková

 

Fakulta stavební, Vysoké učení technické

Fakulta informatiky, Masarykova univerzita

 

Brno

2001

 

 

 

 

 

Obsah: 

  1. Primitivní funkce, neurčitý integrál - úvod
  2. Integrační metoda po částech (per partes) pro neurčitý integrál
  3. Integrace substitucí pro neurčitý integrál
  4. Rozklad na parciální zlomky
  5. Určitý integrál - úvod
  6. Metoda per partes pro určitý integrál 
  7. Substituční metoda pro určitý integrál
  8. Příklady na procvičení
  9. Užití integrálního počtu
    1. Obsahy rovinných obrazců
    2. Objem rotačního tělesa
    3. Délka oblouku rovinné křivky
    4. Obsah rotační plochy (povrch tělesa)
    5. Ukázky fyzikálních aplikací
  10. Nevlastní integrál

 

Integrální počet v Maple 7 - mws verze


 

1.    Primitivní funkce,neurčitý integrál - úvod

Příkaz, kter ý vypočítá nerčitý integrál (primitivní funkci) má tvar:

int (výraz, x );

kde jednotlivé parametry znamenají:

výraz - výraz (integrand), který bude integrován

x - proměnná, podle níž se integruje

Pro výpis neurčitého integrálu se používá příkaz Int (výraz, x ).

Při provádění příkazu int zkusí Maple spočítat integrál, ale na rozdíl od výpočtu derivace není zaručena úspěšnost výpočtu. V takovém případě Maple odpoví buď stejným nebo zjednodušeným výrazem, který mu byl zadán k integraci.

 

Příklady:

Ukážeme si, že funkce F(x) = x^2 je primitivní funkcí k funkci f(x) = 2x v R , neboť ( x^2 )' = 2x.

> restart;

> Int(2*x,x)=int(2*x,x);

Int(2*x,x) = x^2

> Diff(x^2,x)=diff(x^2,x);

Diff(x^2,x) = 2*x

> Int(f(x),x);

Int(f(x),x)

1. způsob výpočtu integrálu:

> int(x+sin(x),x);

1/2*x^2-cos(x)

2. způsob:

> F:=Int(x+sin(x),x);

F := Int(x+sin(x),x)

> value(F);

1/2*x^2-cos(x)

3. způsob (modifikace 2. způsobu):

> value(Int(x+sin(x),x));

1/2*x^2-cos(x)

Integrál Int(1/(x+exp(x)),x) neumí Maple spočítat analyticky.

> int(1/(x+exp(x)),x);

int(1/(x+exp(x)),x)

Jednoduchým programem lze získat základní vzorce pro výpočet neurčitých integrálů (bez uvedení definičních oborů):

> f1:=0: f2:=1: f3:=x^n: f4:=1/x: f5:=exp(x): f6:=a^x: f7:=sin(x): f8:=cos(x): f9:=1/cos(x)^2: f10:=1/sin(x)^2: f11:=1/(1+x^2): f12:=1/sqrt(1-x^2): f13:=1/sqrt(x^2+a):

> for i from 1 to 13 do

> Int(f||i,x)=int(f||i,x)

> od;

Int(0,x) = 0

Int(1,x) = x

Int(x^n,x) = x^(n+1)/(n+1)

Int(1/x,x) = ln(x)

Int(exp(x),x) = exp(x)

Int(a^x,x) = 1/ln(a)*a^x

Int(sin(x),x) = -cos(x)

Int(cos(x),x) = sin(x)

Int(1/(cos(x)^2),x) = 1/cos(x)*sin(x)

Int(1/(sin(x)^2),x) = -1/sin(x)*cos(x)

Int(1/(1+x^2),x) = arctan(x)

Int(1/(sqrt(1-x^2)),x) = arcsin(x)

Int(1/(sqrt(x^2+a)),x) = ln(x+sqrt(x^2+a))

>

 

 

2.    Integrační metoda po částech (per partes) pro neurčitý integrál

Platí vzorec int(`v´`*u,x) = u*v-int(`u´`*v,x)

V Maplu se užívá funkce intparts(g, u), která je uložena v balíku student.

Jednotlivé parametry znamenají následující:

g - výraz reprezentující daný integrál ve tvaru Int(f(x), x)
u - součást integrandu, která se bude derivovat (viz výše uvedený vzorec)

Příkaz voláme

student[intparts](g,u); nebo with(student):

intparts(g,u);

 

2.1    Příklad 1.

mws verze

Vypočtěte integrál Int(x*cos(x),x) použitím metody per-partes.

Řešení: Položme u = x, u' = 1, v' = cos(x), v = sin(x). Pak dostáváme:

Int(x*cos(x),x) = x*sin(x)-Int(sin(x),x) = x*sin(x)+cos(x)

> with(student):

> vyr:=intparts(Int(x*cos(x), x), x);

vyr := x*sin(x)-Int(sin(x),x)

Tento integrál dokážeme již vypočítat

> value(vyr);

x*sin(x)+cos(x)

>

 

2.2    Příklad 2.

mws verze

Vypočtěte integrál Int(sqrt(x)*ln(x),x) .

> vyr:=intparts(Int(sqrt(x)*ln(x),x), ln(x));

vyr := 2/3*ln(x)*x^(3/2)-Int(2/3*sqrt(x),x)

> value(vyr);

2/3*ln(x)*x^(3/2)-4/9*x^(3/2)

>

 

 

3.    Integrace substitucí pro neurčitý integrál

Pro substituci se v Maplu užívá příkazu changevar .

student[changevar] (f, v) ; nebo with(student):

changevar(f, v); kde f je vyjádření substituce f(x) = g(t) ,

v výraz typu Int(f(x),x ) nebo changevar(f, v, t); kde t je nová integrační proměnná

 

3.1    Příklad 1.

mws verze

Mějme vypočítat pomocí substituce integrál : Int(sin(x)^2*cos(x)^5,x)

Řešení:

> with(student):

Při výpočtu použijeme substituci t = sin(x), dt = cos(x)dx

> expr:=changevar(sin(x)=t, Int((sin(x)^2*cos(x)^5),x), t);

expr := Int(t^2*(1-t^2)^2,t)

Spočítání integrálu:

> expr1:=value(expr);

expr1 := 1/7*t^7-2/5*t^5+1/3*t^3

Návrat k původní proměnné x:

> changevar(t=sin(x), expr1, x);

1/7*sin(x)^7-2/5*sin(x)^5+1/3*sin(x)^3

>

Řadu úloh lze řešit kombinací obou integračních metod.

 

3.2    Příklad 2.

mws verze

Vypočtěte Int(arcsin(x),x) .

Řešení: Položme u = arcsin(x), u' = 1/sqrt(1-x^2) , v' = 1, v' = x.

> expr:=intparts(Int(arcsin(x),x), arcsin(x));

expr := arcsin(x)*x-Int(1/(1-x^2)^(1/2)*x,x)

> expr1:=changevar(1-x^2=t,expr,t);

expr1 := arcsin(x)*x-Int(-1/2*1/(sqrt(t)),t)

> expr2:=value(expr1);

expr2 := arcsin(x)*x+sqrt(t)

> changevar(t=1-x^2, expr2, x);

arcsin(x)*x+sqrt(1-x^2)

>

 

 

4.    Rozklad na parciální zlomky

Ryzí racionální funkci f(x) = P[n]/Q[m] , kde n<m lze rozložit na součet parcialních zlomků takto.

Nejdříve rozložíme polynom ve jmenovateli

Q[m] = a[m]*(x-x[1])^k[1]*(x-x[2])^k[2] ... (x-x[r])^k[r]*(x^2+p[1]*x+q[1])^l[1]*(x^2+p[2]*x+q[... ... (x^2+p[s]*x+q[s])^l[s]

kde a[m] je koeficient u nejvyšší mocniny

x[i] jsou reálné kořeny polynomu Q[m] , i = 1,2,...r o násobnostech k[i]

x^2+p[i]*x+q[i] jsou kvadratické výrazy se zápornými diskriminanty (i = 1,2,...s).

Potom pro f(x) jednoznačně platí, že

f(x) = P[n]/Q[m] = A[1]/(x-x[1])+A[2]/((x-x[1])^2) + ... + A[k[1]]/((x-x[1])^k[1]) + B[1]/(x-x[2])+B[2]/((x-x[2])^2) + ... + B[k[2]]/((x-x[2])^k[2]) + ...

+ (K[1]*x+L[1])/(x^2+p[1]*x+q[1])+(K[2]*x+L[2])/((x^2... + ... + (K[l[1]]*x+L[l[1]])/((x^2+p[1]*x+q[1])^l[1]) + (M[1]*x+N[1])/(x^2+p[2]*x+q[2]) + (M[2]*x+N[2])/((x^2+p[2]*x+q[2])^2)

+ ... + (M[l[2]]*x+N[l[2]])/((x^2+p[2]*x+q[2])^l[2]) + ...

Maple provede rozklad na součet parciálních zlomku příkazem

> convert(f,parfrac,promenna);

f

kde f je racionální funkce

 

4.1    Příklad 1.

mws verze

Vypočtěte integrál int(5/(x^3+8),x)

Rozložíme integrovanou funkci na součet parciálních zlomků:

> convert(5/(x^3+8),parfrac,x);

5/12*1/(x+2)-5/12*(-4+x)/(x^2-2*x+4)

> int(%,x);

5/12*ln(x+2)-5/24*ln(x^2-2*x+4)+5/12*sqrt(3)*arctan...

Tento integrál lze vypočítat také přímo

> Int(5/(x^3+8),x)=int(5/(x^3+8),x);

Int(5*1/(x^3+8),x) = 5/12*ln(x+2)-5/24*ln(x^2-2*x+4...

>

 

4.2    Příklad 2.

mws verze

Vypočtěte int((x-1)/(x^5+x^3-12*x-2*x^2-8),x)

> convert((x-1)/(x^5+x^3-12*x-2*x^2-8),parfrac,x);

1/72*1/(x-2)+2/15/(x+1)^2+7/225/(x+1)-1/200*(26+9*x...

> int(%,x);

1/72*ln(x-2)-2/15*1/(x+1)+7/225*ln(x+1)-9/400*ln(x^...

Můžeme spočítat i přímo:

> Int((x-1)/(x^5+x^3-12*x-2*x^2-8),x)=int((x-1)/(x^5+x^3-12*x-2*x^2-8),x);

Int((x-1)/(x^5+x^3-12*x-2*x^2-8),x) = 1/72*ln(x-2)-...

>

 

 

5.    Určitý integrál - úvod

S ymbol int(%?,%?) se nazývá integrač ní znak a vznikl historicky nesprávným psaním součtového znaku Sigma . Riemannův integrál je totiž definován pomocí

tzv. horních a dolních součtů. Podrobnosti a také teoretickou podstatu problematiky lze nalézt v každé základní učebnici matematiky.

Pro ilustraci uvádíme několik názorných obrázků - pomocí procedur lowbox a upbox.

 

5.1    Animace pomoci upbox

mws verze

> restart;with(plots):

Warning, the name changecoords has been redefined

Nejdříve musíme proceduru upbox nadefinovat:

> upbox:=proc(f,a,b,n)
local a1, b1, k, x, i, j, J, halt, critpt, critset, M, A, B, C;
global upsum;
with(plottools):
a1:=evalf(a):b1:=evalf(b): k:=(b1-a1)/n; for i from 0 to n do
x[i]:=a1+i*k:od: critpt:=[];halt:=1;
while halt=1 do if type(fsolve(D(f)(x),x,avoid={seq(x=critpt[i],i=1..nops(critpt))},x=a1..b1),numeric)=true then critpt:=sort([op(critpt),fsolve(D(f)(x),x,avoid={seq(x=critpt[i],i=1..nops(critpt))},x=a1..b1)]);
else critpt; halt:=0;
fi;
od;for i from 1 to n do
critset[i]:={x[i-1],x[i]};
for j in critpt do
if x[i-1]< j and j < x[i]
then critset[i]:={op(critset[i]),j};
else fi; M[i]:=max(op(map(f,critset[i])));
od; B[i]:=POLYGONS([[x[i-1],0],[x[i-1],M[i]],[x[i],M[i]],[x[i],0]]);
od:
C:=PLOT(seq(B[i],i=1..n),COLOR(RGB,0,.8,.2)):
A:=plot(f(x),x=a1..b1,scaling=constrained,colour=red,thickness=2):
plots[display]({A,C});end:

Význam parametrů procedury:

f.........funkce, kterou integrujeme;

a, b....hranice intervalu;

n........počet pravidelných částí, na které interval dělíme (počet obdélníků);

> f:=x->sin(x^2);a:=0;b:=sqrt(2*Pi);n:=10;

f := proc (x) options operator, arrow; sin(x^2) end...

a := 0

b := sqrt(2)*sqrt(Pi)

n := 10

Vykresleni jednoho grafu:

> upbox(f,a,b,n);

Warning, the name arrow has been redefined

[Maple Plot]

Animaci vytvoříme takto:

> L:=[5, 10, 20,40,60,80,100]:

> for i in L do
UB[i]:=upbox(f,a,b,i):
od:
plots[display]([seq(UB[i],i=L)],insequence=true,scaling=constrained);

[Maple Plot]

 

5.2     Animace pomoci lowbox

mws verze

Totožně můžeme pracovat také s dolními součty:

> restart;with(plots):

Warning, the name changecoords has been redefined

Nadefinování:

> lowbox:=proc(f,a,b,n)
local a1, b1, k, x, i, j, J, halt, critpt, critset, m, A, B, C;
global lowsum;
with(plottools):
a1:=evalf(a):b1:=evalf(b):
k:=(b1-a1)/n;
for i from 0 to n do
x[i]:=a1+i*k:od:
critpt:=[];halt:=1;
while halt=1 do if type(fsolve(D(f)(x),x,avoid={seq(x=critpt[i],i=1..nops(critpt))},x=a1..b1),numeric)=true then critpt:=sort([op(critpt),fsolve(D(f)(x),x,avoid={seq(x=critpt[i],i=1..nops(critpt))},x=a1..b1)]);
else critpt; halt:=0;
fi;
od;
for i from 1 to n do
critset[i]:={x[i-1],x[i]};
for j in critpt do
if x[i-1]< j and j < x[i]
then critset[i]:={op(critset[i]),j};
else fi;
m[i]:=min(op(map(f,critset[i])));
od;
B[i]:=POLYGONS([[x[i-1],0],[x[i-1],m[i]],[x[i],m[i]],[x[i],0]]);

od:

C:=PLOT(seq(B[i],i=1..n),COLOR(RGB,0,.8,.2)):
A:=plot(f(x),x=a1..b1,scaling=constrained,colour=red,thickness=2):
plots[display]({A,C});
end:

Nastavení:

> f:=x->sin(x^2):a:=0:b:=sqrt(2*Pi):n:=10:

Vykreslení:

> lowbox(f,a,b,n);

Warning, the name arrow has been redefined

[Maple Plot]

Animace:

> L:=[5, 10, 20,40,60,80,100]:

> for i in L do
LB[i]:=lowbox(f,a,b,i):
od:
plots[display]([seq(LB[i],i=L)],insequence=true,scaling=constrained);

[Maple Plot]

>

Dále se zaměříme na výpočet určitého integrálu.

Příkaz, který vypočítá určitý integrál, má v Maple tvar:

int (výraz,x = a..b);

kde výraz je integrovaná funkce, x je integrační proměnná

a - dolní mez , b - horní mez

Pro výpis neurčitého integrálu se používá příkaz Int (výraz, x=a..b) .

 

5.3    Příklad 1.

mws verze

Vypočítejte Int(x^3-5*x^2+6*x-3,x = 0 .. 1) .

> restart;

> plot(x^3-5*x^2+6*x-3,x=0..1,scaling=constrained);

[Maple Plot]

> int(x^3-5*x^2+6*x-3,x=0..1);

-17/12

Velmi výhodné je uvědomit si dvě ze základních vlastnotí určitého integrálu - pro případ mezí symetrických vzhledem k počátku

souřadného systému tj. interval <-a,a>, zejména pro "ruční " počítání.

Platí . a) int(f(x),x = -a .. a) = 0, pro funkci lichou

b) int(f(x),x = -a .. a) = int(f(x),x = 0 .. a) , pro funkci sudou

Ukažme na příkladu :

 

5.4    Příklad 2.

mws verze

Vypočítejte int(sin(x)^3,x = -Pi/4 .. Pi/4)

> Int(sin(x)^3,x=-Pi/4..Pi/4)=int(sin(x)^3,x=-Pi/4..Pi/4);

Int(sin(x)^3,x = -1/4*Pi .. 1/4*Pi) = 0

> plot(sin(x)^3,x=-Pi/4..Pi/4,filled=true,color=yellow);

[Maple Plot]

> Int(sin(x)^2,x=-Pi/4..Pi/4)=int(sin(x)^2,x=-Pi/4..Pi/4);

Int(sin(x)^2,x = -1/4*Pi .. 1/4*Pi) = -1/2+1/4*Pi

> plot(sin(x)^2,x=-Pi/4..Pi/4,filled=true,color=blue);

[Maple Plot]

>

 

 

6.    Metoda per partes pro určitý integrál

Vypočítejte Int(x*exp(x),x = -1 .. 3) .

> plot(x*exp(x),x=-1..3,color=red);

[Maple Plot]

Necht´ u = x a tedy v´= exp(x) , pak u´= 1 a v= exp(x) .

> Int(x*exp(x),x=-1..3)=student[intparts](Int(x*exp(x),x=-1..3),x);

Int(x*exp(x),x = -1 .. 3) = 3*exp(3)+exp(-1)-Int(ex...

> value(rhs(%));

2*exp(3)+2*exp(-1)

>

 

 

7.    Substituční metoda pro určitý integrál

Vypočítejte Int(x^4*sqrt(x^5+1),x = -1 .. 1) .

> plot(x^4*sqrt(x^5+1),x=-1..1,color=black,style=point,scaling=constrained);

[Maple Plot]

> I1:=Int(x^4*sqrt(x^5+1),x=-1..1);

I1 := Int(x^4*sqrt(x^5+1),x = -1 .. 1)

Použijeme substituci x^5+1 = u .

student[changevar](x^5+1=u,I1,u);

Int(1/5*sqrt(u),u = 0 .. 2)

> value(%);

>

4/15*sqrt(2)

>

 

 

8.     Příklady na pro cvičení

8.1    Příklad 1.

mws verze

Vypočítejte Int((sqrt(x)-2*x)/(x^(1/3)+1),x = 0 .. 1) .

> plot((sqrt(x)-2*x)/(x^(1/3)+1),x=0..1,color=black,style=line);

[Maple Plot]

> int((sqrt(x)-2*x)/(x^(1/3)+1),x=0..1);

-633/70+6*ln(2)+3/2*Pi

lze zadat výpočet pomocí substituce

> with(student):

> changevar(x^(1/6)=t,Int((sqrt(x)-2*x)/(x^(1/3)+1),x=0..1),t);

Int(-6*(-t^3+2*t^6)*t^5/(t^2+1),t = 0 .. 1)

> value(%);

-633/70+6*ln(2)+3/2*Pi

>

 

8.2    Příklad 2.

mws verze

Vypočítejte Int(x^2*sin(x),x = 0 .. Pi) .

> plot(x^2*sin(x),x=0..Pi,color=blue);

[Maple Plot]

Necht´ u = x^2 a v' = sin(x)

> student[intparts](Int(x^2*sin(x),x=0..Pi),x^2);

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

Metodu per partes použijeme ještě jednou, za funkci, kterou budeme derivovat, volíme opět polynom

> student[intparts](%,x);

>

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

> value(%);

Pi^2-4

>

 

8.3    Příklad 3.

mws verze

Vypočítejte Int(x/sqrt(4-9*x^2),x = 0 .. 2/3) .

> plot(x/sqrt(4-9*x^2),x=0..2/3,color=orange);

[Maple Plot]

> I2 := Int(x/sqrt(4-9*x^2),x=0..2/3);

I2 := Int(x/(4-9*x^2)^(1/2),x = 0 .. 2/3)

Substituce 4-9*x^2 = u

> student[changevar](4-9*x^2=u,I2,u);

Int(1/18*1/(sqrt(u)),u = 0 .. 4)

Výraz zjednodušíme pomocí příkazu simplify.

> simplify(%);

1/18*Int(1/(sqrt(u)),u = 0 .. 4)

> value(%);

2/9

>

 

8.4    Příklad 4.

mws verze

Vypočítejte Int(e^x*cos(x),x = -1 .. 1) .

> plot(exp(x)*cos(x),x=-1..1,color=cyan,style=point,scaling=constrained);

[Maple Plot]

Zde je jedno, kterou funkci budeme považovat za u a kterou za v'. Položme tedy u= e^x a v'=cos x.

> I1 := Int(exp(x)*cos(x),x=0..Pi/2);

I1 := Int(exp(x)*cos(x),x = 0 .. 1/2*Pi)

Použijeme metodu per-partes.

Nechť u = exp(x) a v´= cos(x) .

> with(student):

> student[intparts](I1,exp(x));

exp(1/2*Pi)-Int(exp(x)*sin(x),x = 0 .. 1/2*Pi)

>

Nyní nastala situace, kdy vzniklý integrál není o nic jednodušší, než integrál původní. Opět použijeme metodu per-partes a to užitím u= e^x .

> student[intparts](%,exp(x));

exp(1/2*Pi)-1+Int(-exp(x)*cos(x),x = 0 .. 1/2*Pi)

>

Pokud z integrálu vytkneme -1, vzniklý integrál je úplně shodný s původně zadaným.

> isolate(I1=expand(%),I1);

Int(exp(x)*cos(x),x = 0 .. 1/2*Pi) = 1/2*sqrt(exp(P...

Nyní ukážeme, že Maple umí spočítat tento integrál přímo, předcházející výpočty popisují "ruční" výpočet

> Int(exp(x)*cos(x),x=0..Pi/2)=int(exp(x)*cos(x),x=0..Pi/2);

Int(exp(x)*cos(x),x = 0 .. 1/2*Pi) = 1/2*exp(1/2*Pi...

>

 

8.5    Příklad 5.

mws verze

Vypočítejte Int((x^2+4)^(1/2)/x,x = sqrt(5) .. 2*sqrt(3)) .

> Int(sqrt(x^2+4)/x,x=sqrt(5)..sqrt(12));

Int((x^2+4)^(1/2)/x,x = sqrt(5) .. 2*sqrt(3))

> plot(sqrt(x^2+4)/x,x=sqrt(5)..sqrt(12));

[Maple Plot]

Substituce u^2 = x^2+4 .

> changevar(x^2+4=u^2,Int(sqrt(x^2+4)/x,x=sqrt(5)..sqrt(12)),u);

Int(u^2/(-4+u^2),u = sqrt(9) .. sqrt(16))

> value(%);

-ln(3)+sqrt(16)+ln(5)-sqrt(9)

> combine(%);

sqrt(16)-sqrt(9)-ln(3/5)

Při "ručním" výpočtu je nutno využít rozklad na parciální zlomky.

> convert(u^2/(u^2-4),parfrac,u);

1+1/(u-2)-1/(u+2)

> int(%,u=3..4);

1-ln(3)+ln(5)

> combine(%);

1-ln(3/5)

>

 

8.6    Příklad 6.

mws verze

Vypočítejte Int(arctan(1/x),x = 1 .. 2) .

> In:=Int(arctan(1/x),x=1..2);

In := Int(arctan(1/x),x = 1 .. 2)

> plot(arctan(1/x),x=-1..2,color=black);

>

[Maple Plot]

Metoda per-partes u = arctan(1/x) .

>

> student[intparts](In,arctan(1/x));

2*arctan(1/2)-1/4*Pi-Int(-1/(x*(1+1/(x^2))),x = 1 ....

> simplify(%);

2*arctan(1/2)-1/4*Pi+Int(x/(x^2+1),x = 1 .. 2)

> value(%);

2*arctan(1/2)-1/4*Pi+1/2*ln(5)-1/2*ln(2)

> combine(%);

2*arctan(1/2)-1/4*Pi+1/2*ln(5/2)

>

 

8.7    Příklad 7.

mws verze

Vypočteme integrál Int(x*sin(x),x = 0 .. Pi) .

Řešení: Položme u = x, u' = 1, v' = sin(x), v = -cos(x).

> with(student):

> cv:=intparts(Int(x*sin(x),x=0..Pi), x);

cv := Pi-Int(-cos(x),x = 0 .. Pi)

> value(cv);

Pi

>

 

8.8    Příklad 8.

mws verze

Vypočteme integrál Int(arccos(x),x = 0 .. 1) .

Řešení: Nejprve použijeme metodu per partes

u = arccos(x), u' = -1/sqrt(1-x^2) , v' = 1, v = x.

> vyr:=intparts(Int(arccos(x),x=0..1), arccos(x));

vyr := -Int(-1/(1-x^2)^(1/2)*x,x = 0 .. 1)

Nyní použijeme metodu substituce

t^2 = 1-x^2 , -t*dt = x*dx .

> vyr1:=changevar(1-x^2=t^2, vyr, t);

vyr1 := -Int(-1/(t^2)^(1/2)*t,t = 0 .. 1)

> value(vyr1);

1

>

 

8.9    Příklad 9.

mws verze

Vypočteme integrál Int((1+ln(x))/x,x = 1 .. exp(1)) .

Řešení: pomocí metody substituce ln(x) = t.

Při metodě substituce u určitého integrálu je nutné přepočítat meze integrálu: t[1] = ln(1) = 0, t[2] = ln(e)=1.

> with(student):

> integral:=changevar(ln(x)=t, Int((1+ln(x))/x, x=1..exp(1)), t);

integral := Int(1+t,t = 0 .. 1)

A tento integrál již lze jednoduše spočítat.

> value(integral);

3/2

>

 

 

9.    Užití integrálního počtu

9.1    Obsahy rovinných obrazců

9.1.1    Příklad 1.

mws verze

Vypočteme obsah plochy omezené osou x a grafem funkce f(x) = sin(x) na intervalu <0, Pi >.

Řešení:

> with(plots):

Warning, the name changecoords has been redefined

> p1:=plot(sin(x),x=0..Pi,filled = true , color=gray):

> p2:=plot(sin(x),x=-2..2*Pi, color=red):

> display({p1,p2});

[Maple Plot]

> Int(sin(x),x=0..Pi):%=value(%);

Int(sin(x),x = 0 .. Pi) = 2

>

 

9.1.2    Příklad 2.

mws verze

Vypočteme obsah plochy omezené grafy funkcí f(x) = sqrt(x) , g(x) = x^2 .

Řešení:

> with(plots):

> p1:=plot(sqrt(x), x=0..3, y=0..3):

> p2:=plot(x^2, x=0..3):

> display({p1,p2});

[Maple Plot]

Nerovnost 0 <= x^2 <= sqrt(x) platí na intervalu <0,1>.

> Int(sqrt(x)-x^2,x=0..1):%=value(%);

Int(sqrt(x)-x^2,x = 0 .. 1) = 1/3

>

 

9.1.3    Příklad 3.

mws verze

Vypočteme obsah plochy omezené grafem funkce f(x) = x^2-3*x+2 a osou x na intervalu <0,3>.

Řešení:

Je-li f(x) spojitá funkce nabývající na intervalu <a,b> záporných hodnot, pak obsah plochy omezené grafem této funkce a osou x na intervalu <a,b> určíme tak, že vypočteme obsah plochy omezené grafem funkce -f(x) na intervalu <a,b>.

> with(plots):

> p1:=plot(sin((1/2*x-1.5)^3)+2,x=1..5,y=0..4, filled=true, color=gray):

> p2:=plot(0,x=0..6,y=-1..4):

> p3:=textplot([[1,-0.8,`a`],[5,-0.8,`b`],[3,2.3,`-f(x)`]] ,align={ABOVE,RIGHT}):

> p4:=plot(0,x=0..6,y=-4..1):

> p5:=plot(-sin((1/2*x-1.5)^3)-2,x=1..5,y=-4..1, filled=true, color=gray):

> p6:=textplot([[1,0.7,`a`],[5,0.7,`b`],[3,-2.4,`f(x)`]] ,align={ABOVE,RIGHT}):

> p7:=plot(sin((1/2*x-1.5)^3)+2,x=1..5,y=0..4,color=black, thickness=2):

> p8:=plot(-sin((1/2*x-1.5)^3)-2,x=1..5,y=-4..0,color=black, thickness=2):

> display({p5,p4,p6,p8});
display({p1,p2,p3,p7});

[Maple Plot]

[Maple Plot]

Nyní nakreslíme danou funkci

> p1:=plot(x^2-3*x+2,x=0..3,filled=true, color=yellow):

> p2:=plot(x^2-3*x+2,x=0..3, thickness=2, color=black):

> display({p1,p2});

[Maple Plot]

> Int(x^2-3*x+2, x=0..1)+Int(-x^2+3*x-2, x=1..2)+Int(x^2-3*x+2, x=2..3):%=value(%);

Int(x^2-3*x+2,x = 0 .. 1)+Int(-x^2+3*x-2,x = 1 .. 2...

>

 

9.1.4    Příklad 4.

mws verze

Vypočítejte obsah množiny ohraničené křivkami y = 4-x^2 , y = 1-2*x .

Pomocí Maple V si nadefinujeme funkce

> f := x -> 4 - x^2; g := x ->1-2*x;

f := proc (x) options operator, arrow; 4-x^2 end pr...

g := proc (x) options operator, arrow; 1-2*x end pr...

Vypočítáme jejich průsečíky

> solve({y=f(x),y=g(x)},{x,y});

{y = 3, x = -1}, {x = 3, y = -5}

> solve({f(x)=0},{x});

{x = -2}, {x = 2}

> solve({g(x)=0},{x});

{x = 1/2}

Nyní tyto dvě funkce necháme vykreslit pomocí příkazu plot , na intervalu ohraničeném body průniku

> Plt1 := plot({4-x^2,1-2*x},x=-1..3,color=black):plots[display](Plt1,style=line,font=[TIMES,ROMAN,11]);

[Maple Plot]

Obsah plochy vypočítáme jako integrál z rozdílu funkcí f(x) a g(x) na intervalu ohraničeném body průniku.

> Int(f(x)-g(x),x=-1..3)=int(f(x)-g(x),x=-1..3);

Int(3-x^2+2*x,x = -1 .. 3) = 32/3

>

 

9.1.5    Příklad 5.

mws verze

Vypočítejte obsah množiny ohraničené křivkami y = -x^2+3*x a y = 2*x^3-x^2-5*x .

Nyní si funkce nadefinujeme

> f1 := x -> -x^2+3*x; f2 := x -> 2*x^3-x^2-5*x;

f1 := proc (x) options operator, arrow; -x^2+3*x en...

f2 := proc (x) options operator, arrow; 2*x^3-x^2-5...

> solve(f1(x)=f2(x),{x});

{x = 0}, {x = 2}, {x = -2}

> solve({-x^2+3*x=0},{x});

{x = 0}, {x = 3}

> solve({2*x^3-x^2-5*x=0},{x});

{x = 0}, {x = 1/4+1/4*sqrt(41)}, {x = 1/4-1/4*sqrt(...

Nyní si nakresleme grafy těchto funkcí:

> plot({f1,f2},-2..2,color=black,style=line,font=[TIMES,ROMAN,11]);

[Maple Plot]

Obsah dané množiny se tedy skládá ze dvou částí, na intervalu [-2,0] platí f2(x) >= f1(x) a na intervalu [0,2] platí f1(x) >= f2(x). Budeme proto počítat dva integrály. Ukažme dvě možnosti výpočtu:

> Int(f2(x)-(f1(x)),x=-2..0)+Int(f1(x)-f2(x),x=0..2):%= value(%);

Int(2*x^3-8*x,x = -2 .. 0)+Int(8*x-2*x^3,x = 0 .. 2...

> Plocha:=Int(f2(x)-(f(x)),x=-2..0)+Int(f1(x)-f2(x),x=0..2)=int(2*x^3-8*x,x = -2 .. 0)+int(8*x-2*x^3,x = 0 .. 2);

Plocha := Int(2*x^3-5*x-4,x = -2 .. 0)+Int(8*x-2*x^...

>

 

9.1.6    Příklad 6.

mws verze

Vypočítejte obsah množiny ohraničené křivkami y = sin(x) , y = cos(x) , x = 0 a x = Pi/2 .

nadefinujeme funkce sinus a kosinus

> f1 := x -> sin(x); f2 := x -> cos(x);

f1 := sin

f2 := cos

> solve(f1(x)=f2(x),x);

1/4*Pi

Nyní si funkce necháme na příslušném intervalu vykreslit, tedy na intervalu [0,Pi/2]

> plot({sin(x),cos(x)},x=0..Pi/2,color=black,style=line,font=[TIMES,ROMAN,11],scaling=constrained);

[Maple Plot]

Na intervalu [0,Pi/4] platí sin(x) >= cos(x) a na intervalu [Pi/4,Pi/2] cos(x) >= sin(x). Budeme počítat součet dvou příslušných integrálů.

> PL1:=Int(f2(x)-f1(x),x=0..Pi/4)+Int(f1(x)-f2(x),x=Pi/4..Pi/2)=int(f2(x)-f1(x),x=0..Pi/4)+int(f1(x)-f2(x),x=Pi/4..Pi/2);

PL1 := Int(cos(x)-sin(x),x = 0 .. 1/4*Pi)+Int(sin(x...

>

 

9.1.7    Poznámka

mws verze

Pro větší názornost vymezení plochy obrazce mezi dvěma křivkami v rovině můžeme použít tuto proceduru:

> restart;

> plocha:=proc(f::anything,g::anything)

> local p,q1,q2,s,a,r,t,b,c,i;

> a:={};

> t:=0.;

> s:=[];

> while type(t,'float')=true do

> t:=fsolve(f=g,x,avoid=a,maxsols=1);

> if type(t,'float')=true then

> s:=[seq(s[i],i=1..nops(s)),t];

> a:=a union {x=t};

> end if;

> end do;

> s:=sort(s);

> b:=s[1];

> c:=s[nops(s)];

> t:=0.;

> a:={seq(x=s[i],i=1..nops(s))};

> while type(t,'float')=true do

> t:=fsolve(f,x=b..c,avoid=a,maxsols=1);

> if type(t,'float')=true then

> s:=[seq(s[i],i=1..nops(s)),t];

> a:=a union {x=t};

> end if;

> end do;

> t:=0.;

> a:={seq(x=s[i],i=1..nops(s))};

> while type(t,'float')=true do

> t:=fsolve(g,x=b..c,avoid=a,maxsols=1);

> if type(t,'float')=true then

> s:=[seq(s[i],i=1..nops(s)),t];

> a:=a union {x=t};

> end if;

> end do;

> s:=sort(s);

> b:=s[1];

> c:=s[nops(s)];

> p:=[plot(f,x=b..c,thickness=2,color=black),plot(g,x=b..c,thickness=2,color=black)];

> for i from 1 to nops(s)-1 do

> if (evalf(subs(x=(s[i]+s[i+1])/2,f))>=0) and (evalf(subs(x=(s[i]+s[i+1])/2,g))>=0) then

> if (evalf(subs(x=(s[i]+s[i+1])/2,f))>evalf(subs(x=(s[i]+s[i+1])/2,g))) then

> q1:=plot(g,x=s[i]..s[i+1],filled=true,color=white);

> q2:=plot(f,x=s[i]..s[i+1],filled=true,color=red);

> else q1:=plot(f,x=s[i]..s[i+1],filled=true,color=white);

> q2:=plot(g,x=s[i]..s[i+1],filled=true,color=red);

> end if;

> elif (evalf(subs(x=(s[i]+s[i+1])/2,f))<=0) and (evalf(subs(x=(s[i]+s[i+1])/2,g))<=0) then

> if (evalf(subs(x=(s[i]+s[i+1])/2,f))>evalf(subs(x=(s[i]+s[i+1])/2,g))) then

> q1:=plot(f,x=s[i]..s[i+1],filled=true,color=white);

> q2:=plot(g,x=s[i]..s[i+1],filled=true,color=red);

> else

> q1:=plot(g,x=s[i]..s[i+1],filled=true,color=white);

> q2:=plot(f,x=s[i]..s[i+1],filled=true,color=red);

> end if;

> else

> q1:=plot(f,x=s[i]..s[i+1],filled=true,color=red);

> q2:=plot(g,x=s[i]..s[i+1],filled=true,color=red);

> end if;

> p:=[seq(p[i],i=1..nops(p)),q1,q2];

> end do;

> plots[display](p);

> end proc;

plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...
plocha := proc (f::anything, g::anything) local p, ...

> plocha(sin(x),x^2);

[Maple Plot]

> plocha((x^2-1)*(x^2-4),sin(x));

[Maple Plot]

 

9.1.8    Příklad 7.

mws verze

Vypočteme obsah rovinného obrazce omezeného křivkou vyjádřené parametrickýmo rovnicemi x = a(t-sin(t)) , y = a(1-cos(t)) , t leží <0,2*Pi> , a>0.

Řešení:

Obsah rovinného obrazce omezeného obloukem čáry vyjádřené parametrickými rovnicemi x = phi(t), y = psi(t) s mezemi parametru t[1], t[2] ( t[1] < t[2] ) je vyjádřen vztahem

S = Int(psi(t)*abs(diff(phi(t),t)),t = t[1] .. t[2]...

Nakreslíme danou funkci

> with(plots):

> p1:=plot([t-sin(t), 1-cos(t), t=0..2*Pi], scaling=constrained, thickness=3, color=black):

> p2:=plot([t-sin(t), 1-cos(t), t=0..2*Pi], scaling=constrained, color=gray, filled=true):

> display({p1,p2});

[Maple Plot]

x = a*(t-sin(t)) = phi(t)

y = a*(1-cos(t)) = psi(t)

nyní dosadíme do vzorce:

> Int(a*(1-cos(t))*Diff(a*(t-sin(t)),t), t=0..2*Pi):%=value(%);

Int(a*(1-cos(t))*Diff(a*(t-sin(t)),t),t = 0 .. 2*Pi...

>

 

9.2    Objem rotačního tělesa

A. Objem tělesa vzniklého rotací křivky, ohraničeného obloukem čáry y = f(x), osou x a přímkami x = a, x = b, a < b, kolem osy x je

V = Pi*Int(f(x)^2,x = a .. b)

B. Objem tělesa vzniklého rotací křivky, ohraničeného obloukem čáry y = f(x), osou y a přímkami y = a, y = b, a < b, kolem osy y je

. V = Pi*Int(f(y)^2,y = a .. b) .

>

Ukažme pro ilustraci několik obrázků těles, která vznikají rotací dané křivky

> with(plots):

> tubeplot([t,0,0],t=0..Pi,radius=sin(t),tubepoints=20);

Můžeme také využít krátké procedury, která animací ukazuje rotaci křivky při vzniku rotačního tělesa:

[Maple Plot]

> rotate3d:=proc(f::anything,xrange::equation,yrange::equation)

> local t;

> return(plots[animate3d]([x,f(x)*cos(t),f(x)*sin(t)],xrange,yrange,t=0..2*Pi,orientation=[-100,60],axes=normal));

> end proc;

rotate3d := proc (f::anything, xrange::equation, yr...
rotate3d := proc (f::anything, xrange::equation, yr...
rotate3d := proc (f::anything, xrange::equation, yr...
rotate3d := proc (f::anything, xrange::equation, yr...

> rotate3d(sin(x),x=0..Pi,y=-1..1);

[Maple Plot]

> rotate3d(x^2,x=-1..1,y=0..1);

[Maple Plot]

> rotate3d(exp(-x^2),x=-1..1,y=0..1);

[Maple Plot]

9.2.1    Příklad 1.

mws verze

Vypočítáme objem tělesa vzniklého rotací rovinného obrazce ohraničeného křivkami y = 1-x^2 , y = x^2 , kolem osy x.

Řešení:

> p1:=plot(1-x^2, x=-1.5..1.5, y=-1.5..1.5):

> p2:=plot(x^2, x=-1..1):

> p3:=textplot([[-1.3,-1,`1-x^2`],[-1.2,0.8,`x^2`]] ,align={ABOVE,RIGHT}):

> display({p1,p2,p3});

[Maple Plot]

Nejprve stanovíme meze, jako průsečíky grafů obou křivek:

> solve(1-x^2=x^2,x);

-1/2*sqrt(2), 1/2*sqrt(2)

Objem tělesa V = V[1]-V[2] , kde V[1] je objem tělesa vytvořený rotací křivky y = 1-x^2 v mezích <-1*sqrt(2)/2,1*sqrt(2)/2> a osou x, V[2] je objem tělesa vytvořený rotací křivky y = x^2 v mezích <-1*sqrt(2)/2,1*sqrt(2)/2> a osou x.

Objem tělesa tedy je:

> Pi*Int((1-x^2)^2-(x^2)^2,x=-1/2*sqrt(2)..1/2*sqrt(2)):%=value(%);

Pi*Int((1-x^2)^2-x^4,x = -1/2*sqrt(2) .. 1/2*sqrt(2...

>

 

9.2.2    Příklad 2.

mws verze

Vypočítáme objem tělesa vzniklého rotací rovinného obrazce ohraničeného čarami y^2+x = 4 , x = 0 , kolem osy y.

Řešení :

Meze stanovíme řešením rovnic obou čar: x = 0, y^2+x-4 = 0 ,

> solve(0=y^2-4,y);

-2, 2

x^2 vypočítáme z rovnice křivky: x^2 = (4-y^2)^2

Dosazením do vzorce dostáváme objem:

> Pi*Int((4-y^2)^2,y=-2..2):%=value(%);

Pi*Int((4-y^2)^2,y = -2 .. 2) = 512/15*Pi

>

 

9.2.3    Příklad 3.

mws verze

Je-li funkce dána parametrickými rovnicemi x = phi(t) , y = psi(t) , kde t epsilon <alpha,beta> a psi(t) je v tomto intervalu spojitá a nezáporná, je objem rotačního tělesa při otáčení kolem osy x dán vzorcem

V = Pi*Int(psi(t)^2*abs(diff(phi(t),t)),t = alpha ....

rotací kolem osy y V = 2*Pi*Int(psi(t)*abs(phi(t)*diff(phi(t),t)),t = ...

Vypočteme objem rotačního tělesa vzniklého rotací rovinného obrazce omezeného křivkou vyjádřené parametrickýmo rovnicemi x = a(t-sin(t)),

y = a(1-cos(t)), t leží <0,Pi> , a>0, kolem osy x.

Řešení :

x = a( t-sin(t)) = phi(t)

y = a(1-cos(t)) = psi(t)

>

> Diff(a*(t-sin(t)),t):%=value(%);

Diff(a*(t-sin(t)),t) = a*(1-cos(t))

Dosazením do vzorce dostáváme:

> Pi*Int((a*(1-cos(t)))^2*a*(1-cos(t)), t=0..2*Pi):%=value(%);

Pi*Int(a^3*(1-cos(t))^3,t = 0 .. 2*Pi) = 5*Pi^2*a^3...

>

 

9.2.4    Příklad 4.

mws verze

Určete objem rotačního tělesa vzniklého rotací funkce y = sin(x)+cos(x) kolem osy x na uzavřeném intervalu (Pi/2,2Pi)

> plot((sin(x)+cos(x))^2,x=Pi/2..2*Pi);

[Maple Plot]

> Pi*int((sin(x)+cos(x))^2,x=Pi/2..2*Pi);

Pi*(3/2*Pi-1)

> simplify(%);

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

>

9.3    Délka oblouku rovinné křivky

Délka oblouku L spojité rovinné křivky y = f(x) pro x leží <a,b>, která má v intervalu <a,b> spojitou derivaci, je dána vzorcem

V = int(sqrt(1+f(x)^`´2`),x = a .. b)

9.3.1    Příklad 1.

mws verze

Vypočítáme délku křivky y = x^(3/2) v intervalu <0,4>.

Řešení :

> plot(x^(3/2), x=0..4);

[Maple Plot]

V intervalu <0,4> má daná křivka spojitou derivaci

> `y'`= diff(x^(3/2),x);

`y'` = 3/2*sqrt(x)

Dosadíme do vzorce:

> Int(sqrt(1+(3/2*sqrt(x))^2),x=0..4):%=value(%);

Int(1/2*sqrt(4+9*x),x = 0 .. 4) = 80/27*sqrt(10)-8/...

>

 

9.3.2    Příklad 2.

mws verze

Vypočítejte délku grafu funkce ln(x) mezi body ( sqrt(3), ln*sqrt(3) ), ( sqrt(8), ln*sqrt(8) ).

Nejdříve si vypočítáme derivaci funkce ln(x)

> diff(log(x),x);

1/x

Délka křivky tedy je

> Int(sqrt(1+1/x^2),x=sqrt(3)..sqrt(8));

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

> simplify(%);

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

zvolíme substituce u^2 = x^2+1

> student[changevar](u^2=x^2+1,%,u);

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

> simplify(%);

Int(u^2/(u^2-1),u = 2 .. 3)

dále řešíme vzniklý integrál rozkladem na parciální zlomky

> convert(u^2/(u^2-1),parfrac,u);

1+1/2/(u-1)-1/2*1/(u+1)

> int(%,u=2..3);

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

> combine(%);

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

>

Délka oblouku L spojité rovinné křivky dané parametrickými rovnicemi x = phi(t) , y = psi(t) , t leží v <alpha,beta> , mající spojité derivace phi ´(t), psi ´(t) je dána vzorcem:

L = int(sqrt(phi(t)^`´2`+psi(t)^`´2`),t = alpha .. ...

 

9.3.3    Příklad 3.

mws verze

Vypočteme délku křivky danou parametrickými rovnicemi x = t^2 , y = t-t^3/3 pro t z intervalu <0,sqrt(3)> .

Řešení :

> plot([t^2, t-t^3/3, t=0..sqrt(3)], scaling=constrained, thickness=3, color=black);

[Maple Plot]

V intervalu <0,sqrt(3)> jsou derivace phi ´(t), psi ´(t) spojité, dosadíme:

> `x'`=diff(t^2,t);

`x'` = 2*t

> `y'`=diff(t-t^3/3,t);

`y'` = 1-t^2

> Int(sqrt((2*t)^2+(1-t^2)^2),t=0..sqrt(3)):%=value(%);

Int(sqrt((t^2+1)^2),t = 0 .. sqrt(3)) = 2*sqrt(3)

>

 

9.3.4    Příklad 4.

mws verze

Vypočítejte délku křivky - asteroidy -

x = 5*cos(t)^3, y = 5*sin(t)^3, t = 0 .. 2*Pi

> plot([5*cos(t)^3,5*sin(t)^3,t=0..2*Pi],color=black,

> scaling=CONSTRAINED,font=[TIMES,ROMAN,11]);

[Maple Plot]

> diff(5*cos(t)^3,t)^2+diff(5*sin(t)^3,t)^2;

225*cos(t)^4*sin(t)^2+225*sin(t)^4*cos(t)^2

> delkakrivky:=int(sqrt(%),t=0..2*Pi);

delkakrivky := 15*sqrt(4)

> simplify(%);

30

>

 

9.4    Obsah rotační plochy (povrch tělesa)

Obsah rotační plochy, která vznikne rotací kolem osy x grafu spojité křivky y = f(x) v intervalu <a,b> a mající v tomto intervalu spojitou derivaci f '(x), je dán vzorcem:

P = 2*Pi*Int(abs(f(x))*sqrt(1+[`f(x)'`]^2),x = a ..... .

Obsah rotační plochy , která vznikne rotací kolem osy x grafu spojité křivky dané parametrickými rovnicemi x = phi(t), y = psi(t) , t leží v <alpha,beta> , funkce phi ´(t), psi ´(t) jsou na tomto intervalu spojité, přičemž funkce phi(t) je ryze monotonní, je dán vzorcem:

P = 2*Pi*Int(abs(psi(t))*sqrt(phi(t)^`´2`+psi(t)^`´...

>

 

9.4.1    Příklad 1.

mws verze

Vypočteme povrch koule o poloměru r oběma způsoby.

1. Z rovnice kružnice x^2+y^2 = r^2 => y = sqrt(r^2-x^2) , x leží <-r,r>. Rotace křivky kolem osy x.

> with(plots):

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

f := proc (x) options operator, arrow; sqrt(r^2-x^2...

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

[Maple Plot]

Dosazením do vzorce dostáváme:

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

f := proc (x) options operator, arrow; sqrt(r^2-x^2...

> 2*Pi*Int(f(x)*sqrt(1+(diff(f(x),x))^2),x=-r..r):%=value(%);

2*Pi*Int(sqrt(r^2-x^2)*sqrt(1+1/(r^2-x^2)*x^2),x = ...

2 . Parametrické vyjádření kružnice: x = phi (t) = rcos(t), y = psi = rsin(t), t leží <0.. Pi >.

> Diff(phi,t) = diff(r*cos(t),t);

Diff(phi,t) = -r*sin(t)

> Diff(psi,t) = diff(r*sin(t),t);

Diff(psi,t) = r*cos(t)

Dosadíme do vzorce:

> 2*Pi*Int(r*sin(t)*sqrt((-r*sin(t))^2+(r*cos(t))^2),t=0..Pi):%=value(%);

2*Pi*Int(r*sin(t)*sqrt(r^2*sin(t)^2+r^2*cos(t)^2),t...

> combine(%);

Int(2*Pi*r*sin(t)*sqrt(r^2),t = 0 .. Pi) = 4*Pi*r^3...

Maple uvažuje r jako konstantu o které neví , zda je kladná nebo záporná, proto neupraví odmocninu.

Můžeme upravit pomocí příkazu assume, kterým zadáme vlastnost r - poloměru.

> assume(r>0);

> 2*Pi*Int(r*sin(t)*sqrt((-r*sin(t))^2+(r*cos(t))^2),t=0..Pi):%=value(%);

2*Pi*Int(r*sin(t)*sqrt(r^2*sin(t)^2+r^2*cos(t)^2),t...

>

 

9.4.2    Příklad 2.

mws verze

Vypočítejte délku křivky - asteroidy -

x = 5*cos(t)^3, y = 5*sin(t)^3, t = 0 .. 2*Pi

>

> plot([5*cos(t)^3,5*sin(t)^3,t=0..2*Pi],color=black,

> scaling=CONSTRAINED,font=[TIMES,ROMAN,11]);

[Maple Plot]

> diff(5*cos(t)^3,t)^2+diff(5*sin(t)^3,t)^2;

225*cos(t)^4*sin(t)^2+225*sin(t)^4*cos(t)^2

> delkakrivky:=int(sqrt(%),t=0..2*Pi);

delkakrivky := 15*sqrt(4)

> simplify(%);

30

>

 

9.5     Ukázky fyzikálních aplikací

9.5.1    Příklad 1.

mws verze

Určete těžiště homogenní oblasti omezené křivkami y = x^2, y = 2/(1+x^2)

Nejdříve oblast omezenou křivkami nakreslíme

> restart;

> plot({x^2,2/(1+x^2)},x=-5..5,y=0..5,scaling=constrained);

[Maple Plot]

Nyní spočítáme průsečíky křivek, abychom měli meze integrálu

> y1:=x^2;

y1 := x^2

> y2:=2/(x^2+1);

y2 := 2*1/(1+x^2)

> solve(y1=y2,x);

-1, 1, I*sqrt(2), -I*sqrt(2)

Následuje výpočet statických momentů S[x], S[y]

S[x] = rho*Int(f(x)^2,x = a .. b)/2

S[y] = rho*Int(x*f(x),x = a .. b)

Protože oblast je tvořena dvěma křivkami , statické momenty se budou odčítat.

> SX:=1/2*rho*Int(y2^2-y1^2,x=-1..1)=1/2*rho*int(y2^2-y1^2,x=-1..1);

SX := 1/2*rho*Int(4*1/((1+x^2)^2)-x^4,x = -1 .. 1) ...

> SY:=rho*Int(x*(y2-y1),x=-1..1)=rho*int(x*(y2-y1),x=-1..1);

SY := rho*Int(x*(2*1/(1+x^2)-x^2),x = -1 .. 1) = 0

Výpočet hmotnosti m = rho*P

> m:=rho*Int(y2-y1,x=-1..1)=rho*int(y2-y1,x=-1..1);

m := rho*Int(2*1/(1+x^2)-x^2,x = -1 .. 1) = rho*(Pi...

x - ová souřadnice těžiště x[T] = S[y]/m

> Xt:=rhs(SY)/rhs(m);

Xt := 0

> Xt := 0;

Xt := 0

y - ová souřadnice těžiště y[T] = S[x]/m

> Yt:=rhs(SX)/rhs(m);

Yt := 1/2*(8/5+Pi)/(Pi-2/3)

> Yt:=evala(Yt);

Yt := 3/10*(8+5*Pi)/(3*Pi-2)

>

 

9.5.2    Příklad 2.

mws verze

> restart;

Nalezněte souřadnice těžiště homogenního drátu ve tvaru čtvrtkružnice o rovnici y = sqrt(r^2-x^2) a délce na ose x v intervalu

<-r/sqrt(2), r/sqrt(2)>.

Nejdříve si funkci nakreslíme. Pro kreslení volíme r = 3

> plot(sqrt(9-x^2),x=-3/sqrt(2)..3/sqrt(2),y=0..3.3,scaling=constrained);

[Maple Plot]

Dále spočítáme statické momenty S[x], S[y] a hmotnost m .

K tomu potřebujeme spočítat derivaci a sqrt(1+`y'`^2)

> dery:=Diff(sqrt(r^2-x^2),x)=diff(sqrt(r^2-x^2),x);

dery := Diff(sqrt(r^2-x^2),x) = -1/(r^2-x^2)^(1/2)*...

> odmoc:=sqrt(1+x^2/(r^2-x^2));

odmoc := sqrt(1+x^2/(r^2-x^2))

Statické momenty S[x] a S[y] jsou

S[x] = rho*Int(f(x)*sqrt(1+f(x)^`´2`),x = a .. b)

S[y] = rho*Int(x*sqrt(1+f(x)^`'2`),x = a .. b)

Nyní ubezpečíme počítač, že poloměr r je vždy kladný příkazem assume

> assume(r>0);

> Sx:=rho*Int(sqrt(r^2-x^2)*odmoc,x=-r/sqrt(2)..r/sqrt(2))=rho*int(sqrt(r^2-x^2)*odmoc,x=-r/sqrt(2)..r/sqrt(2));

Sx := rho*Int(sqrt(r^2-x^2)*sqrt(1+x^2/(r^2-x^2)),x...

> Sy:=rho*Int(x*odmoc,x=-r/sqrt(2)..r/sqrt(2))=rho*int(x*odmoc,x=-r/sqrt(2)..r/sqrt(2));

Sy := rho*Int(x*sqrt(1+x^2/(r^2-x^2)),x = -1/2*r*sq...

> m:=rho*Int(r/sqrt(r^2-x^2),x=-r/sqrt(2)..r/sqrt(2))=rho*int(r/sqrt(r^2-x^2),x=-r/sqrt(2)..r/sqrt(2));

m := rho*Int(r/(r^2-x^2)^(1/2),x = -1/2*r*sqrt(2) ....

Souřadnice těžiště jsou :

x - ová souřadnice těžiště x[T] = S[y]/m

> SX:=rhs(Sy)/rhs(m);

SX := 0

y - ová souřadnice těžiště y[T] = S[x]/m

> SY:=rhs(Sx)/rhs(m);

SY := 2*r*2^(1/2)/Pi

>

 

9.5.3    Příklad 3.

mws verze

> restart;

Určetě těžiště drátu (homogenního) ve tvaru jednoho oblouku cykloidy :

phi = a*(t-sin(t)), psi = a*(1-cos(t)) , t náleží do intervalu <0,2*Pi> .

Nejprve křivku nakreslíme , a = 1 .

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

[Maple Plot]

Statické momenty S[x], S[y] se počítají dle vzorců : S[x] = rho*Int(psi(t)*sqrt(phi(t)^`´2`+psi(t)^`´2`)...

S[y] = rho*Int(phi(t)*sqrt(phi(t)^`´2`+psi(t)^`´2`)...

> ffi:=a*(t-sin(t));

ffi := a*(t-sin(t))

> ppsi:=a*(1-cos(t));

ppsi := a*(1-cos(t))

> derfi:=Diff(a*(t-sin(t)),t)=diff(a*(t-sin(t)),t);

derfi := Diff(a*(t-sin(t)),t) = a*(1-cos(t))

> derpsi:=Diff(a*(1-cos(t)),t)=diff(a*(1-cos(t)),t);

derpsi := Diff(a*(1-cos(t)),t) = a*sin(t)

> odmoc:=sqrt(rhs(derfi)^2+rhs(derpsi)^2);

odmoc := sqrt(a^2*(1-cos(t))^2+a^2*sin(t)^2)

> odmoc:=simplify(odmoc);

odmoc := sqrt(2)*sqrt(-a^2*(-1+cos(t)))

> odmoc:=expand(odmoc);

odmoc := sqrt(2)*sqrt(a^2-a^2*cos(t))

> SX:=rho*Int(ppsi*odmoc,t=0..2*Pi)=rho*int(ppsi*odmoc,t=0..2*Pi);

SX := rho*Int(a*(1-cos(t))*sqrt(2)*sqrt(a^2-a^2*cos...

> SX := rho*Int(a*(1-cos(t))*sqrt(2)*sqrt(a^2-a^2*cos(t)),t = 0 .. 2*Pi) = 32/3*rho/(a^2)^(1/2)*a^3;

SX := rho*Int(a*(1-cos(t))*sqrt(2)*sqrt(a^2-a^2*cos...

> assume(a>0);

> Sx:=simplify(rhs(SX));

Sx := 32/3*rho*a^2

Hmotnost se počítá podle vzorce m = Int(sqrt(phi(t)^`´2`+psi(t)^`´2`),t = t[1] .. t...

> m:=Int(odmoc,t=0..2*Pi)=int(odmoc,t=0..2*Pi);

m := Int(sqrt(2)*sqrt(a^2-a^2*cos(t)),t = 0 .. 2*Pi...

> x[t]:=Pi*a;

x[t] := Pi*a

> y[t]:=Sx/rhs(m);

y[t] := 4/3*rho*a

>

 

9.5.4    Příklad 4.

mws verze

> restart;

Vypočítejte těžiště a momenty setrvačnosti homogenního obrazce omezeného křivkami y = cos(x), y = x^2-Pi^2/4

Nejdříve obrazec omezený křivkami nakreslíme

> plot({cos(x),x^2-Pi^2/4},x=-2..2);

[Maple Plot]

Z obrázku je vidět,že není potřeba počítat průsečíky na ose x a že průsečíky jsou v bodech -Pi/2, Pi/2

My je z cvičných důvodů spočítáme

> solve({y=cos(x),y=x^2-Pi^2/4},{x,y});

{y = RootOf(4*_Z^2-Pi^2-4*cos(_Z),label = _L1)^2-1/...

> evalf(%);

{y = .205448940-41.74767771*I, x = 4.717308736-4.42...

> fsolve({y=cos(x),y=x^2-Pi^2/4},{x,y},-2..2);

{y = -.1756957784e-9, x = -1.570796327}

Jak je vidět Maple není všemocný a nejlepší řešení je vidět z obrázku

Nyní spočítáme statické momenty S[x], S[y] a hmotnost m

> vyr:=cos(x)^2-(x^2-Pi^2/4)^2;

vyr := cos(x)^2-(x^2-1/4*Pi^2)^2

> Sx:=1/2*rho*Int(vyr,x=-Pi/2..Pi/2)=1/2*rho*int(vyr,x=-Pi/2..Pi/2);

Sx := 1/2*rho*Int(cos(x)^2-(x^2-1/4*Pi^2)^2,x = -1/...

> SX:=rhs(%);

SX := 1/2*rho*(-1/30*Pi^5+1/2*Pi)

> vyr1:=x*(cos(x)-(x^2-Pi^2/4));

vyr1 := x*(cos(x)-x^2+1/4*Pi^2)

> vyr1 := x*(cos(x)-x^2+1/4*Pi^2);

vyr1 := x*(cos(x)-x^2+1/4*Pi^2)

> Sy:=rho*Int(vyr1,x=-Pi/2..Pi/2)=rho*int(vyr1,x=-Pi/2..Pi/2);

Sy := rho*Int(x*(cos(x)-x^2+1/4*Pi^2),x = -1/2*Pi ....

> SY:=rhs(%);

SY := 0

> vyr2:=cos(x)-(x^2-Pi^2/4);

vyr2 := cos(x)-x^2+1/4*Pi^2

> m:=rho*Int(vyr2,x=-Pi/2..Pi/2)=rho*int(vyr2,x=-Pi/2..Pi/2);

m := rho*Int(cos(x)-x^2+1/4*Pi^2,x = -1/2*Pi .. 1/2...

> mm:=rhs(%);

mm := rho*(2+1/6*Pi^3)

x - ová a y - ová souřadnice těžiště jsou

>

> xt:=SY/mm;

xt := 0

> yt:=SX/mm;

yt := 1/2*(-1/30*Pi^5+1/2*Pi)/(2+1/6*Pi^3)

> yt:=evala(yt);

yt := -1/10*Pi*(Pi^4-15)/(12+Pi^3)

>

 

10.    Nevlastní integrál

Připomeňme stručně, jak počítáme nevlastní integrál "ručně".Pro přímý výpočet uvažujeme limitu pro mez, která je buď nevlastní nebo je bodem nespojitosti

dané funkce ( v našem popisu např. horní mez ) :

> int(f(x),x = a .. b) = limit(int(f(x),x = a .. m),m = b) , obdobně zacházíme s nevlastním integrálem vzhledem k dolní mezi.

 

10.1     Příklad 1.

mws verze

Vypočtěte objem tělesa vzniklého rotací křivky y = arctan(x)/sqrt(1+x^2) v intervalu (- infinity , infinity ).

Je zřejmé, že výpočet objemu bude vlastně výpočet nevlastního integrálu.

Nakresleme si obrázek:

> plot(arctan(x)/sqrt(1+x^2),x=-infinity..infinity);

arctan(x)/(1+x^2)^(1/2)

infinity

infinity

[Maple Plot]

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

[Maple Plot]

Tento obrázek neukazuje přesvědčivě, že křivka neprotíná osu x, ale zato nás jistě přesvědčí, že objem bude tvořen dvěma shodnými částmi.

Nakreslíme ještě jeden obrázek v bližším okolí počátku.

> plot(arctan(x)/sqrt(1+x^2),x=-20..20);

[Maple Plot]

Vyjádříme nyní objem pomocí známého vzorce : V = Pi int(f(x)^2,x = a .. b) a objem vypočítáme, tedy

V = 2* Pi * int((arctan(x)/sqrt(1+x^2))^2,x = 0 .. infinity)

Pi

int(f(x)^2,x = a .. b)

Pi

1/24*Pi^3

> V:=2*Pi*limit(int((arctan(x)/sqrt(1+x^2))^2,x=0..m), m=infinity);

V := 1/12*Pi^4

V tomto případě jsme využili příkazů Maple pro výpočet limity a integrálu :

limit(f(x),x = r) = limit( f(x),x = r ); a int(f(x),x = a .. b) = int( f(x), x = a..b);

Pro "ruční" výpočet neurčitého integrálu IN = int((arctan(x)/sqrt(1+x^2))^2,x) využíváme obvykle substituci,

kterou můžeme také určit programu pro výpočet našeho integrálu - příkazem changevar

>

student[changevar] (f, v) ; nebo with(student):

changevar(f, v); kde f je vyjádření substituce f(x) = g(t) ,

v výraz Int(f(x),x = a..b)

nebo changevar(f, v, t); kde t je nová integrační proměnná

> student[changevar] (arctan(x)=t,Int((arctan(x)/sqrt(1+x^2))^2,x));

f(r)

int(f(x),x = a .. b)

1/3*arctan(x)^3

Int(t^2,t)

> value(%);

1/3*t^3

Napřed Maple dosadil substituci, dalším příkazem pak výpočet integrálu

> student[changevar] (arctan(x)=t,int((arctan(x)/sqrt(1+x^2))^2,x));

1/3*t^3

>

Tento příklad dosadí substituci a hned vypočte

> restart;

> with(student):

> changevar(arctan(x)=t,int((arctan(x)/sqrt(1+x^2))^2,x));

1/3*t^3

Nyní pokračujeme ve výpočtu určitého integrálu, protpže se jedná o integrál nevlastní - pomocí limity.

Napřed se vrátíme k původní proměnné.

> changevar(t=arctan(x),%);

1/3*arctan(x)^3

> V=limit(%,x=infinity);

V = 1/24*Pi^3

A toto byla další možnost

Maple ale umí vypočítat tento integrál přímo jako určitý s nevlastní mezí

> Int((arctan(x)/sqrt(1+x^2))^2,x=0..infinity)=int((arctan(x)/sqrt(1+x^2))^2,x=0..infinity);

Int(arctan(x)^2/(1+x^2),x = 0 .. infinity) = 1/24*P...

>

 

10.2    Příklad 2.

mws verze

Určete plochu rovinného obrazce omezeného křivkami y = exp(1)^(-3*x) , y = 0 pro x epsilon <0, infinity ).

Nakreslíme obrázek

exp(1)^(-3*x)

infinity

> plot(exp(1)^(-3*x),x = 0..infinity);

[Maple Plot]

Plochu obrazce omezeného křivkou y = f(x), osou x a přímkami x = a, y = b vypočteme podle známého vzorce

P = int(f(x),x = a .. b)

V našem případě je tedy plocha :

int(f(x),x = a .. b)

> P:=Int(exp(1)^(-3*x),x=0..infinity)=int(exp(1)^(-3*x),x=0..infinity);

P := Int(exp(1)^(-3*x),x = 0 .. infinity) = 1/3

>

 

10.3    Příklad 3.

mws verze

Vypočtěte hodnotu integrálu nevlastního vzhledem k nespojitosti v mezi int(tan(x),x = Pi/4 .. Pi/2)

infinity

> IN:=Int(tan(x),x = Pi/4 .. Pi/2)=int(tan(x),x = Pi/4 .. Pi/2);

IN := Int(tan(x),x = 1/4*Pi .. 1/2*Pi) = infinity

Protože hodnota tohoto integrálu je infinity , víme, že není definován, tedy diverguje

infinity

>

 

10.4    Příklad 4.

mws verze

Vypočtěte int(exp(1)^(1/x)/(x^2),x = -1 .. 0)

> Int(exp(1)^(1/x)/(x^2),x = -1 .. 0)=int(exp(1)^(1/x)/(x^2),x =-1 .. 0);

Int(exp(1)^(1/x)/x^2,x = -1 .. 0) = exp(-1)

>

 

10.5    Příklad 5.

mws verze

Vypočtěte objem tělesa vzniklého rotací křivky y = sqrt(1/(x+sqrt(x))) kolem osy x na intervalu <0,1>.

Vidíme, že integrál je nevlastní vzhledem k dolní mezi. Objem vypočítáme pomocí Maple takto:

> restart;

> V:=Pi*Int((sqrt(1/(x+sqrt(x))))^2, x=0..1)=Pi*int((sqrt(1/(x+sqrt(x))))^2, x=0..1);

V := Pi*Int(1/(x+sqrt(x)),x = 0 .. 1) = 2*Pi*ln(2)

> plot(sqrt(1/(x+sqrt(x))),x=0..1);

[Maple Plot]

> plot(sqrt(1/(x+sqrt(x))),x=0..0.1);

[Maple Plot]