Pereiti prie turinio

Matematika/Integravimas dalimis

Iš Wikibooks.

Integravimas dalimis[keisti]

Tarkime, kad funkcijos ir turi tolydžias išvestines. Tada:

Lygtis nesunkiai įrodoma prisiminus sandaugos diferenciavimo taisyklę:

Pavyzdžiai[keisti]

Č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

Rekurentinė formulė (neprofesionalams)[keisti]

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

Rekurentinė formulė (profesionalams)[keisti]

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.

Taip pat skaitykite[keisti]