Tarkime, kad funkcijos ir turi tolydžias išvestines. Tada:
Lygtis nesunkiai įrodoma prisiminus sandaugos diferenciavimo taisyklę:
Čia , o .
- .
u = ln x, u'=(ln x)'=1/x, , .
- .
u=x, dv=sin(x) dx, du=dx,
u=arcsin(x); dv=dx; v=x.
Patikriname
kur u=ln(x); dv=x dx; du=1/x dx;
kur u=ln(x); dv=dx; du=1/x dx; v=x.
kur u=arctg(x); dv=dx; v=x.
kur ; du=2x dx; ;
dv=sin(x)dx;
Dar kartą integruojame dalimis.
dv=cos(x)dx;
Turime, kad Vadinasi , tai
- kur
- kur
kur
kur
- Apskaičiuosime integralą Jei tai Todėl pagal formulę ()
- Apskaičiuosime integralą Jei tai Tada, remiantis formule,
- Paskutinį integralą vėl skaičiuosime pagal formulę. Jei šį kartą tai todėl
- Vadinasi, integralą apskaičiavome, du kartus pritaikę dalinio integravimo metodą. Nesunku suvokti, kad integralą (n - natūrinis skaičius) galima apskaičiuoti analogiškai, taikant dalinio integravimo formulę n kartų.
- Dabar apskaičiuosime integralą (a=const, b=const). Iš pradžių pritaikysime formulę, tarę, kad Gausime
- Paskutinį integralą skaičiuojame vėl pagal integravimo dalimis formulę, tik šį kartą Gausime
- Vadinasi, du kartus pritaikę dalinio integravimo formulę, gavome pirmojo laipsnio (6.11) lygtį integralo I atžvilgiu. Iš tos lygties radome I.
- Apskaičiuosime integralą Jis apskaičiuojamas pagal formulę, tarus, kad Tada du=dx, v=tg x,
- Tada
- Taigi dešinėje pusėje gavome pradinį integralą, kurį perkėlę į kairiąją pusę, turėsime:
- Todėl
- Analogiškai gautume:
- Darome keitinį Tada Tuomet turime:
- Tokį integralą integruoti dalimis jau mokame. Pažymime Tada
- Išintegruosime tokį integralą dalimis iš karto.
- Pažymime Tada
- Mums prireiks tokio integralo
- išintegravimas (integruojant keičiant kintamąjį).
- Sprendimas. Pažymėję tada
- Kai n = 1, analogiškai gauname
- Apskaičiuosime integralą
- (n - sveikasis teigiamas skaičius), kuris prireikia Racionaliųjų funkcijų integravime. Kai n = 1, turime integralų lentelės integralą
- Tegu n > 1. Išreiškę 1 skaitiklyje kaip skirtumą gausime
- Antrame integrale taikysime integravimo dalimis metodą:
- (v radome pagal (1.1) integravimą).
- Tada (pagal )
- toliau,
- iš čia
- Tokiu budu, integralas išreikštas per :
- Formulės tipo (3) vadinasi rekurentinėmis formulėmis.
- Pavyzdys. Apskaičiuoti
- Sprendimas. Pagal rekurentinę formulę (3) turime
- o
- todėl galutinai turime
- Apskaičiuosime labai svarbų tolesniam dėstymui (racionaliųjų funkcijų integravimui) integralą kai
- Išvesime rekurentinę formulę, pagal kurią integralo skaičiavimas pakeičiamas skaičiavimu.
- Galima rašyti (kai )
- Paskutinį integralą apskaičiuosime pagal dalinio integravimo formulę, tarę, kad Gausime
- Iš šios lygybės gauname rekurentinę formulę
- Įsitikinsime, kad pagal (6.12) rekurentinę formulę galima apskaičiuoti integralą su bet kokiu Iš tikrųjų integralas apskaičiuojamas paprastai:
- kur
- Apskaičiavę integralą (6.12) formulėje rašome ir nesunkiai apskaičiuojame Savo ruožtu, žinodami (6.12) formulėje rašome ir apskaičiuojame Taip tęsdami, apskaičiuosime integralą su bet kokiu natūriniu
- Pavyzdys 1. Apskaičiuoti
- Sprendimas. Pagal rekurentinę formulę (6.12) turime
- Tada
- Pavyzdys 2. Apskaičiuoti
- Sprendimas. Pagal rekurentinę formulę (6.12) gauname
- Čia integralo reikšmę paėmėme iš pirmo pavyzdžio.
- Pavyzdys 3. Apskaičiuosime integralą kai t kinta nuo 0 iki 6, o . Pasinaudosime antru pavyzdžiu.
- =2.1355728936095303100389379690846e-7=
- Toks Free Pascal kodas:
var a:longint; c:real;
begin
for a:=1 to 1000000000 do
c:=c+0.000000006/(sqr(sqr(sqr(a*0.000000006)+64)));
writeln(c);
readln;
end.
- Duoda rezultatą "2.1355728921217064E-007" (kas reiškia ) po 14 sekundžių su 4.16 GHz dažniu veikiančiu procesoriumi (kažkaip pirmus 2 kartus paleidus, duoda rezultatą po 29 sekundžių, o kai trečią ir daugiau kartų leidi FP šitą kodą, tai duoda po 14 sekundžių atsakymą). Kode sqr(x) reiškia Kad išeiti iš Free Pascal juodo lango (su atsakymu), reikia du kartus paspausti klaviaturos klavišą "Enter" (tada sugrįštama į kodo mėlyną ekraną-langą).
- Pažiūrėjau, kad ir kitus kodus pirmus 2 kartus ilgiau skaičiuoja, o trečią, ketvirtą ir t. t. greičiau skaičiuoja. Pavyzdžiui, pusę rutulio su spinduliu R=6 tūrio kodą skaičiuoja pirmus du kartus 20 sekundžių, o trečią ir velesnius kartus skaičiuoja per 7-8 sekundes (anksčiau pasirodė, kad tik pirmą kartą ilgiau, nes, kad compile'ina galvojau pirmą kartą ilgiau, o čia pasirodo ir antrą kartą ilgiau...).
- Update 1. Paskui vėl pradėjo Free Pascal skaičiuoti visus kodus tik pirmą kartą ilgiau. Bet va dabar pirmą kartą šitą kodą skaičiavo maždaug 1 minutę ir 55 sekundes. O antrą ir trečią kartą skaičiavo per tą patį laiką - per 14 sekundžių. Gal dabar interneto naršyklė (Opera) apkrauta dėl to pirmą kartą taip ilgai skaičiuoja...
- Toks Free Pascal kodas:
var a:longint; c:real;
begin
for a:=1 to 100000000 do
c:=c+0.00000006/sqr(sqr(sqr(a*0.00000006)+64));
writeln(c);
readln;
end.
- Duoda rezultatą "2.1355728787276117E-007" po maždaug 17 sekundžių per pirmus 2 kartus ir po 2 sekundžių trečią, ketvirtą ir velesnius kartus (paleidus) su 4.16 GHz dažniu veikiančiu procesoriumi. Šitame kode procesoriui reikia skaičiuoti 10 kartų mažiau (nei ankstesneme kode) ir gaunamas truputi mažiau tikslus atsakymas (vienu teisingu skaitmeniu mažiau). Tai galima daryti išvada, kad pirmus du kartus (paleidus šitą kodą) "Free Pascal" programa kažką neadekvačiai daro ir/ar skaičiuoja.