Konspektai

Diferenciavimas ir integravimas

10   (2 atsiliepimai)
Diferenciavimas ir integravimas 1 puslapis
Diferenciavimas ir integravimas 2 puslapis
Diferenciavimas ir integravimas 3 puslapis
Diferenciavimas ir integravimas 4 puslapis
Diferenciavimas ir integravimas 5 puslapis
Diferenciavimas ir integravimas 6 puslapis
Diferenciavimas ir integravimas 7 puslapis
Diferenciavimas ir integravimas 8 puslapis
Diferenciavimas ir integravimas 9 puslapis
Diferenciavimas ir integravimas 10 puslapis
Diferenciavimas ir integravimas 11 puslapis
Diferenciavimas ir integravimas 12 puslapis
Diferenciavimas ir integravimas 13 puslapis
Diferenciavimas ir integravimas 14 puslapis
Diferenciavimas ir integravimas 15 puslapis
Diferenciavimas ir integravimas 16 puslapis
Diferenciavimas ir integravimas 17 puslapis
Diferenciavimas ir integravimas 18 puslapis
Diferenciavimas ir integravimas 19 puslapis
Diferenciavimas ir integravimas 20 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

5. SKAITINIS INTEGRAVIMAS IR DIFERENCIJAVIMAS Sprendžiant inžinerinius ir mokslo uždavinius, skai­tinio integravimo ir dife­rencijavimo veiksmai atliekami gana dažnai. Pavyzdžiui, skaitinio in­te­­­gra­vi­mo prireikia tada, kai integralo neįmanoma apskaičiuoti analiziš­kai arba kai pointegralinė funkcija pateikta reikšmių lentele. Analizuojant inži­nerinius duo­menis, dažnai tenka skaičiuoti liestinės krypties koefi­cientą kuriame nors taške, todėl taikomi skaitinio diferencijavimo metodai. 5.1. Skaitinio integravimo metodai Aptarsime apibrėžtinių integralų apskaičiavimo uždavinį. Iš pradžių nagri­nėsime paprastųjų apibrėžtinių integralų apskaičiavimo metodus, paskui juos taikysime apskaičiuodami kartotinius integralus. Uždavinio formulavimas. Duotas integralas ; čia ir b — integravimo rėžiai, o – pointegralinė funkcija, pateikta arba ana­­liziškai, arba reikšmių lentele. Reikia apskaičiuoti R reikšmę tikslumu . Visų skaitinio integravimo metodų esmė yra ta, kad pointegralinė funk­cija keičiama aproksimuojančiąja funkcija ir laikoma, jog . Paprastai parenkama tokia aproksimuo­jan­­čio­ji funkcija , kad integralas būtų lengvai integruo­jamas ana­liziškai. Istoriškai plačiausiai naudojama aproksimuojančioji funkcija yra n-tosios eilės interpoliacinis polinomas, einantis per taškus , . Keičiant n reikšmę bei įvairiai parenkant taškus , gaunamos skir­tingos skaitinio integravimo formulės, kurios vadinamos kvadratūri­nė­mis for­mulėmis. Kai pointegralinė funkcija keičiama interpoliaciniu polinomu, kvadra­tūrinės formulės skirstomos į dvi stambias klases: 1) Niutono ir Koteso kvadratūrines formules; 2) Gauso kvadratūrines formules. Pastaruoju metu pointegralinė funkcija dažnai keičiama splainu, pa­pras­tai kubiniu, ir gaunamos kvadratūrinės splainų formulės. Išvedant kvadratūrines formules, dažniausiai apskaičiuojamas ; čia — pointegralinę funkcijąaproksimuojanti funk­cija. šio veiks­mo rezultatas paprastai yra tiesinis darinys. Jei yra n-tosios eilės interpoliacinis polinomas, einantis per taš­kus , tai gauta kvadratūrinė formulė tiksliai in­tegruoja visus polinomus iki n-tosios eilės imtinai. Todėl praktiškai labai patogu kvadra­tūrines formules išvesti žymaus amerikiečių matematiko R. V. Hemingo (R. W. Hamming) siūlomu metodu: ; čia — koeficientai, kurie apskaičiuojami taip, kad formulė tiksliai inte­gruotų bazinių funkcijų sistemą. Šis metodas ypač pato­gus, kai pointegralinė funkcija yra pateikta reikšmių lentele. Prieš pradėdami nagrinėti konkrečias kvadratūrines formules, trumpai ap­tarsime jų taikymo strategiją. Literatūroje, aprašančioje skaičiavimo meto­dus, kvadratūrinės formulės labai dažnai pateikiamos su konkrečia jų taikymo strategija. Pavyzdžiui, norint apskaičiuoti Simpsono metodu, kvadratūrinė formulė išvedama taip. Pirmiausia intervalas taškais padalijamas į lygių dalių ir kiek­­vie­noje jų taikoma Simpsono kvadratūrinė formulė , kurios , o . Tada visi rezultatai sumuojami ir gaunama apibendrinta Simpsono kvadratūrinė formulė: . Matome, kad ji susijusi su integravimo strategija: integravimo intervalas da­li­jamas į lygių dalių. Jei integravimo intervale yra sričių, kuriose pointegralinė funkcija kinta sparčiau nei kitose integravimo intervalo srityse, tai taikyti to­kią strate­giją būtų neprotinga. Šiuo atveju, norint apskaičiuoti integralą tam tikru tiks­lumu, reikėtų visame integravimo intervale imti tokį inte­gra­vimo žingsnį h, kuris ga­ran­tuotų reikiamą tikslumą srityse, kuriose funk­cija kinta sparčiausiai, ne­paisant to, kad srityse, kuriose funkcija kinta lėčiau, reikiamas tikslumas ga­li būti pasiektas esant didesniam integra­vimo žingsniui. Vadinasi, taikant šią stra­tegiją, bus naudojama per daug pointegralinės funkcijos reikšmių, todėl padidės in­tegra­vimo paklaidos. Paprastai norimą integravimo tikslumą stengiamasi pasiekti imant kuo ma­žiau pointegralinės funkcijos reikšmių. Todėl pastaruoju metu taikoma adapty­viojo integravimo strategija. (Apie ją kalbėsime vėliau.) Atsižvelgdami į šias pastabas, kvadratūrines formules toliau nagrinė­si­me ne­siedami jų su minėtomis integravimo strategijomis, o integravimo stra­tegijų algoritmus aptarsime atskirai. 5. 1.1. Niutono ir Koteso kvadratūrinės formulės Kaip jau minėta, Niutono ir Koteso kvadratūrinės formulės yra inter­polia­cinio tipo, kai pointegralinė funkcija keičiama interpoliaciniu poli­no­mu, kurį nusako iš anksto fiksuoti vienodai nutolę vienas nuo kito taškai . Tarkime, kad reikia apskaičiuoti integralą . Tada n-tosios eilės Niutono ir Koteso kvadratūrinė formulė išvedama taip: 1) integravimo intervalas taškais dalijamas į n lygių dalių; čia , o ; 2) pointegralinė funkcija keičiama n-tosios eilės interpoliaciniu poli­nomu , einančiu per taškus , ; čia ; 3) . (1) Kaip buvo minėta, svorinius koeficientus patogu apskaičiuoti Hemingo metodu. (1) formulė turi tiksliai integruoti funkcijas . Tada, simboliu pažymėję (literatūroje paprastai vadinamas inte­gravimo operatoriaus k-tuoju momentu), iš (1) formulės gausime lygčių sistemą (2) (2) sistemos matricos A determinantas yra Vandermondo determinantas, t. y. . Jis nelygus nuliui, jei . Vadinasi, (2) lygčių sistema yra suderinta ir turi vienintelį sprendinį. R. V. Hemingas siūlo šią sistemą spręsti atvirkš­tinės matri­cos metodu ir pateikia paprastą analizinį jos apskaičiavimo metodą. Jį čia ir aptarsime. Apibrėžkime polinomą . (3) Sudauginę ir sutraukę panašiuosius narius, gauname: . Kadangi , kai , ir , tai matricos i-toji eilutė bus . Padauginę i-tąją eilutę iš A j-tojo stulpelio, gauname: Vadinasi, . (4) Iš (4) formulės gausime koeficiento analizinę išraišką, priklausančią nuo taškų ir momentų . Ši formulė ypač patogi, kai taškai nesudaro arit­­metinės progresijos, o taip dažnai būna tada, kai funkcija pateikta lentele. 1 pavyzdys. Tarkime, kad turime taškus . He­min­go metodu apskaičiuokime koeficientus , su kuriais formulė tiksliai integruoja polinomus iki antrosios eilės imtinai. Apskaičiuojame polinomų reikšmes, kai , ir momentus : , , ; , , . Pagal (4) formulę apskaičiuojame koeficientus : , , . Vadinasi, formulė , esant taškams –1, 1, 2, tiksliai integ­ruoja polinomus iki antrosios eilės imtinai. Išvesdami Niutono ir Koteso kvadratūrines formules, pertvar­kysime taip, kad svoriniai koeficientai priklausytų tik nuo n. Pavartoję keitinį , gauname: . Pažymėkime: . Tada (5) čia , o — kvadratūrinės formulės liekamasis narys. Apskaičiuoti koeficientus bus paprasčiau, jei (5) formulėje imsime ir . Tada iš (5) formulės gausime: . (6) Taikant (6) formulę, Hemingo metodu labai patogu apskaičiuoti koefi­cien­tus A ir . 2 pavyzdys. Apskaičiuokime Simpsono kvadratūrinės formulės koefi­cien­tus. Šiuo atveju ir taškai yra –1, 0, 1. Pirmiausia apskaičiuojame momentus : , , . Paskui randame polinomų , ir reikšmes: , , , , , . Tada pagal (4) formulę apskaičiuojame koeficientus : , , . Vadinasi, taikydami Simpsono metodą, turime tokius koeficientus A ir : , , , . Toliau pateikta Niutono ir Koteso kvadratūrinių formulių ir jų lieka­mų­­jų narių lentelė (48 lentelė). Joje , o — koefi­cien­tai. 48 lentelė. Niutono ir Koteso kvadratūrinių formulių bei jų liekamųjų narių lentelė integralui apskaičiuoti n A B0 B1 B2 B3 B4 B5 Kn 1 1/2 1 1 –(1/12)h3 f (2)(x) 2 1/3 1 4 1 –(1/90)h5 f (4) (x) 3 3/8 1 3 3 1 –(3/80)h5 f (4) (x) 4 2/45 7 32 12 32 7 –(8/945)h7 f (6) (x) 5 5/288 19 75 50 50 75 19 –(275/12096)h7 f (6) (x) 6 1/140 41 216 27 272 27 216 –(9/1400)h9 f (8) (x) 7 7/17280 751 3577 1323 2989 2989 1323 –(8183/518400)h9 f (8) (x) 8 4/14175 989 5888 –928 10496 –4540 10496 k8h11f (10)(x) 9 9/89600 2857 15741 1080 19344 5778 5778 k9h11f (10)(x) 10 5/299376 16067 106300 –48525 272400 –260550 427368 k10h13f (12)(x) Kai n = 1 formulė vadinama trapecijų, o kai n = 2 — Simpsono formule. Kokias išvadas galima padaryti iš 48 lentelės? 1. Niutono ir Koteso kvadratūrinių formulių koeficientai yra simet­riš­ki centro atžvilgiu, t. y. , ir jų suma lygi n. 2. Lyginės eilės Niutono ir Koteso kvadratūrinės formulės tiksliai inte­g­ruoja visus polinomus iki (n + 1)-osios eilės imtinai, tuo tarpu nelygi­nės eilės kvad­ratūrinės formulės — tik iki n-tosios eilės imtinai. Ši lyginės ei­lės formulių savy­bė atsiranda dėl to, kad Niutono ir Koteso kvadra­tūrinėse formulėse naudo­jami vienodai nutolę vienas nuo kito taškai. Pavyzdžiui, Simpsono kvadratūrinė formulė tiksliai integruoja polinomus iki trečiosios eilės imtinai. Tačiau antro­sios eilės kvadratūrinė formulė , kuri buvo apskaičiuota su taškais –1, 1, 2, tiksliai integruoja polinomus tik iki antrosios eilės imtinai. Vadinasi, praktiškai reikia naudoti lyginės eilės kvad­ratūrines formules. 3. Lyginės eilės Niutono ir Koteso kvadratūrinės formulės liekamasis narys yra proporcingas (čia k — lyginis skaičius) ir į proporcingumo koefi­cien­tą kaip daugiklis įeina (k + 2)-osios eilės pointegralinės funk­cijos išvestinė. Nelyginės eilės kvadratūrinės formulės liekamasis narys pro­­­por­­cin­­gas (čia l — nelyginis skaičius) ir proporcingumo koe­ficientas turi daugiklį, lygų pointegralinės funkcijos (l + 2)-ajai išvestinei. Reikia pabrėžti, kad integravimo intervale taikant kvadratūrinę for­mulę kelis kartus, suminio liekamojo nario h laipsnis yra vienetu mažes­nis. Pavyz­­džiui, Simp­sono kvadratūrinę formulę integravimo intervale tai­­ky­kime m kar­tų, t. y. intervalą dalykime į 2m dalių ir kiek­vie­name intervale taikykime Simpsono formu­lę. Tada suminį lie­ka­­mąjį narį apskaičiuosime pagal formulę . Kadangi praktiškai apskaičiuojant integralus, kvadratūrinės formulės inte­­gra­vimo intervale taikomos daug kartų, tai, norėdami įvertinti metodo pa­klaidą, h laipsnį imsime vienetu mažesnį nei 48 lentelėje. Metodo paklaidos įvertinimas. Kaip nustatyti metodo paklaidą? 48 lente­lėje pateiktos liekamųjų narių išraiškos turi daugiau teorinę vertę, nes jos reikalauja įvertinti pointegralinės funkcijos aukštesnės eilės išvestines. Todėl prak­tikoje in­­te­gravimo metodo paklaida apskaičiuojama Ričardsono ir Rombergo metodu. Tarkime, kad kvadratūrinės formulės metodo paklaida proporcinga ir proporcingumo koeficientas turi daugiklį, lygų pointegra­linės funkcijos p-tosios eilės išvestinei. Simboliais ir pažymėkime integralo R reikšmes, kai nau­dojamas atitinkamai integravimo žingsnis h ir . Tada, laikydami, kad po­integra­linės funkcijos p-tosios eilės išvestinė integravimo intervale yra pasto­vi, gali­me užrašyti: Iš šios lygčių sistemos apskaičiuojame : . (7) Remdamiesi (7) formule, gauname: . (8) Vadinasi, jei pointegralinės funkcijos p-tosios eilės išvestinė integra­vimo intervale yra pastovi, iš (7) formulės gaunama tiksli metodo pa­klai­da, prie­šingu atveju įvertina integravimo metodo pakla­­i­dą. Taigi (8) kvad­ratū­rinės formulės eilė yra vienetu didesnė nei kvad­ra­tūri­nės for­mu­lės, pagal kurią apskaičiavome ir . Pavyzdžiui, Simpsono metodu galime tiksliai apskaičiuoti integralo, ku­­rio po­integralinė funkcija yra 4-osios eilės polinomas, reikšmę. Iš­nagri­nėki­me pa­vyzdį, t. y. Simpsono metodu tiksliai apskaičiuokime . Tiksli šio integralo reikšmė lygi 4. Apskaičiuokime jo reikšmę pagal (8) for­mulę: , , . (4) formulė įgalina automatiškai gauti Niutono ir Koteso kvadratū­ri­nes for­mu­les. Toliau pateikta šių formulių iki 10-osios eilės imtinai koefi­­cientų apskai­čiavimo programa. Aukštesnės eilės kvadratūrinių formulių koefi­cien­tų ap­skai­čia­vimo galimybes riboja kompiuterio sveikųjų skaičių arit­­metika. Norint rasti aukštesnės eilės kvadratūrinių formulių koeficien­tus, (4) formulės sumą reikia skaičiuoti dalimis, kad tarpiniai rezultatai bū­­­tų ne di­desni už didžiausią sveikąjį skaičių, kurį kompiuteris gali įsiminti. Panagrinėjus tokius „triukus“, buvo gauti 11-tosios ir 12-tosios eilės Niutono ir Koteso kvadratū­rinių formulių koefi­cien­tai. Kai , gauname tokius Niutono ir Koteso kvadratūrinės formulės koe­ficientus wi: i wi i wi 0 4777223/17418240 6 28404871/14515200 1 49450643/29030400 7 –17591827/14515200 2 –35608243/87091200 8 6166523/1935360 3 6166523/1935360 9 –35608243/87091200 4 –17591827/14515200 10 49450643/29030400 5 28404871/14515200 11 4777223/17418240 Kai , Niutono ir Koteso kvadratūrinės formulės koeficientai wi yra tokie: i wi i wi 0 1364651/5255250 7 14586048/875875 1 150048/79625 8 –3432753/350350 2 –1264644/875875 9 3572512/525525 3 3572512/525525 10 –1264644/875875 4 –3432753/350350 11 150048/79625 5 6 14586048/875875 –2090408/125125 12 1364651/5255250 Aptarkime kai kurias Niutono ir Koteso kvadratūrinių formulių koeficientų apskaičiavimo programos detales. Integravimo rėžiai nustatomi pagal formules čia n — kvadratūrinės formulės eilė. Tada momentai ap­skai­čiuojami taip: kai n — lyginis skaičius, tai kai n — nelyginis skaičius, tai Kadangi taškai , tai reikšmė apskaičiuojama pagal for­mulę , o koeficientai — taip: c[0]:=1; x:= a; l:=0; for k:=0 to n do begin if ki then begin c[l+1]:=c[l]; for j:=l downto 1 do c[j]:=c[j-1]-c[j]*x; c[0]:=-c[0]*x; l:=l+1; end; x:=x+1 end; Niutono ir Koteso kvadratūrinių formulių koeficientų apskaičiavimo programa program nkkf; const NN=20; type mas=array[0..NN] of longint; var n,i : integer; ws,wv : mas; procedure dbd(a,b: longint; var bd: longint); { Procedūra dbd, naudodama Euklido algoritmą, apskaičiuoja sveikųjų skaičių a ir b didžiausiąjį bendrąjį daliklį. Formalūs parametrai: a,b – sveikieji skaičiai, bd – skaičių a ir b didžiausiasis bendrasis daliklis } var r,aa,bb : longint; begin aa:=a; bb:=b; r:=aa mod bb; while r0 do begin aa:=bb; bb:=r; r:=aa mod bb; end; bd:=bb; end; procedure nkf(n: integer; var ws,wv: mas); { Procedūra nkf Hemingo metodu apskaičiuoja n-tosios eilės Niutono ir Koteso kvadratūrinės formulės koeficientus. Formalūs parametrai: n – kvadratūrinės formulės eilė, ws[i] – i-tojo koeficiento skaitiklis, wv[i] – i-tojo koeficiento vardiklis } var i,j,k,l,np : integer; a,ak1,ap1,x,wi : longint; wss,wvv,bd,bmk : longint ; ms,mv,c,bs,bv : mas; begin if n > 10 then begin writeln('n turi būti ne didesnis nei 10'); exit end; { Momentų apskaičiavimas } if n mod 2 = 0 then begin a:= n div 2; ak1:= a; for k:=0 to n do begin if k mod 2 = 0 then begin ms[k]:=2*ak1; mv[k]:=k+1 end else begin ms[k]:=0; mv[k]:=1 end; ak1:=ak1*a; end end else begin a:= (n-1) div 2; ak1:= a; ap1:= a+1; for k:=0 to n do begin if k mod 2 = 0 then ms[k]:=ap1+ak1 else ms[k]:=ap1-ak1; mv[k]:=k+1; ak1:=ak1*a; ap1:=ap1*(a+1) end end; { Niutono ir Koteso kvadratūrinių formulių koeficientų apskaičiavimas } np:=n div 2; for i:=0 to np do begin { W[i](x[i]) reikšmės apskaičiavimas } wi:=1; for k:=0 to n do if ki then wi:=wi*(i-k); { Polinomo W[i](x) =(x-x[0])*(x-x[1])*...*(x-x[i-1])*(x-x[i+1])*...*(x-x[n]) =x**n+c[n-1]*x**(n-1)+...+c[1]*x+c[0] koeficientų c[i],i=n,n-1,...,0, apskaičiavimas } c[0]:=1; x:=-a; l:=0; for k:=0 to n do begin if ki then begin c[l+1]:=c[l]; for j:=l downto 1 do c[j]:=c[j-1]-c[j]*x; c[0]:=-c[0]*x; l:=l+1; end; x:=x+1 end; { Koeficientų w[0],w[1],...,w[n] apskaičiavimas } { Sandaugų c[k]*m[k], k=0,1,2,...,n, skaitiklių ir vardiklių apskaičiavimas } for k:=0 to n do begin bs[k]:=c[k]*ms[k]; bv[k]:=mv[k] end; { Trupmenų bs[0]/bv[0],bs[1]/bv[1],...,bs[n]/bv[n] sumavimas } wss:=0; wvv:=1; for k:=0 to n do begin { Trupmenos wss/wvv prastinimas } bdd(wss,wvv,bd); wss:=wss div bd; wvv:=wvv div bd; { Sumos wss/wvv+bs[k]/bv[k] apskaičiavimas } bdd(wvv,bv[k],bd); bmk:=wvv*(bv[k] div bd); wss:=wss*(bv[k] div bd)+bs[k]*(bmk div bv[k]); wvv:=bmk end; ws[i]:=wss; wv[i]:=wvv*wi; bdd(ws[i],wv[i],bd); ws[i]:=ws[i] div bd; wv[i]:=wv[i] div bd end; if n mod 2 =0 then for k:=1 to np do begin ws[np+k]:=ws[np-k]; wv[np+k]:=wv[np-k] end else for k:=0 to np do begin ws[np+k+1]:=ws[np-k]; wv[np+k+1]:=wv[np-k] end end; begin writeln('įveskite n'); read(n); writeln; writeln('n=',n); nkf(n,ws,wv); for i:=0 to n do begin writeln(ws[i],' ',wv[i]); writeln; end; end. 5.1.2. Integravimo strategijos Kaip jau buvo minėta, praktikoje tenka spręsti tokį integravimo už­­davinį: ap­skaičiuoti tikslumu . Integruojant skaitiniu būdu, susiduriama su dviejų rūšių paklaidomis: 1) integravimo metodo paklaidomis; 2) apvalinimo paklaidomis. Kvadratūrinių formulių integravimo metodo paklaidas ir jų įvertinimą apta­rė­me 6.1.1 paragrafe. Apvalinimo paklaidos susijusios su pointegra­linės funkci­jos reikšmių apskaičiavimu. Kuo daugiau šios funkcijos reikš­mių naudojama in­tegruojant, tuo didesnė apvalinimo paklaida. Kaip matyti iš 48 lentelės, integravimo metodo paklaida yra propor­cin­ga ; čia h — integravimo žingsnio ilgis, o p — teigiamasis sveikasis skai­čius. Tuo tarpu literatūroje nurodyta, kad apvalinimo pa­klaida proporcin­ga . Tai reiškia, kad, mažinant integravimo žingsnį (di­di­nant pointegralinės funkcijos reikšmių skaičių), metodo paklaida ma­žė­­ja, o apvalinimo paklaida di­dė­ja. Aišku, kad kiekvienai kvadratūrinei for­­mulei ir pointegralinei funkcijai galima parinkti tokią optimalią inte­gra­­vimo žingsnio reikšmę, su kuria metodo ir apvalinimo paklaidos yra tos pa­­čios eilės. Vadinasi, kai integravimo žingsnio ilgis pasidaro mažesnis už šią reikšmę, apvalinimo paklaida viršija metodo paklaidą ir toliau mažinti integravimo žingsnį nėra prasmės. Metodo, kuriuo būtų galima iš anksto apskaičiuoti konkrečios kvadra­tūrinės formulės ir pointegralinės funkcijos optimalų integravimo žingsnį, nėra. Todėl iš šio samprotavimo galime daryti išvadą, kad reikia rinktis to­kią integravimo strategiją, kuri leistų norimą integravimo tikslumą pa­siekti esant mažiausiam pointegralinės funkcijos reikšmių skaičiui. Iš pradžių aptarsime ne itin racionalią, tačiau dar plačiai taikomą stra­tegiją, kai visame integravimo intervale naudojamas to paties ilgio in­te­gra­vimo žingsnis, paskui — kur kas racionalesnę adaptyviojo inte­­gravimo stra­tegiją. Vienodo žingsnio visame integravimo intervale strategija. Šią strategiją nagrinėsime imdami 4-osios eilės Niutono ir Koteso kvadratūrinę formu­lę. Pirmiausia sudarysime algoritmą apskaičiuoti, kai ši formu­lė integravimo intervale taikoma kartų, tada, juo remdamiesi, sukonst­ruo­sime algoritmą apskaičiuoti tikslumu eps. Algoritmas apskaičiuoti, kai 4-osios eilės Niutono ir Koteso formulė taikoma k kartų procedure nk4 (k:integer; a,b:real; var R:real; var sk:integer); { Formalūs parametrai: k (k=1) — skaičius, parodantis, kiek kartų taikoma kvadratūrinė formulė, a,b — integravimo rėžiai, R – integralo reikšmė, sk – integruojant apskaičiuotų pointegralinės funkcijos reikšmių skaičius} begin R:=0; x:=a; h:=(b-a)/(4*k); y0:=f(x); sk:=1; for i:=1 to k do begin y4:=f(x+4*h); R:=R+7*y0+32*f(x+h)+12*f(x+2*h)+32*f(x+3*h)+7*y4; y0:=y4; x:=x+4*h; sk:=sk+4; end; R:=2*h*R/45; end; Algoritmas integralui apskaičiuoti tikslumu eps Duota: a, b — integravimo rėžiai, eps — integravimo tikslumas, max — didžiausias leistinas pointegralinės funkcijos reikšmių skaičius. Reikia rasti: apytikslę reikšmę R, integralo R santykinę paklaidą err. begin p:=6; k:=1; z:=1+eps; {Metodo paklaida} { Simboliai Rh ir Rh2 žymi atitinkamai Rh ir Rh/2 } nk4(k,a,b,Rh,sk); { Rh apskaičiavimas } s:=sk; { Integruojant apskaičiuotų pointegralinės funkcijos reikšmių skaičius } while (abs(z)>eps) and (s 0), rr – santykinės paklaidos dydis (rr > 0), r – integralo reikšmė, er – tikrosios skaičiavimo paklaidos įvertinimas, nn – integruojant panaudotų funkcijos reikšmių kiekis, flag – patikimumo indikatorius: dydžio flag sveikoji dalis lygi skaičiui intervalų, kuriuose nebuvo pasiektas norimas tikslumas; dydžio flag trupmeninė dalis lygi pagrindinio intervalo daliai, kuriai esant buvo pasiekta ribinė nn reikšmė ( nf= nmax-8*(levmax-levout+2**(levout+1)). Pirmasis etapas Pradinių reikšmių suteikimas kintamiesiems, nepriklausantiems nuo integravimo intervalo } begin levmax:=30; levout:=6; nmax:=5000; pw:=1; for i:=1 to levout+1 do pw:=pw*2; nf:=nmax-8*(levmax-levout+pw); { Jei nn pasiekia nf reikšmę, tai pointegralinė funkcija nurodytuose integravimo rėžiuose gali buti trūki } { 8-osios eilės Niutono ir Koteso kvadratūrinės formulės koeficientai } c:=14175.; w0:=3956./c; w1:=23552./c; w2:=-3712./c; w3:=41984./c; w4:=-18160./c; { Pradinių reikšmių suteikimas kintamiesiems } flag:=0.; r:=0; cor11:=0.; er:=0.; nn:=0; lev:=0; nim:=1; poz:=1; if a tolerr) and (lev = levmax ) then flag:=flag+1; { Funkcijos reikšmių skaičius artimas ribiniam } if ( nn > nf ) then begin nf:=2*nf; levmax:=levout; flag:=flag+(b-x[0])/(b-a) end; { Tikslumo sąlyga i-tajame intervale tenkinama } r:=r+qnow; er:=er+esterr; cor11:=cor11+qdiff/1023.; { Rasti kitą intervalą } while ( (nim mod 2) 0 ) do begin nim:=nim div 2; lev:=lev-1 end; nim:=nim+1; if (lev 0. ) then begin temp:=abs(r)+er; while ( temp = abs(r) ) do begin er:=er*2.; temp:=abs(r)+er end end end; 5.1.3. Gauso kvadratūrinės formulės Niutono ir Koteso kvadratūrinėse formulėse taškai , apibrėžiantys pointe­gra­linę funkciją aproksimuojantį polinomą, yra nutolę vienodai vienas nuo kito ir iš anksto fiksuoti, o kvadratūrinė formulė turi išraišką . (9) Šioje formulėje ir toliau šiame paragrafe patogiau nagrinėti kvadratū­ri­nes formules, kai taškų indeksas i kinta nuo 1 iki n. Atsisakykime iš anksto fiksuotų taškų ir uždavinį formuluokime taip: reikia rasti tokius taškus ir svorinius koeficientus , su kuriais (9) for­mulė tiks­liai integruotų kiek galima aukštesnės eilės polinomus. Kadangi turime 2n laisvai kintamų parametrų, tai galime reikalauti, kad (9) formulė tiksliai integruotų visus polinomus iki (2n – 1)-osios eilės imtinai. Nagrinėjamo uždavinio nesusiaurinsime, vietoj integravimo rėžių a ir b paėmę rėžius ir 1, taigi galime nagrinėti formulę . (10) Integralą nesunku paversti integralu , taikant keitinį . (11) Tada . (12) Pirmiausia reikia atsakyti į klausimą „Ar šis uždavinys turi sprendinį ir ar jis yra vienintelis?“ Tam tikslui remiamės toliau pateiktomis teoremomis. 1 teorema. (10) kvadratūrinė formulė tiksliai integruoja visus poli­no­mus iki (2n – 1)-osios eilės imtinai tada ir tik tada, kai: 1) daugianaris yra ortogonalus bet kuriam polinomui , kurio laipsnis , t. y. ; 2) ta formulė yra interpoliacinio tipo kvadratūrinė formulė, t. y. kai . 2 teorema. Egzistuoja vienintelis polinomas , tenkinantis 1 teore­mos pirmąją sąlygą. 3 teorema. Jei yra n-tojo laipsnio polinomas, tenkinantis 1 teore­mos pirmąją sąlygą, tai intervale jis turi n tikrųjų šaknų. Iš šių teoremų darome išvadą, kad (10) Gauso kvadratūrinė formulė egzis­tuoja ir yra vienintelė. Polinomas, tenkinantis 1 teoremos pirmąją sąlygą, yra Ležandro polinomas , kurį patogu reikšti rekurenčiomis formulėmis: , , (13) . Kaip randami Gauso kvadratūrinės formulės taškai ir svoriniai koeficien­tai ? Šiuos parametrus galima apskaičiuoti dviem metodais. Pirmasis metodas. Taškai sutampa su Ležandro polinomo šaknimis, o svo­riniai koeficientai apskaičiuojami pagal formulę . (14) Ši formulė išvedama remiantis 1 teoremos antrąja sąlyga, Kristofelio ir Darbu tapatybe bei sąlyga, kad yra Ležandro polinomas. 1 pavyzdys. Apskaičiuokime Gauso kvadratūrinės formulės taškus bei svorinius koeficientus, kai . Pirmiausia randame 3-iosios eilės Ležandro polinomą: ; ; , . Vadinasi, ieškomieji taškai yra tokie: , , . Tada ; . Antrasis metodas (Hemingo metodas). šis metodas yra bendresnis ir remiasi tuo, kad (10) formulė turi tiksliai integruoti visus polinomus iki (2n – 1)-osios eilės imtinai. Tada iš (10) formulės gauname lygčių sistemą (15) čia . R. V. Hemingas pasiūlė originalų šios sistemos sprendimo metodą. Tar­ki­me, kad žinome taškus , tenkinančius (15) sistemą. Apibrėžkime polinomą ; čia . Aišku, kad , . Padauginkime (15) sistemos pirmąją lygtį iš , antrąją — iš ir t. t., (n + 1)-ąją — iš ir šias lygtis sudėkime. Atsižvelgdami į tai, kad , gauname: . Procesą pakartokime pradėdami antrąja (15) sistemos lygtimi. Gausime: . Tai pakartoję n kartų, turėsime tiesinių lygčių sistemą . (16) Jeigu jos determinantas nelygus nuliui, tai, ją išsprendę, gausime poli­nomą, kurio šaknys yra Gauso kvadratūrinės formulės taškai. Turėdami juos ir paėmę (15) sistemos n pirmųjų lygčių, iš gautos tiesinių lygčių sis­temos apskai­čiuo­sime svorinius koeficientus . Kai (16) lygčių sistemos determinantas lygus nuliui, galimas vienas iš dviejų atvejų: arba (16) lygčių sistema yra nesuderinta ir kartu nėra tokios kvadratū­rinės formulės, arba matricos rangas žemesnis už n. Šiuo atveju prie (16) lygčių sistemos prijungiamos papildomos lygtys, kurios gaunamos iš (15) sistemos, polinomo laipsnį imant aukštesnį nei . Tai reiškia, kad gaunama tiks­lesnė kvadratūrinė formulė. 2 pavyzdys. Apskaičiuokime Gauso kvadratūrinę formulę, kai . Pirmiausia randame momentus: ; ; ; ; ; . Apskritai Tada gauname (16) lygčių sistemą arba Jos sprendinys yra toks: , , vadinasi, daugianaris . Šio polinomo šaknys, o kartu Gauso kvadratūrinės for­mulės taškai yra: , ir . Svorinius koeficientus apskaičiuojame iš sistemos Žinodami, kad , ir , gauname tokį šios siste­mos sprendinį: , . Antrasis metodas yra bendresnis ir gali būti taikomas išvedant kvadra­tū­rines formules, kurių koeficientai tenkina papildomas tiesines sąly­gas. Pavyz­džiui, jei pareikalautume, kad koeficientai tenkintų sąlygą , gautume Čebyšovo kvadratūrines formules, kurios egzistuoja tik tada, kai . Antrasis metodas tinka ir uždaro tipo Gauso kvadratūrinėms formu­lėms gauti. Jei pareikalautume, kad integravimo intervalo kraštiniai taškai priklausytų taškams xi, o kiti taškai xi ir visi svoriniai koeficientai būtų apskaičiuojami taip, kad kvadratūrinė formulė tiksliai integruotų visus poli­nomus iki (2n – 3)-iosios eilės imtinai, tai gautume Loba­­to ir Rado kvadra­tūrines formules. R. Lobato (R. Lobatto) jas nagri­nėjo 1852 metais, o R. Rado (R. Radau) — 1880 metais. Pavyzdžiui, apskaičiuokime Lobato ir Rado kvadratūrinės formulės koefi­cien­tus, kai , o integravimo intervalas yra . Šiuo atveju kvadra­tūrinę formulę galime užrašyti taip: . Tada (15) lygčių sistema įgis išraišką Elementariai pertvarkę šią sistemą, eliminuokime iš jos ir . Gausime: Remdamiesi šia sistema, apskaičiuosime (16) lygčių sistemos koeficientus: Įrašę į ją momentų reikšmes ir išsprendę, gausime tokias ir reikšmes: , o . Tada Iš čia , o . Taigi kai , o integravimo intervalas yra , Lobato ir Rado kvadratūrinės formulės mazginiai taškai yra tokie: , , ir . Turėdami šiuos taškus, galime nesunkiai apskaičiuoti svorinius koefi­cien­tus: , , . Analogiškai ieškoma Lobato ir Rado kvadratūrinių formulių koefi­cien­­­tų, kai integravimo intervalas yra . Kadangi tos formulės taiko­mos konstruojant neišreikštinius Rungės ir Kutos metodus, skirtus stan­džioms diferencialinėms lygtims spręsti, išnagrinėkime Lobato ir Rado kvadratūrinės formulės išvedimą, kai , o integravimo interva­las yra . Aišku, kad , o momentų reikšmės yra , , , , ir . Tada (15) lygčių sistemą galima užrašyti taip: o (16) sistemą — taip: Išsprendę pastarąją sistemą, gauname: , . Apskaičiavę polinomo šaknis, randame taškų ir reikšmes: , . Pasinaudodami jomis, apskaičiuojame svorinius koeficien­tus: , . Pastaba [HNW87]. Jei integravimo intervalas yra , tai Lobato ir Ra­do kvadratūrinės formulės taškai xi yra (n – 1)-osios eilės Ležandro poli­nomo išvestinės šaknys arba (n – 2)-osios eilės Jakobio poli­nomo šaknys. Ši pastaba rodo, kad Lobato ir Rado kvadratūrinių formulių para­metrai xi ir wi intervale gali būti apskaičiuojami paprasčiau nei intervale . Vadinasi, skaičiavimą supaprastinsime, jei parametrus pirmiausia apskaičiuo­si­me intervale , o paskui juos redukuosime į intervalą . Modifikuotas Lobato ir Rado kvadratūrinių formulių išvedimo metodas 1. Remdamiesi (13) formule, randame (n – 1)-osios eilės Ležandro poli­nomą . 2. Pagal formulę apskaičiuojame koeficientus. 3. Randame taškus xi. Kadangi intervale taškai xi yra simetriški koor­di­načių pradžios atžvilgiu, o simetriškus taškus xi atitinkantys koe­ficientai wi yra lygūs, tai apskaičiuojame tik neneigiamus xi bei juos ati­tin­kan­čius koefi­cientus wi. Tam tikslui randame neneigiamas šak­nis ; , kai n — lyginis skaičius, ir , kai n — ne­lygi­nis skaičius. visos šaknys yra realiosios ir išsidės­čiu­­sios intervale . Jų apskaičiavimas analogiškas polinomo šaknų apskaičia­vimui, kuris nagrinėjamas toliau pateiktoje Gauso kvadra­tū­rinės formulės dalijimo taškų ir svorinių koeficientų apskaičiavimo pro­cedūroje kgaus. Tada neneigiami taškai xi yra , , …, , . n1+1 pažymėkime n2, t. y. n2 = n1 + 1. 4. Randame koeficientus wi. Neneigiamus taškus xi atitinkančius koe­fi­cien­tus wi apskaičiuojame spręsdami n2 tiesinių lygčių sistemą, kurią sudarome imdami iš viršaus (15) sistemos kas antros lygties pusę narių (dešiniąją pusę) ir prilygindami juos laisvojo nario pusei. Formaliai sistemos dw = f formavimas aprašomas taip: { Sistemos dw = f formavimas ir koeficientų w[i] apskaičiavimas} begin for j:=1 to n2 do s[j]:=1; k:=0; for i:=1 to n2 do begin for j:=1 to n2 do d[i,j]:=s[j]; f[i]:=m[k]/2; k:=k+2; for j:=1 to n2 do s[j]:=s[j]*x[j]*x[j]; end; gausas(n2,d,f,w); {Sistemos d*w=f sprendimas Gauso metodu} if (n mod 2) 0 then w[1]:=w[1]*2; end; Sistemos dw = f sprendinys sutaps su koeficientais wi, atitinkančiais ne­neigiamus xi. Kai n yra nelyginis, tai x1 = 0 ir šis taškas simetriškas jo pa­ties at­žvilgiu. Todėl sistemos sprendinyje apskaičiuota w1 reikšmė yra dvi­gubai ma­žes­nė už tikrąją reikšmę. Vadinasi, kai n yra nelyginis, tai w1 : = 2w1. 5. Remdamiesi (12) formule, parametrus xi ir wi redukuojame į intervalą . Iš šios formulės matyti, kad koeficientai turi būti padauginti iš daugiklio , t. y. , o taškai xi apskaičiuojami pagal for­mulę . Turėdami neneigiamus taškus , , …, bei juos atitinkančius koe­ficientus , , …, intervale , visus taškus xi ir juos atitinkančius koeficientus wi intervale apskaičiuojame pagal toliau pa­teiktą algoritmą. { Dalijimo taškų ir svorinių koeficientų apskaičiavimas intervale [a;b] } begin for i:=1 to n2 do begin tx[i]:=x[i]; tw[i]:=w[i]; end; for i:=n2 downto 1 do begin if (n mod 2) = 0 then k:=n2+i else k:=n2+i-1; x[k]:=((bb-aa)*tx[i]+(bb+aa))/2; w[k]:=(bb-aa)*tw[i]/2; x[n2-i+1]:=(-(bb-aa)*tx[i]+(bb+aa))/2; w[n2-i+1]:=w[k]; end; end; Toliau pateikta procedūra Gauso kvadratūrinės formulės koeficien­tams ir taškams apskaičiuoti pirmuoju metodu. 49 ir 50 lentelėje nurodyti pagal šią programą apskaičiuoti Gauso kvadratūrinės formulės taškai ir svoriniai koe­fi­cien­tai penkiolikos ženklų tikslumu, kai ir . Kaip nurodyta literatūroje [KvSa74], Gauso kvadratūrinės formulės lie­ka­masis narys integralui apskaičiuojamas pagal formulę . (17) Šią formulę praktiškai taikyti nepatogu, nes reikia įvertinti pointe­grali­nės funkcijos 2n-tosios eilės išvestinę. Gauso kvadratūrinės formulės lie­ka­mąjį narį, kaip ir Niutono bei Koteso kvadratūrinių formulių liekamuo­sius narius, galima rasti Ričardsono ir Rombergo metodu. 49 lentelė. Gauso kvadratūrinė formulė, kai n = 10 x w 0,148874338981631 0,295524224714753 0,433395394129247 0,269266719309996 0,679409568299024 0,219086362515982 0,865063366688985 0,149451349150581 0,973906528517172 0,066671344308688 50 lentelė. Gauso kvadratūrinė formulė, kai n = 20 x w 0,076526521133497 0,152753387130726 0,227785851141645 0,149172986472604 0,373706088715420 0,142096109318382 0,510867001950827 0,131688638449177 0,636053680726515 0,118194531961518 0,746331906460151 0,101930119817241 0,839116971822219 0,083276741576706 0,912234428251326 0,062672048334107 0,963971927277913 0,040601429800388 0,993128599185095 0,017614007139152 Tarkime, kad pointegralinės funkcijos 2n-tosios eilės išvestinė integra­vimo intervale yra pastovi. Tada galima parašyti (18) čia — integralo reikšmė, gauta pritaikius n-tosios eilės Gau­so kvadratūrinę formulę intervale ; — reikš­mė, gauta pritaikius n-tosios eilės Gauso kvadratūrinę formulę kairiajame ir dešiniajame intervalo pusintervalyje. Iš (18) lygčių sistemos gauname: , taigi formulė (19) tiksliai integruoja visus polinomus iki 2n-tosios eilės imtinai. Jei pointegralinės funkcijos 2n-tosios eilės išvestinė integravimo inter­va­le nėra pastovi, tai išraiška (20) įvertina n-tosios eilės Gauso kvadratūrinės formulės liekamąjį narį. 3 pavyzdys. Remdamiesi 2-osios eilės Gauso kvadratūrine formule, pa­gal (19) formulę tiksliai apskaičiuokime integralo reikšmę. Tiksli šio integralo reikšmė lygi 64/5. 2-osios eilės Gauso kvadratūrinės formulės taškai yra , , o svoriniai koeficientai . Tada . . . Vadinasi, . (19) ir (20) formulė leidžia Gauso kvadratūrinei formulei taikyti adap­ty­viojo integravimo strategiją. Tai daryti net paprasčiau nei naudo­jant Niutono ir Kote­so kvadratūrines formules, nes nereikia saugoti dešiniojo pusintervalio taškų ir pointegralinės funkcijos reikšmių juose. Po Gauso kvadratūrinių formulių apskaičiavimo programos eina pro­ce­dūra, realizuojanti 10-osios eilės Gauso kvadratūrinę formulę, kai tai­ko­ma adapty­vio­jo integravimo strategija. 51 lentelėje pateiktos šia programa gautos integralo , reiškiančio dviejų tankio funkcijų sąsūką, reikšmės, apskaičiuotos tikslumu, kai , ir . Šios reikšmės yra lyginamos su tiksliomis integralo reikšmėmis, kurios apskaičiuojamos pagal formulę . 51 lentelė. Dviejų tankio funkcijų sąsūkos rezultatai s n r rt 2 390 0,07677648 0,07677648 3 310 0,04986779 0,04986779 4 310 0,03568248 0,03568248 5 310 0,02714458 0,02714458 6 310 0,02154086 0,02154086 7 310 0,01763092 0,01763092 8 310 0,01477564 0,01477564 (Žr. Navickas Z. On the algebraic properties of dencities of probabilities distribution // VI tarptautinės tikimybių teorijos ir matematinės statistikos kon­fe­rencijos medžiaga. – V., 1993.) Lentelės stulpelis n rodo, kiek po­inte­gralinės funkcijos reikšmių buvo panaudota integralo reikšmei ap­skai­čiuoti nurodytu tikslumu. Stulpeliuose r ir rt nurodytos atitinkamai skaiti­niu bū­du apskaičiuotos ir tikslios integralo reikšmės. Gauso kvadratūrinės formulės koeficientų ir dalijimo taškų apskaičiavimo programa program kfgaus; const nn=20; type mas=array [0..nn] of extended; var n,m,i : integer; eps : extended; x,w : mas; f : text; procedure lagpol(n:integer; var p:mas); { n-tosios eilės Ležandro polinomo apskaičiavimo procedūra. Formalūs parametrai: n – polinomo eilė, p[0..n] – polinomo koeficientų masyvas; koeficientai surašyti pradedant laisvuoju nariu } var i,m,k : integer; sm : extended; p1,p2 : mas; begin for i:=0 to n do begin p1[i]:=0; p2[i]:=0; p[i]:=0; end; if n = 1 then p[1]:=1 else begin p1[0]:=1; p2[1]:=1; for m:=2 to n do begin sm:=m; p[0]:=p1[0]*(1-sm)/sm; for k:=1 to m do p[k]:=((2*sm-1)*p2[k-1]-(sm-1)*p1[k])/sm; for i:=0 to m do begin p1[i]:=p2[i]; p2[i]:=p[i]; end; end; end; end; procedure h(n:integer; a:mas; x:extended; var b,c:extended); { n-tosios eilės polinomo ir jo išvestinės apskaičiavimo pagal Hornerio schemą procedūra. Formalūs parametrai: n – polinomo eilė, a[0..n] – polinomo koeficientų masyvas; koeficientai surašyti pradedant laisvuoju nariu, x – argumento reikšmė, b – polinomo reikšmė taške x, c – polinomo išvestinės reikšmė taške x } var i : integer; begin b:=0; c:=0; for i:=n downto 1 do begin b:=b*x+a[i]; c:=c*x+b; end; b:=b*x+a[0]; end; procedure koef(n:integer; x:extended; p:mas; var a:extended); { Gauso kvadratūrinės formulės svorinių koeficientų apskaičiavimo procedūra. Formalūs parametrai: n – svorinių koeficientų skaičius, x – dalijimo taško abscisė, p[0..n] – Ležandro n-tosios eilės polinomo koeficientai, a – svorinio koeficiento reikšmė } var b,c : extended; begin h(n,p,x,b,c); a:=2./((1.-x*x)*c*c); end; procedure lie(a1,b1:extended; n:integer; a:mas; eps:extended; var s:extended); { Polinomo šaknies tikslinimo liestinių metodu procedūra. Formalūs parametrai: (a1,b1) – šaknies izoliacijos intervalas, n – polinomo eilė, a[0..n] – polinomo koeficientų masyvas, eps – šaknies apskaičiavimo tikslumas, s – šaknies reikšmė } var z,sant,c,xn,xn1 : extended; ba,bb,c1,bc,b : extended; begin h(n,a,a1,ba,c1); h(n,a,b1,bb,c1); sant:=-ba/bb; c:=(a1+sant*b1)/(1.+sant); h(n,a,c,bc,c1); if ba*bc eps do begin h(n,a,xn,b,c); xn1:=xn-b/c; z:=abs((xn1-xn)/xn1); xn:=xn1; end; s:=xn1; end; procedure kgaus(n:integer; eps:extended; var x,w:mas; var i:integer); { Gauso kvadratūrinės formulės dalijimo taškų ir svorinių koeficientų apskaičiavimo procedūra. Formalūs parametrai: n – dalijimo taškų skaičius, eps – tikslumas, x[1..i] – dalijimo taškai, w[1..i] – svoriniai koeficientai } var n2 : integer; n5,dx,xx,b1,b2,c,a1 : extended; t : boolean; p : mas; begin n5:=n*5; dx:=1./n5; lagpol(n,p); if ((n mod 2) 0) then begin x[1]:=0; koef(n,x[1],p,w[1]); i:=1; n2:=(n+1) div 2; xx:=dx; end else begin i:=0; n2:=n div 2; xx:=0; end; while (xx 0) – absoliučiosios paklaidos dydis, rr (rr > 0) – santykinės paklaidos dydis, r – integralo reikšmė, er – tikrosios skaičiavimo paklaidos įvertinimas, nn – integruojant panaudotų funkcijos reikšmių skaičius, flag – patikimumo indikatorius: dydžio flag sveikoji dalis lygi skaičiui intervalų, kuriuose nebuvo pasiektas norimas tikslumas; dydžio flag trupmeninė dalis lygi pagrindinio intervalo daliai, kuriai esant buvo pasiekta ribinė nn reikšmė (nf= nmax-20*(levmax-levout+2**(levout+1)). Pirmasis etapas Pradinių reikšmių suteikimas kintamiesiems, nepriklausantiems nuo integravimo intervalo } begin levmax:=30; levout:=6; nmax:=5000; pw:=1; for i:=1 to levout+1 do pw:=pw*2; nf:=nmax-20*(levmax-levout+pw); { Jei nn pasiekia nf reikšmę, tai pointegralinė funkcija nurodytuose integravimo rėžiuose gali būti trūki } { Pradinių reikšmių suteikimas kintamiesiems } flag:=0.; r:=0; cor20:=0.; er:=0.; nn:=0; lev:=0; nim:=1; poz:=1; if a tolerr) and (lev = levmax ) then flag:=flag+1; { Funkcijos reikšmių skaičius artimas ribiniam } if ( nn > nf ) then begin nf:=2*nf; levmax:=levout; flag:=flag+(b-x1)/(b-a) end; { Tikslumo salyga i-tajame intervale tenkinama } r:=r+qnow; er:=er+esterr; cor20:=cor20+qdiff/(1024.*1024.-1); { Rasti kitą intervalą } while ( (nim mod 2) 0 ) do begin nim:=nim div 2; lev:=lev-1 end; nim:=nim+1; if (lev 0. ) then begin temp:=abs(r)+er; while ( temp = abs(r) ) do begin er:=er*2.; temp:=abs(r)+er end end end; 5.2. Skaitinis diferencijavimas Išnagrinėkime du funkcijos išvestinės apskaičiavimo užda­vinio aspektus. 1. Funkcija pateikta reikšmių lentele . Dažniausiai tai bū­na eksperimento rezultatai ir reikšmės turi paklaidą. Skirtingai nei in­tegra­vimas, šios paklaidos labai iškreipia diferencijavimo rezultatus. 2. Žinoma funkcijos analizinė išraiška. Funkcijos, pateiktos reikšmių lentele, diferencijavimas. Tarkime, kad funk­­­cija pateikta reikšmių lentele ; čia . Norime ap­skaičiuoti tos funkcijos išvestinę taške . Galimi du sprendimo būdai. Pirmasis būdas. 1. Remdamiesi lentele , funkciją ap­rok­simuojame funkcija . Dažniausiai funkcija yra arba po­li­no­mas, arba splainas. 2. Laikome, kad , . Tačiau reikia pabrėžti, kad nors , kai , bet gali labai skirtis nuo . Antrasis būdas. Šis būdas gali būti taikomas, kai reikia apskaičiuoti iš­ves­ti­nes lentelės taškuose ir lentelės žingsnis yra pastovus bei lygus h. Tada taikomi dešinieji, centriniai ir kairieji skirtumai. 56, 57 ir 58 lentelėje pateiktos iš­ves­tinių bei jų liekamųjų narių (skliausteliuose) formulės, kai naudojami atitinka­mai dešinieji, centriniai ir kairieji skirtumai. Šios formulės išvedamos remiantis funkcijos Teiloro eilu­te. Pavyzdžiui, pasinaudodami trečiaisiais dešiniaisiais skirtumais, išveskime formulę apskaičiuoti: ; ; . Iš paskutinių dviejų lygčių eliminavę , gauname: . Funkcijos diferencijavimas, kai yra žinoma jos analizinė išraiška. Tarkime, kad funkcija yra diferencijuotina intervale ir žino­ma ana­li­zi­nė jos išraiška. Norint skaitiniu būdu apskaičiuoti tos funkcijos išves­ti­nę taške , patogiausia taikyti Ričardsono ir Rombergo metodą. Diferencijavimas intervalo centre. Tarkime, kad Ričardsono ir Rombergo me­­todu reikia apskaičiuoti išvestinę taške x, be to, . Tam tikslui galime taikyti centrinius skirtumus. Šio metodo esmę paaiškinsime imdami du argumento pokyčius: ir ( ir ). Tada pažymėję ir laikydami, kad yra pasto­vi, galime užrašyti: . Analogiškai . Iš šių lygčių galime apskaičiuoti konstantą C: . 56 lentelė. Išvestinės skaičiavimas naudojant dešiniuosius skirtumus Išvesti-nės Antrieji skirtumai Tretieji skirtumai Ketvirtieji skirtumai Penktieji skirtumai 57 lentelė. Išvestinės skaičiavimas naudojant centrinius skirtumus Išvesti-nės Tretieji skirtumai Penktieji skirtumai Septintieji skirtumai 58 lentelė. Išvestinės skaičiavimas naudojant kairiuosius skirtumus Išvesti- nės Antrieji skirtumai Tretieji skirtumai Ketvirtieji skirtumai Penktieji skirtumai Vadinasi, formulė (35) bus tikslesnė nei arba . Nesunku įsitikinti, kad (35) formulės lie­ka­masis narys proporcingas ir į proporcingumo koeficientą įeina . Vadinasi, (35) formulė tiksliai diferencijuoja visus polinomus iki 4-osios eilės imtinai nepriklausomai nuo ir reikšmių. Pavyzdžiui, apskaičiuokime išvestinę, kai . Aišku, kad . Dabar raskime šią išvestinės reikšmę pagal (35) formulę, kai , o . Tada , o ir . Išvestinės tikslinimo procesą analogiškai galime tęsti. Ričardsono ir Rombergo metodas paprastai apibūdinamas formulėmis. Tarkime, kad turime žingsnį ir skaičių n. Dažniausiai . Api­brėžkime žingsnius pagal formulę , . (36) Tada , , , (37) , , . Aišku, kad yra tiksliausia išvestinės reikšmė. liekamasis narys yra . Skaičiavimas pagal (37) formulę pavaizduotas 59 lentelėje. Diferencijavimas intervalo galuose. šiuo atveju skaitinis diferencijavimas yra analogiškas diferencijavimui intervalo centre. Svarbiausias skirtumas yra tas, kad reikia naudotis ne centriniais, bet kairiaisiais arba dešiniaisiais skirtu­mais. Be to, norint gauti tokį pat tikslumą, pravartu imti dvigubai di­des­nį skai­čių n. Parašykime darbo formules, kuriose naudojami dešinieji skirtumai ir n = 10. ; čia , . (38) 59 lentelė. Ričardsono ir Rombergo metodas, kai naudojami centriniai skirtumai Paklaida Žingsnio ilgis 0 1 2 3 4 , . (38) , (39) , , . metodo paklaida yra .

Daugiau informacijos...

Šį darbą sudaro 6714 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.doc)
Apimtis
31 psl., (6714 ž.)
Darbo duomenys
  • Matematikos konspektas
  • 31 psl., (6714 ž.)
  • Word failas 2 MB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį konspektą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt