Numerička Matematik I_A.zolić
February 10, 2017 | Author: Simunida Puhalo | Category: N/A
Short Description
Numerica, math, matematika, inženjerska matematika 3...
Description
A. Zolić
NUMERIČKA MATEMATIKA I
BEOGRAD
Dr Arif Zolić Matematički fakultet, Beograd NUMERIČKA MATEMATIKA I Izdavač: Matematički fakultet, Beograd Za izdavača:
dr Miodrag Mateljević
Izdavački odbor: dr Zoran Kadelburg dr Gojko Kalajdžić dr Trajko Angelov dr Smilja Lazarević–Milanović dr Gordana Pavlović–Lažetić Recenzenti:
dr Boško Jovanović dr Ljubomir Protić
Priprema za štampu, tehničko ureñenje i crteži Amir Zolić, Aleksandar Savić i autor Naslovna strana: autor Štampa: DENFAS, Tuzla Za štampariju: S. Hasanović Tiraž: 300 primeraka CIP – Katalogizacija u publikaciji Narodna biblioteka Srbije, Beograd ???????? Zolić, Arif Numerička matematika I A. (Arif) Zolić – 1. izdanje – Beograd Matematički fakultet, Beograd, Studentski trg 16 2008. – 6 + 374 str. : graf. prikaz; 24 cm Bibliografija: str. 373–374 ISBN: 978–86–7589–068–3 Objavljivanje i upotrebu ovog udžbenika je odobrilo Naučno–nastavno veće Matematičkog fakulteta u Beogradu u decembru 2007. godine © 2008 Matematički fakultet, Beograd Sva prava zadržana. Nijedan deo ove publikacije ne može biti reprodukovan niti smešten u sistem za pretraživanje ili transmitovanje u bilo kom obliku, elektronski, fotokopiranjem ili na neki drugi način, bez pismene dozvole autora.
U spomen mojim dragim roditeljima
PREDGOVOR
Užbenik Numerička matematike I je napisan na osnovu predavanja koja sam držao duži niz godina na Prirodno–matematičkom fakultetu, odnosno Matematičkom fakultetu u Beogradu iz predmeta: Numerička analiza, Numerička analiza I, Numerička analiza II, Numeričke metode i Uvod u numeričku matematiku. Namenjen je prvenstveno studentima matematike, a verujem da može biti od koristi i studentima drugih fakulteta na kojima se izučava numerička matematika. Osnovni tekst udžbenika je podeljen na šest delova koji su numerisani brojevima od I do VI, a ovi delovi na manje celine. Izlaganje je ilustrovano detaljno rešenim primerima. Verujem da ovo doprinosi jednostavnijem i bržem razumevanju. Recenzenti, dr Boško Jovanović i dr Ljubomir Protić, su pažljivo pregledali rukopis i svojim blagovremenim i dobronamernim primedbama i sugestijama moj napor učinili lakšim, a rezultat lepšim. Zbog toga im se i na ovom mestu zahvaljujem. I pored uloženog velikog truda i želje da udžbenik bude bez grešaka, svestan sam da zbog prirode sadržaja knjige i velikog obima računanja to u potpunosti nije moguće postići. Zbog toga, svakom ko dobronamerno ukaže na eventualne propuste unapred se zahvaljujem. A. Zolić
SADRŽAJ
I
RAČUNANJE S PRIBLIŽNIM VREDNOSTIMA................................... 1
0. 1. 2. 3. 4. 5.
Uvodne napomene ..................................................................................................1 Pojam približnog broja i izvori grešaka u rezultatima računanja ...........................5 Apsolutna, relativna, procentualna i promilna greška približnog broja .................7 Značajne i sigurne cifre približnog broja................................................................9 Zaokrugljivanje brojeva. Tačne cifre približnog broja .........................................11 Veza izmeñu granice relativne greške približnog broja i broja njegovih sigurnih cifara.............................................................................13 6. Opšta formula za grešku približne vrednosti funkcije..........................................15 7. Greška zbira i razlike ............................................................................................17 8. Greška proizvoda i broj njegovih sigurnih cifara .................................................20 9. Greška količnika i broj njegovih sigurnih cifara ..................................................22 10. Greška stepena i korena ........................................................................................24 11. Metoda granica .....................................................................................................26 12. Inverzni problem ocene greške .............................................................................28
II INTERPOLACIJA FUNKCIJA............................................................... 31 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Uvodne napomene ................................................................................................31 Opšti zadatak interpolacije....................................................................................32 Lagranžev interpolacioni polinom ........................................................................35 Ocena greške interpolacije....................................................................................37 Konačne razlike funkcija ......................................................................................39 Prvi Njutnov interpolacioni polinom ....................................................................45 Drugi Njutnov interpolacioni polinom .................................................................47 Tablica centralnih razlika......................................................................................49 Gausove interpolacione formule...........................................................................50 Stirlingova interpolaciona formula .......................................................................54 Beselova interpolaciona formula ..........................................................................56 Inverzna interpolacija ...........................................................................................60 Inverzija reda ........................................................................................................65 Trigonometrijski interpolacioni polinomi.............................................................68 Podeljene (količničke) razlike funkcija ................................................................69 Njutnovi interpolacioni polinomi s podeljenim razlikama ...................................74 Konvergencija interpolacionog procesa ...............................................................76 Ermitov interpolacioni polinom............................................................................78 Inverzne podeljene razlike i interpolacija funkcija verižnim racionalnim izrazima .............................................................................82 19. Splajn–interpolacija ..............................................................................................85 20. Interpolacija funkcija više nezavisnih promenljivih.............................................91 21. Napomene o tačnosti interpolacije........................................................................97
III NUMERIČKO DIFERENCIRANJE I NUMERIČKA INTEGRACIJA ............................................................ 101 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Uvodne napomene ..............................................................................................101 Numeričko diferenciranje ...................................................................................101 Numeričko diferenciranje funkcija više nezavisnih promenljivih......................104 Numerička integracija.........................................................................................107 Njutn–Kotesove kvadraturne formule ................................................................109 Trapezna kvadraturna formula............................................................................115 Simpsonova kvadraturna formula.......................................................................118 Njutn–Kotesove formule viših redova................................................................124 Njutn–Kotesove kvadraturne formule otvorenog tipa ........................................127 Čebišovljeva kvadraturna formula......................................................................128 Gausova kvadraturna formula.............................................................................132 Kvadraturna formula Lobatoa.............................................................................138 Rungeov princip približne ocene greške numeričke integracije.........................140 Ričardsonova metoda ekstrapolacije ..................................................................142 Rombergova metoda ...........................................................................................145 Izračunavanje približnih vrednosti nesvojstvenih integrala ...............................152 Ojler–Maklorenova kvadraturna formula ...........................................................160 Konvergencija kvadraturnih procesa ..................................................................167 Optimizacija kvadraturnih formula.....................................................................173 Numeričko izračunavanje višestrukih integrala..................................................175
IV NUMERIČKE METODE REŠAVANJA ALGEBARSKIH I TRANSCENDENTNIH JEDNAČINA I NJIHOVIH SISTEMA ......... 181 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Uvodne napomene ..............................................................................................181 Lokalizacija rešenja ............................................................................................182 Metoda polovljenja odsečka ...............................................................................186 Metoda sečice......................................................................................................188 Njutnova metoda.................................................................................................195 Modifikacije Njutnove metode ...........................................................................201 Kombinovana metoda sečice i tangente .............................................................203 Metoda iteracije ..................................................................................................205 Pojam reda konvergencije i konstrukcija iterativnih metoda višeg reda ............215 Njutnova metoda za rešavanje sistema nelinearnih algebarskih i transcendentnih jednačina .............................................................219 Metoda iteracije za rešavanje sistema nelinearnih algebarskih i transcendentnih jednačina .............................................................224 Dovoljni uslovi konvergencije metode iteracije .................................................232 Zajdelova metoda................................................................................................236 Opšta svojstva algebarskih jednačina. Granice korena ......................................238 Broj realnih rešenja algebarske jednačine ..........................................................245 Metoda Lobačevski–Grefea za slučaj realnih različitih rešenja .........................248 Metoda Lobačevski–Grefea za slučaj para konjugovano–kompleksnih rešenja 255 Bernulijeva metoda .............................................................................................258
V NUMERIČKE METODE REŠAVANJA SISTEMA LINEARNIH ALGEBARSKIH JEDNAČINA............................................................ 261 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Uvodne napomene ..............................................................................................261 Gausova metoda – shema jedinstvenog deljenja ................................................262 Gausova metoda – shema s izborom glavnog elementa .....................................267 Žordanova shema ................................................................................................268 Gausova metoda – kompaktna shema.................................................................269 Izračunavanje determinanata ..............................................................................271 Istovremeno rešavanje više sistema linearnih algebarskih jednačina. Izračunavanje inverznih matrica.........................................................................273 Metoda kvadratnih korena ..................................................................................279 Metoda ortogonalizacije .....................................................................................281 Metoda konjugovanih gradijenata ......................................................................285 Metoda najstrmijeg spuštanja .............................................................................289 Metoda iteracije ..................................................................................................291 Zajdelova metoda................................................................................................299 Optimizacija brzine konvergencije iterativnih procesa ......................................307 Ocena greške približnog rešenja sistema linearnih algebarskih jednačina.........309 Mera uslovljenosti matrica i sistema linearnih algebarskih jednačina ...............311 Metoda relaksacije ..............................................................................................316 Metoda najmanjih kvadrata ................................................................................318
VI NUMERIČKE METODE REŠAVANJA PROBLEMA SOPSTVENIH VREDNOSTI I SOPSTVENIH VEKTORA MATRICA...................... 321 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
O problemu sopstvenih vrednosti i sopstvenih vektora matrica.........................321 Metoda Danilevskog ...........................................................................................323 Metoda Krilova ...................................................................................................329 Metoda Leverjea .................................................................................................337 Jedna modifikacija metode Leverjea ..................................................................340 Metoda interpolacije ...........................................................................................343 Iterativna metoda za rešavanje potpunog problema sopstvenih vrednosti matrica ..............................................................................346 Metoda proizvoljnog vektora..............................................................................349 Metoda tragova ...................................................................................................353 Metoda skalarnih proizvoda................................................................................356 Metoda iscrpljivanja ...........................................................................................358 Nalaženje druge sopstvene vrednosti i odgovarajućeg sopstvenog vektora.......360 Nalaženje sopstvenih vrednosti i sopstvenih vektora pozitivno definitne i simetrične matrice .............................................................362 Metoda redukcije problema sopstvenih vrednosti matrica .................................365 Geršgorinova teorema.........................................................................................368 LR i QR algoritam ..............................................................................................368
L I T E R A T U R A.................................................................................... 373
I
RAČUNANJE S PRIBLIŽNIM VREDNOSTIMA
0.
UVODNE NAPOMENE
U mnogim oblastima savremene nauke i tehnike sve češće se dolazi do matematičkih zadataka čija se tačna rešenja ne mogu dobiti klasičnim matematičkim metodama (obično je pri tom dokazana egzistencija i jedinstvenost rešenja tih zadataka) ili se pak mogu dobiti, ali su pri tom toliko komplikovana da se praktično ne mogu upotrebiti. Broj takvih zadataka je porastao naročito u poslednje vreme zbog velikog i brzog razvoja nauke i tehnike. Prirodno je što se, zbog toga, postavio problem izgradnje efikasnih metoda za nalaženje približnih rešenja takvih zadataka. S druge strane, veliki napreci u nauci i tehnici omogućili su konstruisanje novih, izvanrednih sredstava za računanje. Zbog toga su se postavili zadaci uporeñivanja, revidiranja i sistematizacije već postojećih i izgradnje novih metoda radi efikasnog korišćenja tih sredstava. Navedeni razlozi su doveli do nastanka jedne posebne oblasti matematike, čiji je zadatak razrada metoda koje dovode do brojčanih rezultata, rešenja, različitih zadataka analize, algebre, verovatnoće, statistike, geometrije itd. Ta oblast se naziva numeričkom matematikom. Dakle, šta je numerička matematika? Šta je predmet proučavanja numeričke matematike? Koje su njene metode? Odgovoriti na ova pitanja nije jednostavno. Jedan od razloga je, svakako, nemogućnost potpune i disjunktne klasifikacije nauka uopšte, pa i matematičkih nauka. Poznato je da je dijapazon primene matematike vrlo širok, pa je s tim povezano preplitanje matematike i drugih nauka. Slično, u samoj matematici pojedine oblasti se preklapaju u odreñenom smislu, pa samim tim nije moguće precizno odrediti predmete proučavanja pojedinih matematičkih disciplina. Može se jedino sigurno reći da postoji samo jedna matematika koju čine pojedine matematičke discipline koje se prepliću i u pogledu oblasti i u pogledu metoda proučavanja. Numerička matematika ima kao oblast proučavanja celu matematiku i njene primene. Ona razvija sopstvenu teoriju i razrañuje sopstvene metode. Bitna karakteristika tih metoda je, po pravilu, rezultat u obliku broja. Često koristimo i termin numerička analiza, gde nikako ne treba imati u vidu samo numeričke metode rešavanja zadataka klasične matematičke analize. Naprotiv, pre bi se moglo govoriti o numeričkim metodama analize, numeričkim metodama linearne algebre, numeričkim metodama nelinearne algebre, numeričkim metodama geometrije, numeričkim metodama statistike,... Najčešći zadaci numeričke matematike ili numeričke analize u širem smislu su: aproksimacija skupova i funkcija u funkcionalnim prostorima i razrada racionalnih algoritama i metoda rešavanja zadataka. Dakle, u numeričkoj analizi važni su: teorijski aspekt – razvoj odgovarajućih metoda i primenjeni aspekt – veza s praktičnim zadacima uz korišćenje savremene računske tehnike. 1
U samoj primeni matematike bitan značaj ima konstruisanje matematičkog modela posmatrane pojave i procesa. Tako, na primer, ako treba proučiti kretanje rakete ili veštačkog satelita, onda se problem malo uprosti i sastavi se diferencijalna jednačina kretanja, pa se proučavanje svodi na proučavanje te diferencijalne jednačine. Samim postavljanjem tog matematičkog modela dolazi do približnosti čiji uticaj na rezultat treba ispitati. Metode proučavanja matematičkih modela su, po pravilu, numeričke metode. Analiza matematičkih modela uključuje u sebe: izučavanje odreñenog zadatka, izbor modela, obrada ulaznih informacija, numeričko rešavanje matematičkog zadatka koji nastaje kod ispitivanja modela, proučavanje i primena dobijenih rezultata. Pri tome je vrlo bitno koliko rezultati dobijeni na osnovu matematičkog modela verno odgovaraju stvarnoj proučavanoj pojavi ili proučavanom procesu. Isticanje rezultata u obliku broja ne treba shvatiti suviše isključivo. Nekada su pogodnije analitičke metode za nalaženje približnih rešenja nekih zadataka, a često su elementi zadatka i rezultati funkcije (jednog ili više argumenata), skupovi funkcija itd. Ipak, zbog velike primene elektronskih računara prirodno je istaći rezultat u obliku broja kao karakteristiku numeričke matematike uzimajući u obzir prethodno rečeno. Navedimo jedan primer koji će ilustrovati razliku izmeñu teorijskog i numeričkog, praktičnog rešavanja jednog istog zadatka. Primer 1. Neka treba rešiti sistem linearnih nehomogenih algebarskih jednačina a11 x1 + a12 x2 + ... + a1n xn = b1 , a21 x1 + a22 x2 + ... + a2 n xn = b2 , (1) ⋮ an1 x1 + an 2 x2 + ... + ann xn = bn . Sistem jednačina (1) može se zapisati u sažetom, matričnom obliku (2) AX = B , gde je a11 a12 … a1n x1 b1 a21 a22 … a2 n x2 b A= , X = , B = 2 . ⋮ ⋮ ⋮ xn bn an1 an 2 … ann Pretpostavimo da je determinanta matrice sistema D = det A ≠ 0 , tj. pretpostavimo da sistem jednačina ima jedinstveno rešenje. Ako obe strane matrične jednačine (2) pomnožimo sleva inverznom matricom A−1 , dobićemo rešenje sistema jednačina u vrlo jednostavnom, sažetom obliku X = A −1 B . Kao što znamo, možemo koristiti dobro poznate Kramerove formule (G. Cramer, 1704–1752)
(3)
2
Dk (k = 1, n) , D gde su Dk determinante nepoznatih xk , k = 1, n . Sa gledišta algebre zadatak je rešen lako, elegantno i efikasno nezavisno od toga koliko je n. Sa gledišta numeričke matematike, za veliko n, metoda je toliko komplikovana da se praktično ne može primenjivati. Potreban broj operacija, množenja i deljenja, kod primene Kramerovih formula (4) je Q(n) = (n 2 − 1) n !+ n ; na primer za n = 8 je Q(8) = 2 540 168, a za n = 10 je Q(10) = 359 251 210 ili oko 360 miliona operacija. Upotrebljena simbolika u (3) i (4) u teorijskom smislu predstavlja veliki uspeh, ali je jasno da obrasci nisu praktični sa stanovišta numeričke matematike. Numerička matematika, kao samostalna matematička disciplina, datira, slobodnije rečeno, s kraja XIX i od početka XX veka. Dakle, numerička matematika je relativno mlada nauka, što je tačno, ali samo u tom smislu da je veliki i brzi razvoj numeričke matematike vezan za poslednjih pedesetak godina. Meñutim, numerička matematika je prisutna od samih istorijskih početaka razvoja matematike. Usporen razvoj numeričke matematike u početku je posledica niskog stepena razvoja sredstava za računanje. U prvo vreme on je bio vezan za voñenje blagajničkih knjiga, izračunavanje površina i zapremina, navigaciju itd., tj. bitno je bilo rešavati jednostavne zadatke aritmetike, algebre i geometrije. U početku računska sredstva su bili prsti na rukama ili prsti na rukama i nogama, a kasnije računaljke različitih vrsta. Početni podaci su sadržavali malo cifara, a izračunavanja su bila tačna, bez zaokrugljivanja. Sledeća, druga etapa u razvoju numeričke matematike je povezana s Njutnom (Isaac Newton, 1642–1727). U tom periodu rešavani su problemi astronomije, geodezije, mehanike itd. svoñenjem, obično, na diferencijalne jednačine ili na sisteme algebarskih jednačina. Izračunavanja su vršena sa zaokrugljivanjem brojeva, a često je zahtevana visoka tačnost rezultata. Uz detaljno razrañene tablice vrednosti elementarnih funkcija i računska sredstva ovog perioda su usavršena. To su, pre svega, aritmometar, logaritmar itd., a pri kraju ovog perioda pojavljuju se različiti tipovi tastaturnih mašina sa elektromotorom. Ipak, brzina rada tih mašina je bila mala, pa su računanja trajala nedeljama, mesecima pa čak i godinama. To je, razume se, iscrpljivalo matematičare do te mere da oni ponekad nisu imali snage da publikuju već dobijene rezultate (pa su zbog toga neki od tadašnjih rezultata ostali zaboravljeni). Radi ilustracije prethodno rečenog navedimo jedan poznati primer. Posle višemesečnog računanja engleski astronom i direktor Opservatorije u Kembridžu Adams Džon Kauč (Adams John Cauch, 1819–1892) je pomoću nepravilnosti u Uranovom kretanju odredio 1845. godine putanju, čak i približan položaj meñu zvezdama, do tada nepoznate (osme) planete Sunčevog sistema – kasnije nazvane Neptun. Meñutim, rezultat ovog dugotrajnog i teškog posla nije saopštio godinu dana, a ni eksperimentalno potvrdio, pa je slava za otkriće Neptuna sledeće godine pripala francuskom astronomu Leverjeu (Laverrier, 1811–1877). (4)
xk =
3
Treći period razvoja numeričke matematike vezuje se za 1911. godinu i publikovanje prvog kursa posvećenog isključivo numeričkim metodama. Autor je Krilov (A. N. Krylov, 1863–1945), a naslov kursa je „Predavanja o približnim računanjima“. Od tada, a naročito posle Drugog svetskog rata (kada su konstruisani, u prvo vreme za vojne potrebe, prvi elektronski računari) dolazi do brzog razvoja numeričke matematike koja nalazi primene u različitim oblastima nauke, tehnike i svakodnevne prakse. Hilbertovo (David Hilbert, 1862–1943) otkriće funkcionalnih prostora posebno je intenziviralo razvoj numeričke matematike. Hilbertovi prostori imaju značajnu primenu, naročito u zadacima teorijske fizike. Uopšte, ideja funkcionalnih prostora je jedna od najplodotvornijih ideja u numeričkoj matematici. U numeričkoj matematici najčešće se srećemo sa zadacima koji se mogu zapisati u sledećem obliku y = f ( x) , (5) gde x i y pripadaju respektivno prostorima A1 i A2 , a f ( x) je neka zadata funkcija. Zadatak je da se za dato x odredi odgovarajuće y ili obratno, da se za dato y odredi odgovarajuće x. Metodama „teorijske“ matematike najčešće se ne može rešiti zadatak (5), pa se tada pribegava metodama numeričke matematike. Najčešća metoda numeričke matematike za rešavanje zadatka (5) je da se prostori A1 i A2 i funkcija f zamene nekim drugim, u odreñenom smislu jednostavnijim prostorima A1* i A2* i drugom, jednostavnijom funkcijom f * . Prema tome, u opštem slučaju zadatak (5) se zamenjuje jednostavnijim zadatkom (5*) y* = f * ( x*) , gde x* i y* pripadaju respektivno prostorima A1* i A2* . Osnovni zahtevi kod zamene zadatka (5) zadatkom (5*) su: da se zadatak (5*) lakše rešava nego zadatak (5) i da su rešenja y* i y (odnosno x* i x) bliska u nekom smislu. Bliskost ili rastojanje d(y*, y) (odnosno d(x*, x)) rešenja y* i y (odnosno x* i x) definiše se na različite načine, u zavisnosti od toga o kojim se prostorima radi. Napomenimo da se, ponekad, ne zamenjuju sve tri komponente A1 , A2 i f zadatka (5) odgovarajućim komponentama A1* , A2* i f * već samo neka od njih. Unutrašnja karakteristika numeričke matematike je da je u njoj od bitnog značaja procenjivanje tačnosti dobijenih rezultata. Raznovrsni su uzroci koji uslovljavaju greške rešenja, ali se kao najčešći mogu istaći sledeći: a) netačni početni podaci (dobijeni eksperimentima; iracionalni brojevi π, e, 2 itd., koji se moraju zameniti približnim vrednostima), b) zamena zadatka (5) odgovarajućim zadatkom (5*). Prirodno je da će se rešenje zadatka (5*) razlikovati od tačnog rešenja zadatka (5), c) u procesu rešavanja zadatka (5*) često dolazi do povećanja broja cifara tako da se mora pristupiti odbacivanju izvesnih cifara u rezultatu računanja. 4
Greške koje odgovaraju navedenim uzrocima nazivaju se respektivno: a) neotklonjiva greška, b) greška metode, c) računska greška. U prvom delu ovog kursa razmatraće se neotklonjive i računske greške, a greške metode će se tretirati kasnije zajedno s odgovarajućim metodama.
1.
POJAM PRIBLIŽNOG BROJA I IZVORI GREŠAKA U REZULTATIMA RAČUNANJA
Šta je približan broj? Odgovoriti na ovo pitanje nije jednostavno, kao što nije jednostavno odgovoriti na sledeća pitanja: Šta je broj?, Šta je skup?, Šta je tačka? i tako dalje. U literaturi se, ponegde, susrećemo s pokušajima uvoñenja pojma približnog broja, odnosno definisanja približnog broja. Meñutim, u tim definicijama prisutna je izvesna neodreñenost. Tako, na primer, ako se kaže: Približnim brojem x* naziva se broj koji se neznatno razlikuje od tačne vrednosti broja x. Nedostatak je očigledan. Šta znači „neznatno se razlikuje“? „Neznatno se razlikuje“ je vrlo relativno. Ponekad je mala razlika izmeñu x* i x, sa stanovišta primene u praksi, prihvatljiva a ponekad nije, ponekad je velika razlika izmeñu x* i x, opet sa stanovišta primene u praksi, prihvatljiva a ponekad nije. Mogu se postaviti i pitanja: Šta je mala razlika?, Šta je velika razlika? Reći ćemo da je približan broj jedan od osnovnih, polaznih pojmova matematike, dakle, ne definišemo ga! Meñutim, predstavu o približnom broju možemo stvoriti, recimo, nizom primera iz svakodnevne delatnosti čoveka, zatim iz nauke i tehnike, gde se približni brojevi pojavljuju kao podaci ili kao rezultati računanja. Navedimo nekoliko primera.
Primer 1. Na fudbalskoj utakmici, derbiju mesnih rivala, bilo je 35000 gledalaca, izveštavali su mediji: novine, radio, televizija. Šta znači podatak: 35000 gledalaca? Da li je tačno bilo 35000 gledalaca na stadionu? Da li je to bilo moguće utvrditi? Razume se, broj 35000 gledalaca se razlikuje od tačnog broja prisutnih gledalaca. Tačan broj prisutnih gledalaca nije moguće utvrditi. Ako bi se zaključivalo na osnovu broja prodatih karata, to ne bi bilo pouzdano: neko je kupio kartu a nije došao na stadion, neko nije kupio kartu ali je ušao na stadion jer je na kapiji stajao njegov poznanik. Svaki klub ima i svoje verne simpatizere koji imaju tzv. pretplatničke karte. Koliko je takvih gledalaca došlo? Naravno, to nije poznato. Ako bismo brojali posetioce prilikom ulaska, opet ne bismo mogli tvrditi da smo došli do tačnog broja. Dakle, podatak 35000 gledalaca je približan. Jedino možemo reći, na primer, da nije bilo više od 35500 ni manje od 34500 gledalaca. ▲
5
Primer 2. Neka treba odrediti ubrzanje Zemljine teže g pomoću matematičkog klatna, tj. pomoću obrasca 4π 2 l g= 2 , T onda ćemo izmeriti dužinu l i period oscilovanja T. Uvrstiti dobijene vrednosti l i T i broj π, pa izračunati g. Izračunata vrednost g je približna. Naime, nije moguće tačno odrediti veličine l i T, a umesto tačnog broja π, koji ima beskonačno mnogo decimala, moramo uzeti vrednost s konačno mnogo decimala. ▲ Primer 3. Neka treba izračunati dijagonalu kvadrata d stranice a = 4. Iskoristićemo dobro poznat obrazac d = a 2 . Ako bi stranica a bila tačno odreñena, dijagonalu d ne bismo mogli tačno izračunati jer u obrascu učestvuje iracionalan broj 2 . ▲ 2 može biti izračunat koristeći činjenicu da je 1 2 lim xn = lim xn −1 + = 2. n →∞ n →∞ 2 xn −1 Meñutim, praktično je nemoguće dobiti tačnu vrednost broja 2 zato što se radi o jednom beskonačnom procesu. ▲
Primer 4. Iracionalni broj
Primer 5. Ako treba izračunati proizvod 258.14736 · 0.1112229 koristeći, na primer, džepni kalkulator – „digitron“ koji ima osam mesta, onda ćemo morati odbaciti izvestan broj cifara na kraju rezultata („digitron“ to sam „uradi“). Dobićemo 28.711898, a tačan rezultat je 28.711898006544. ▲ Ovim primerima upravo smo i ilustrovali izvore grešaka u rezultatima računanja: – polazni podaci su eksperimentalne prirode (dobijeni eksperimentom: brojanjem, merenjem, ...), – u procesu računanja pojavljuju se iracionalni brojevi kao što su: 2 , π, ... – primenjena metoda daje tačan rezultat tek posle beskonačno mnogo ponavljanja odreñenog računskog procesa, – već kod najjednostavnijih računskih operacija broj cifara se toliko poveća da ih nije moguće „smestiti“ u mašinu za računanje, – najzad, početne greške se prenose s operacije na operaciju i pri tome se transformišu, akumuliraju i pojavljuju se nove greške.
6
2.
APSOLUTNA, RELATIVNA, PROCENTUALNA I PROMILNA GREŠKA PRIBLIŽNOG BROJA
Jedan od osnovnih zadataka u numeričkoj matematici je davanje matematičke karakteristike tačnosti približnog broja. Ovaj zadatak se sastoji u uvoñenju pojma tačnosti približnog broja, odnosno u definisanju grešaka približnog broja. Označimo sa x tačan a sa x* njemu približan broj. Prirodno se postavlja problem ocene stvarno učinjene greške ako umesto tačnog broja x uzmemo njegovu približnu vrednost x*, tj. problem ocene razlike ∆ = x − x * , ocena stvarne greške. Veličina ∆ = x − x * je stvarna greška. Definicija 1. Apsolutna greška, u oznaci ∆x * , približnog broja x* je apsolutna vrednost razlike tačnog broja x i njemu približnog broja x*, tj. (1) ∆ x* = | x − x *| . Kako tačan broj x u velikom broju slučajeva nije poznat, to se samim tim ni apsolutna greška ∆ x * ne može izračunati. Zbog toga uvodimo pojam granice apsolutne greške. Definicija 2. Granica apsolutne greške približnog broja x* naziva se svaki broj Ax* koji nije manji od apsolutne greške, tj. (2) ∆ x* = | x − x *| ≤ Ax * . Iz (2) dobijamo − Ax* ≤ x − x* ≤ Ax * , ili (3) x * − Ax* ≤ x ≤ x * + Ax * , što se, radi kratkoće, najčešće zapisuje u sledećem obliku x = x * ± Ax * .
Primedba 1. Pojam granice apsolutne greške, uveden prethodnom definicijom, je neprecizan. Naime, svaki broj veći od (na neki način utvrñene) granice apsolutne greške može se uzeti u svojstvu granice apsolutne greške. Isto tako, izmeñu brojeva ∆ x * i Ax* postoji beskonačno mnogo brojeva i svaki od njih, saglasno definiciji, može biti uzet za granicu apsolutne greške. Nepreciznost se prevazilazi u praksi na sledeći način; u svojstvu granice apsolutne greške bira se što je moguće manja vrednost, a da bude dovoljno jednostavnog oblika, na pri1 mer 1 ⋅10 m ili ⋅ 10 k ili ω ⋅10k , 0 < ω ≤ 1 . 2 Primer 1. Ako umesto tačnog broja e = 2.718281828... uzmemo približnu vrednost e* = 2.72, izračunati apsolutnu grešku i granicu apsolutne greške. Rešenje. Apsolutna greška je ∆ e* = | e − e *| = |2.718281828... − 2.72| = 0.01718171... za granicu apsolutne greške možemo uzeti: Ae* = 0.0018, jer je ∆ e* = 0.001718171... < 0.0018 ili Ae* = 0.002, jer je ∆ e* = 0.001718171... < 0.002 . 7
Meñutim, najčešće se uzima: 1 Ae* = 0.005 = ⋅10 − 2 ili Ae* = 0.01 = 1 ⋅10 −2 . ▲ 2
Primedba 2. Ponegde se u literaturi granica apsolutne greške naziva gornjom granicom apsolutne greške, a ponegde, kratko, apsolutnom greškom. Ovaj drugi naziv je praktičniji – kraći je, a u numeričkoj matematici skoro isključivo se radi s granicom apsolutne greške. Primedba 3. Apsolutna greška, odnosno granica apsolutne greške, je dimenzionisana veličina (istih dimenzija kao i veličine x i x*). Definicija 3. Relativna greška približnog broja x*, u oznaci δx * , je količnik apsolutne greške tog približnog broja i apsolutne vrednosti tačnog broja, tj. ∆x * (4) δx* = ( x ≠ 0) . | x| Kako apsolutna greška u velikom broju slučajeva nije poznata, to se samim tim ni relativna greška δx * ne može izračunati. Zbog toga uvodimo pojam granice relativne greške. Definicija 4. Granica relativne greške približnog broja x* naziva se svaki broj Rx* koji nije manji od relativne greške, tj. ∆x* (5) δ x* = ≤ Rx* . | x| Primedba 1'. Nepreciznost ove definicije se prevazilazi, analogno kao u slučaju granice apsolutne greške, biranjem što je moguće manjeg broja i dovoljno jednostavnog oblika. Primedba 4. Budući da tačna vrednost x, po pravilu, nije poznata, to u definicijama 3 i 4 umesto x uzimamo x*. Dakle, ∆x* (4') δ x* = , ( x* ≠ 0) | x*| i ∆x* (5') δ x* = ≤ Rx* | x*| Primer 2. Ako je tačan broj π = 3.1415926... a približan π* = 3.14, izračunati relativnu grešku i granicu relativne greške. Rešenje. Relativna greška je ∆π* | 3.1415926... − 3.14 | δ π* = = = 0.000507... ; |π*| 3.14 za granicu relativne greške možemo uzeti: Rπ* = 0.000508, jer je δ π* = 0.000507... < 0.000508 8
ili
Rπ* = 0.00051, jer je δ π* = 0.000507... < 0.00051 . Meñutim, najčešće se uzima: 1 Rπ* = 0.0006 ili Rπ* = 0.001 ili Rπ* = 0.005 = ⋅ 10−2 . ▲ 2 Primedba 2'. Ponegde se u literaturi granica relativne greške naziva gornjom granicom relativne greške, a ponegde, kratko, relativnom greškom. Ovaj drugi naziv je praktičniji – kraći je, a u numeričkoj matematici skoro isključivo se radi s granicom relativne greške.
Primedba 3'. Relativna greška, odnosno granica relativne greške je (za razliku od apsolutne) nedimenzionisana veličina. Primedba 5. Kako je δ x* =
∆x* Ax* ≤ ( x* ≠ 0) , | x*| | x*|
to se može uzeti Rx* =
Ax* ( x* ≠ 0) . | x*|
Zbog praktičnih potreba definišu se procentualna i promilna greška kao i njihove granice. Dakle, P% x* = 100 ⋅ δ x* – procentualna greška,
P% x* = 100 ⋅ δ x* – granica procentualne greške, P‰ x* = 1000 ⋅ δ x* – promilna greška, P‰ x* = 1000 ⋅ Rx* – granica promilne greške.
3.
ZNAČAJNE I SIGURNE CIFRE PRIBLIŽNOG BROJA
Poznato je da se svaki realan broj x zapisan u dekadnom sistemu računanja može predstaviti u obliku (1) x = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ak +110n − k + ⋯ + am 10n − m +1 + ⋯) , gde su ai ∈{0,1, 2,..., 9} , i = 1, 2, 3, ... , cifre broja x, a1 ≠ 0 , n ∈ Z , k ∈ N , m ∈ N . U numeričkoj matematici, kao što je ranije rečeno, imamo posla češće s približnim brojevima. Približni brojevi imaju, po pravilu, konačan broj cifara. Odgovarajući približan broj x* može se predstaviti u obliku (2) x* = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ak +110n − k + ⋯ + am 10n − m +1 ) .
Primer 1. a) Tačan broj e = 2.718281828... se može predstaviti u obliku e = 2 ⋅100 + 7 ⋅10−1 + 1 ⋅10−2 + 8 ⋅10−3 + 2 ⋅10−4 + 8 ⋅10−5 + 1 ⋅10−6 +⋯ , a odgovarajući približan broj e* = 2.72 u obliku e* = 2 ⋅10 0 + 7 ⋅10 −1 + 2 ⋅10 −2 ; 9
b) Tačan broj π = 3.1415926... se može predstaviti u obliku π = 3 ⋅100 + 1 ⋅10−1 + 4 ⋅10−2 + 1 ⋅10−3 + 5 ⋅10−4 + 9 ⋅10−5 + 2 ⋅10−6 + ⋯ a odgovarajući približan broj π* = 3.14 u obliku π* = 3 ⋅10 0 + 1 ⋅10 −1 + 4 ⋅10 −2 ; 2197 c) tačan broj x = = 70.87096... se može predstaviti u obliku 31 x = 7 ⋅101 + 0 ⋅100 + 8 ⋅10−1 + 7 ⋅10−2 + 0 ⋅10−3 + 9 ⋅10−4 + 6 ⋅10−5 + ⋯ a odgovarajući približan broj x* = 70.87 u obliku x = 7 ⋅101 + 0 ⋅10 0 + 8 ⋅10 −1 + 7 ⋅10 −2 . ▲ Uvedimo sledeće pojmove koji se odnose na cifre približnog broja (2).
Definicija 1. Cifra a i približnog broja x* naziva se značajnom (ponegde, vrednosnom) cifrom, ako je ona različita od nule ili je nula izmeñu cifara različitih od nule ili predstavlja sačuvanu dekadnu jedinicu uzetu u obzir. Primer 2. Približan broj x1* = 0.0210032000 ima devet značajnih cifara i to su: 2, 1, 3, 2, zatim dve nule izmeñu 21 i 32 i tri nule na kraju broja. Brojevi x1* = 0.0210032000 i x2* = 0.0210032 bitno se razlikuju u numeri1 * −10 −10 čkoj matematici; naime, podrazumeva se da je Ax1 = 10 (ili ⋅ 10 ) a 2 1 Ax2* = 10 −7 (ili ⋅ 10 −7 ), pa je x2* , očigledno, dosta netačniji približan broj. ▲ 2 Definicija 2. Značajna cifra ak približnog broja x* naziva se sigurnom (ponegde, pouzdanom) cifrom u „ω smislu“, ako je (3) Ax* ≤ ω ⋅10 n − k +1 , 0 < ω ≤ 1 . 1 Za ω = 1 cifra ak je sigurna u širem, a za ω = u užem smislu. 2 Cifre koje nisu sigurne nazivamo sumnjivim (ponegde, nepouzdanim) ciframa. Očigledno, ako je ak sigurna cifra, onda su sigurne i sve značajne cifre ispred nje: ak −1 , ..., a2 , a1 . Primer 3. Dati su brojevi x = 23.458 i x* = 23.456. Odrediti broj sigurnih cifara približnog broja x* u užem i širem smislu. Rešenje. Kako je 1 ∆ x* = |23.458 − 23.456| = 0.002 < 0.005 = ⋅10−2 = Ax * , 2 to iz 1 1 ⋅ 10 − 2 ≤ ⋅ 101− k +1 2 2 10
dobijamo k = 4. Dakle, približan broj x* ima četiri sigurne cifre u užem (pa 1 samim tim i u širem, jer je ⋅10 − 2 ≤ 1 ⋅10 − 2 ) smislu. To su cifre: 2, 3, 4 i 5. ▲ 2
Primer 4. Dati su brojevi x = 10 i x* = 9.999. Odrediti broj sigurnih cifara u širem smislu približnog broja x*. Rešenje. Kako je ∆ x* = | x − x *| = |10 − 9.999| = 0.001 = 1 ⋅ 10−3 = Ax * , to iz 1 ⋅ 10−3 ≤ 1 ⋅ 100− k +1 dobijamo k = 4. Dakle, približan broj x* ima četiri sigurne cifare u širem smislu. To su cifre: 9, 9, 9 i 9. Lako se primećuje da, iako približan broj x* ima (relativno) velik broj sigurnih cifara, nijedna od tih cifara se ne poklapa ni sa jednom cifrom tačnog broja. Zato nikako ne smemo mešati pojam sigurne cifre s pojmom tačne (prave, istinite) cifre nekog broja. ▲ 4.
ZAOKRUGLJIVANJE BROJEVA. TAČNE CIFRE PRIBLIŽNOG BROJA
Vrlo često umesto brojeva s beskonačno mnogo ili konačno mnogo cifara moramo uzeti brojeve s manje cifara, tj. moramo odbaciti jednu ili više poslednjih cifara. To odbacivanje se ne vrši proizvoljno. To se čini tako da učinjena greška bude što je moguće manja, pa se odbacivanje prema tom principu zove zaokrugljivanje brojeva, a nastala greška je greška zaokrugljivanja. Neka je dat (tačan ili približan) broj (1) x = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ak +110n − k + ⋯ + am 10n − m +1 + ⋯) , koji ima više od m cifara. Treba ga zameniti brojem koji ima m cifara. Kako je a110n + a2 10n −1 + ⋯ + am 10n − m +1 ≤ | x | ≤ a110n + a2 10n −1 + ⋯ + ( am + 1)10n − m +1 ,
to će se pri realizaciji tog postupka dobiti broj x * koji će biti (2)
x* = ± (a110n + a2 10n −1 + ⋯ + am 10n − m +1 ) ,
ili (3)
x* = ± (a110n + a2 10n −1 + ⋯ + (am + 1)10n − m +1 ) .
Postavlja se pitanje: Kada će rezultat zaokrugljivanja biti broj x* zapisan u obliku (2), a kada u obliku (3)? Imajući u vidu prirodan zahtev da rezultat zaokrugljivanja ima što je moguće manju apsolutnu grešku, jasan je odgovor na postavljeno pitanje. Zaokrugljivanje treba da je takvo da bude 1 (4) | x − x* | ≤ ⋅10 n − m +1 , 2 tj. da su sve cifre zaokrugljenog broja x* sigurne u užem smislu. Prema tome, mogu se razlikovati tri slučaja: 11
1 ⋅10n − m +1 , 2 1 2) am +110n − m + am + 2 10n − m −1 + ⋯ > ⋅10n − m +1 , 2 1 3) am +110n − m + am + 210n − m −1 + ⋯ = ⋅ 10n − m +1 . 2 Očigledno je da u prvom slučaju pri zaokrugljivanju broj x* mora biti zapisan u obliku (2), u drugom slučaju u obliku (3), a u trećem slučaju se može uzeti (2) ili (3), ali se iz praktičnih razloga koristi tzv. pravilo parne cifre; ako je am parna cifra uzima se zapis (2) a u protivnom zapis (3). Saglasno svemu rečenom sada možemo eksplicitno zapisati pravila zaokrugljivanja brojeva: (I) Ako je prva od odbačenih cifara (cifra am +1 ) manja od 5, onda zadržane cifre ostaju nepromenjene; kaže se – ne vrši se popravka; (II) Ako je prva od odbačenih cifara (cifra am +1 ) veća od 5, onda poslednju zadržanu cifru (cifru am ) povećavamo za 1; kaže se – vrši se popravka; (III) Ako je prva od odbačenih cifara (cifra am +1 ) jednaka 5, a ostale koje dolaze posle nje nisu sve nule, onda poslednju zadržanu cifru (cifru am ) povećavamo za 1, tj. vrši se popravka; (IV) Ako je prva od odbačenih cifara (cifra am +1 ) jednaka 5, a ostale koje dolaze posle nje su sve nule, onda važi pravilo parne cifre, tj. ako je am parna, ne vrši se popravka a ako je am neparna cifra, vrši se popravka. Kratko, u oba slučaja dobija se paran broj! Logično bi bilo i odgovarajuće pravilo neparne cifre, ali ne i praktično! 1) am +110n − m + am + 2 10n − m −1 + ⋯ <
Primer 1. Broj x = 2.3451472 zaokrugliti na šest, pet,... decimala. Rešenje. Redom dobijamo: 1 x* = 2.345147 , | x − x*| = |2.345147 − 2.345147| = 0.0000002 < 10−6 , 2 1 −5 x* = 2.3451 5 , | x − x*| = |2.345147 − 2.34515 | = 0.0000028 < 10 , 2 1 x* = 2.3451 , | x − x*| = |2.345147 − 2.3451| = 0.0000422 < 10−4 , 2 • • 1 −3 x* = 2.34 5 , | x − x*| = |2.345147 − 2.345| = 0.0001472 < 10 , 2 1 −2 x* = 2.3 5 , | x − x*| = |2.345147 − 2.35 | = 0.0048528 < 10 , itd. ▲ 2 Napomena 1. U prethodnom primeru koristili smo posebne oznake za cifru •
5 : 5 je petica nastala od 4 dodavanjem jedinice – „slaba“ 5, a 5 je petica iza koje je bilo značajnih cifara različitih od nule – „jaka“ 5!
12
Postavimo sada sledeći problem: Kolika je ukupna greška kada zaokrugljujemo jedan približan broj koji ima tačno m značajnih cifara? Neka je dat približan broj (5) x* = ± ( a110n + a2 10n −1 + ⋯ + am −110n − m + 2 + am 10n − m +1 ) , pri čemu je, kao što smo videli, 1 Ax* ≤ ⋅ 10 n − m +1 . 2 Ako x* zaokruglimo na (m–1)–nu cifru, onda se dobija x ** = ± ( a110n + a210n −1 + ⋯ + bm −110n − m + 2 ) , gde je bm −1 = am −1 ili bm −1 = am −1 + 1 . Apsolutna greška Ax** može se proceniti na sledeći način 1 | x − x**| = | x − x* + x* − x**| ≤ | x − x*| + | x − x**| ≤ Ax* + 10n − m + 2 ≤ 2 1 1 1 ≤ 10n − m +1 + 10n − m + 2 = 10n − m +1 (1 + 10) = 5.5 ⋅10n − m +1 < 1 ⋅10n − m + 2. 2 2 2 Dakle, rezultujući broj ima (m–1)–nu cifru sigurnu u širem smislu.
Napomena 2. Svi navedeni rezultati mogu se realizovati ako se uzme za osnovu pozicionog sistema računanja ma koji prirodan broj N ≥ 2, tj. ako se broj zapisuje u obliku x = ± (a1 N n + a2 N n −1 + ⋯ + am N n − m +1 + ⋯) , 0 ≤ ai < N , a1 ≠ 0 . Sada možemo definisati pojam tačne ili istinite cifre približnog broja. Definicija 1. Sigurna cifra približnog broja (i sve sigurne cifre ispred nje) je tačna ili istinita ako ostaje nepromenjena posle odbacivanja sumnjivih cifara i izvršenog zaokrugljivanja.
Primer 2. Ako je x = 26.837 a x* = 26.84, onda je 1 ∆x* = |26.837 − 26.84| = 0.003 < 0.005 = 10−2 = Ax* , 2 pa su sve cifre približnog broja 26.84 sigurne a tačne su prve tri: 2, 6 i 8. ▲ 5.
VEZA IZMEðU GRANICE RELATIVNE GREŠKE PRIBLIŽNOG BROJA I BROJA NJEGOVIH SIGURNIH CIFARA
Granica apsolutne greške približnog broja (1)
x* = ± (a110n + a2 10n −1 + ⋯ + ak 10n − k +1 + ⋯ + am 10n − m +1 ) , a1 ≠ 0 ,
kod kojeg je ak poslednja sigurna cifra, tj. kod kojeg je (2) Ax* ≤ ω ⋅ 10 n − k +1 , 0 < ω ≤ 1 , je povezana s brojem sigurnih cifara, upravo, relacijom (2). 13
U kakvoj zavisnosti su broj sigurnih cifara približnog broja x* i njegova granica relativne greške Rx*? Jasno je da je ω ⋅ 10n − k < Ax *
(3)
(u protivnom bi poslednja sigurna cifra bila ak +1 ). Iz (2) i (3) imamo ω ⋅10n − k < Ax* ≤ ω ⋅10n − k +1 ,
(4) odnosno
ω ⋅10n − k Ax* ω ⋅10n − k +1 , x* ≠ 0 , < ≤ | x*| | x*| | x*|
ili ω ⋅10n − k ω ⋅10n − k +1 , < Rx * ≤ | a110n + ⋯ + ak 10n − k +1 + ⋯| | a110n + ⋯ + ak 10n − k +1 + ⋯| pa je ω ⋅10 n − k ω ⋅10 n − k +1 , < Rx * ≤ (a1 + 1) ⋅10 n a1 ⋅10 n
ili (5)
ω ω . < Rx* ≤ k (a1 + 1) ⋅10 a1 ⋅10 k −1
Približno se uzima da je (što je prilično gruba ocena) ω (6) , Rx* ≈ a1 ⋅10 k −1 gde je a1 prva sigurna cifra, k je broj sigurnih cifara približnog broja x* a 0 < ω ≤ 1.
Primer 1. Neka je dat približan broj x* = 0.44721 i granica relativne greške Rx * = 0.000002. Odrediti broj sigurnih cifara u užem smislu. Rešenje. Kako je 0.5 0. 5 , < 0.000002 ≤ k (4 + 1) ⋅10 4 ⋅10 k −1 tj. 1 1 ⋅10 − k < 2 ⋅10 − 6 ≤ ⋅10 − ( k −1) , 10 8 odnosno 100 50 ⋅10 − k + 5 = 2 ⋅ ⋅10 − k + 5 < 2 ⋅10 − k + 6 1 ⋅10 − k + 5 < 2 ⋅10 0 ≤ 8 8 biće –k + 5 ≤ 0, tj. k ≥ 5 i 0 < – k + 6, tj. k < 6. Dakle, k = 5, pa x* ima pet sigurnih cifara u užem smislu. ▲ Primer 2. Kolika je granica relativne greške približnog broja x* = 5.169, ako su sve njegove cifre sigurne u užem smislu? 14
Rešenje. Po formuli (6) za ω = 0.5, a1 = 5 i k = 4 imamo Rx* ≈
0.5 1 = 4 = 0.0001 = 0.01% . 4 −1 5 ⋅10 10
Na potpuno isti način za ω = 1 imali bismo 0. 5 1 Rx* ≈ = = 0.0002 = 0.02% . 4 −1 5000 5 ⋅10 Primetimo da smo granicu relativne greške mogli izračunati koristeći formulu Ax * . Rx* = | x*| Dakle, Rx* =
0.5 ⋅10 −3 = 0.0000967 ≈ 0.0001 5.169
i Rx* =
6.
1 ⋅10 −3 = 0.0001934 ≈ 0.0002 . ▲ 5.169
OPŠTA FORMULA ZA GREŠKU PRIBLIŽNE VREDNOSTI FUNKCIJE
Neka je data funkcija y = f ( x1 , x2 , ..., xn ) , definisana u nekoj oblasti svojih nezavisno promenljivih x1 , x2 , ..., xn . Pretpostavimo da su nepoznate tačne vrednosti promenljivih x1 , x2 , ..., xn , a da su umesto njih poznate približne vrednosti x1* , x2* , ..., xn* , kao i njihove stvarne greške ∆ i = xi − xi* , apsolutne greške ∆xi* = | xi − xi* | i granice apsolutnih grešaka Axi* , i = 1, n . Centralni problem je ocena greške kada se umesto tačne vrednosti f = f ( x1 , x2 ,..., xn ) uzme približna vrednost funkcije f * = f ( x1* , x2* , ..., xn* ) , tj. ocena razlike ∆ = f − f * , ocena stvarne greške.
Definicija 1. Apsolutna greška približne vrednosti funkcije, u oznaci ∆f * , je ∆f * = | f ( x1 , x2 ,..., xn ) − f ( x1* , x2* ,..., xn* )| ≡ | f − f *| .
Definicija 2. Granica apsolutne greške približne vrednosti funkcije je svaki broj Af * koji nije manji od apsolutne greške funkcije, tj. ∆f * = | f − f *| ≤ Af * .
15
Definicija 3. Relativna greška približne vrednosti funkcije, u oznaci δf * , je δf * =
∆f * | f *|
( f * ≠ 0) .
Definicija 4. Granica relativne greške približne vrednosti funkcije je svaki broj Rf * koji nije manji od relativne greške funkcije, tj. δf * =
∆f * ≤ Rf * . | f *|
Pretpostavimo da je data funkcija y = f ( x1 , x2 ,..., xn ) diferencijabilna po svim argumentima. Neka su poznate stvarne greške ∆ i = xi − xi* , apsolutne greške ∆xi* = | xi − xi* | i granice apsolutnih grešaka Axi* promenljivih xi , i = 1, n . Na osnovu Tejlorove formule za funkcije više nezavisno promenljivih imamo ∆ = f − f * = f ( x1 , x2 , ..., xn ) − f ( x1* , x2* , ..., xn* ) = = f ( x1* + ∆1 , x2* + ∆ 2 , ..., xn* + ∆ n ) − f ( x1* , x2* , ..., xn* ) = ∂f ∂f 1 ∂f = f ( x1* , x2* , ..., xn* ) + ∆1 + ∆2 + ⋯ + ∆n + ∂x2 ∂xn 1! ∂x1 + ε (∆1 , ∆ 2 , ..., ∆ n ) − f ( x1* , x2* , ..., xn* ) = 1 ∂f ∂f ∂f = ∆1 + ∆2 + ⋯ + ∆ n + ε (∆1 , ∆ 2 , ..., ∆ n ), 1! ∂x1 ∂x2 ∂xn
gde je
∂f = f ' xi ( x1* , x2* , ..., xn* ) a ε (∆1 , ∆ 2 , ..., ∆ n ) → 0 kada ∆ i → 0 , i = 1, n . ∂xi
Ako su stvarne greške ∆ i , i = 1, n , dovoljno male veličine, onda se ostatak ε (∆1 , ∆ 2 , ..., ∆ n ) može zanemariti, pa je stvarna greška približne vrednosti funkcije n ∂f (1) ∆ = f − f * = ∆f ≈ df = ∑ ∆i . i =1 ∂xi Kako je n ∂f n ∂f n ∂f | f − f *| ≈ ∑ ∆i ≤ ∑ ⋅ ∆i = ∑ ∆xi* , i =1 ∂xi i =1 ∂xi i =1 ∂xi to je apsolutna greška približne vrednosti funkcije jednaka n
(2)
∆f * = ∑ i =1
∂f ⋅ ∆xi* , ∂xi
što predstavlja opštu formulu za apsolutnu grešku približne vrednosti funkcije. 16
Kako je n
∆f * = ∑ i =1
n ∂f ∂f ∆xi* ≤ ∑ Axi* , ∂xi i =1 ∂xi
to je granica apsolutne greške približne vrednosti funkcije jednaka n ∂f (3) Af * = ∑ Axi* , ∂ x i =1 i što predstavlja opštu formulu za granicu apsolutne greške približne vrednosti funkcije. Relativna greška približne vrednosti funkcije je n ∆f * n 1 ∂f ∂ δf * = =∑ ∆xi* = ∑ ln f * ∆xi* = | f *| i =1 | f *| ∂xi i =1 ∂xi (4) n ∂ ln f * δxi* , = ∑ xi* ∂xi i =1 a granica relativne greške je n
Rf * = ∑
(5)
i =1
7.
n ∂ ∂ ln f * Axi* = ∑ xi* ln f * Rxi* . ∂xi ∂ x i =1 i
GREŠKA ZBIRA I RAZLIKE
Neka je data funkcija f ( x1 , x2 , ..., xn ) = S = x1 + x2 + ⋯ + xn . Pretpostavimo da su nepoznate tačne vrednosti sabiraka x1 , x2 , ..., xn a da su umesto njih poznate približne vrednosti
x1* , x2* , ..., xn* kao i njihove stvarne greške
∆ i = xi − xi* , apsolutne greške ∆xi* i granice apsolutnih grešaka Axi* , i = 1, n . Potrebno je oceniti grešku kada se umesto tačnih uzmu približne vrednosti sabiraka.
Teorema 1. Apsolutna greška zbira konačnog broja približnih brojeva je jednaka zbiru apsolutnih grešaka sabiraka. ∂S Dokaz. Kako je = 1 , i = 1, n , to je na osnovu opšte formule za grešku ∂xi (6.2) približne vrednosti funkcije n n ∂S ∆ S * =| S − S *|= ∑ ∆xi* = ∑ ∆xi* . ■ (1) i =1 ∂xi i =1 Primedba 1. Teorema se može dokazati direktnim korišćenjem definicije apsolutne greške. Zaista, ∆S * = | S − S *| = |( x1 + x2 + ⋯ + xn ) − ( x1* + x2* + ⋯ + xn* )| = = |( x1 − x1* ) + ( x2 − x2* ) + ⋯ + ( xn − xn* )| ≤
17
≤ | x1 − x1* | + | x2 − x2* | +⋯ + | xn − xn* ) | = ∆x1* + ∆x2* + ⋯ + ∆xn* . pa možemo uzeti ∆ S * = ∆ x1* + ∆ x2* + ⋯ + ∆ xn* .
Teorema 2. Granica apsolutne greške zbira konačnog broja približnih brojeva je jednaka zbiru granica apsolutnih grešaka sabiraka. Dokaz. Neposrednom primenom formule (6.3) dobijamo n
(2)
AS * = ∑ Axi* . □ i =1
Sada, po definiciji, nalazimo relativnu grešku zbira i granicu relativne greške zbira. Dakle, ∆S * AS * i RS * = , S* ≠ 0 . ■ δS * = | S *| | S *| Iz formule (1), odnosno (2), sledi da apsolutna greška, odnosno granica apsolutne greške, zbira ne može biti manja od apsolutne greške, odnosno granice apsolutne greške, najnetačnijeg sabirka. Drugim rečima, tačnost rezultata je ograničena tačnošću najnetačnijeg podatka. Pri sabiranju približnih brojeva različite tačnosti koriste se sledeća, praktična pravila: 1) uoče se sabirci (jedan ili njih više) s najvećom apsolutnom greškom, odnosno najvećom granicom apsolutne greške; 2) ostali sabirci se zaokrugle tako da bi imali jednu, dve ili, reñe, tri cifre više od najnetačnijeg sabirka (to su zaštitne cifre); 3) sada se saberu svi brojevi; 4) dobijeni rezultat se zaokrugli. 2.1 7 Primer 1. Izračunati S* = 2.1723 + 8.45 + 0.00042 + 35.4 + 8.4 5 7.25 + 121.2 + 0.0232 + 0.634 + 0.0773. Sve značajne cifre su sigurne u užem smislu. 0.0 0 Rešenje. Najnetačniji sabirci su 35.4 i 121.2, pa ćemo ostale 35.4 sabirke uzeti sa po dve decimale (jedna je zaštitna). Zaokrugljujući 7.2 5 rezultat sabiranja 175.20 na jednu decimalu (dakle, odbacujući zaštitnu) dobijamo 121.2 S* = 175.2 0.0 2 Procenimo ukupnu grešku. Zbir granica apsolutnih grešaka je 0.6 3 1 ∆1 = (10 − 4 + 10 − 2 + 10 −5 + 10 −1 + 10 − 2 + 10 −1 + 10 − 4 + 0.0 8 2 −3 −4 175.2 0 + 10 + 10 ) = 0.1106055. Dalje, zbir stvarnih grešaka zaokrugljivanja sabiraka je ∆ 2 = (2.1723 − 2.17) + (8.45 − 8.45) + (0.00042 − 0.00) + (35.4 − 35.4) + + (7.25 − 7.25) + (121.2 − 121.2) + (0.0232 − 0.02) + (0.634 − 0.63) + + (0.0773 − 0.08) = 0.00722,
18
a greška zaokrugljivanja rezultata je ∆ 3 = 0.00 . Ukupna greška je ∆ = ∆1 + + ∆ 2 + ∆ 3 = 0.1178255 < 0.2 , pa je traženi zbir jednak 175.2 ± 0.2. ▲ Neka je data funkcija R ( x1 , x2 ) = x1 − x2 . Ocenimo grešku ∆ = R − R* = = ( x1 − x2 ) − ( x1* − x2* ) .
Teorema 3. Apsolutna greška razlike jednaka je zbiru apsolutnih grešaka umanjenika i umanjioca. Dokaz. Kako je ∂R ∂R =1 i = −1 , ∂x1 ∂x2 to je na osnovu formule (6.2) ∂R ∂R (3) ∆R* = ∆ x1* + ∆ x2* = ∆ x1* + ∆ x2* . ■ ∂x1 ∂x2 Teorema 4. Granica apsolutne greške razlike jednaka je zbiru granica apsolutnih grešaka umanjenika i umanjioca, tj. (4) AR* = Ax1* + Ax2* . Dokaz je, zaista, jednostavan. □ Na osnovu svega rečenog možemo zaključiti sledeće: Apsolutna greška (granica apsolutne greške) algebarskog zbira konačnog broja približnih brojeva jednaka je zbiru apsolutnih grešaka (granica apsolutnih grešaka) sabiraka, tj. (5) ∆ ( x1* ± x2* ± ⋯ ± xn* ) = ∆x1* + ∆x2* + ⋯ + ∆xn* i (6) A( x1* ± x2* ± ⋯ ± xn* ) = Ax1* + Ax2* + ⋯ + Axn* . Razmotrimo sledeće primere.
Primer 2. Izračunati d = 2.01 − 2 na tri sigurne cifre u užem smislu. Rešenje. Kako je 2.01 = 1.417745 ± 0.000001 i 2 = 1.414214 ± 0.000001 ,
to je 2.01 − 2 = 0.003531 ± 0.000002 , tj.
2.01 − 2 = 3.53 ⋅10−3 ± 0.2 ⋅10−5 . Meñutim, taj isti rezultat se može dobiti ako se stavi 0.01 0.01 0.01 2.01 − 2 = = = = 3.53 ⋅10 −3 . ▲ 1 . 42 + 1 . 41 2 . 83 2.01 + 2 Očigledno, kod oduzimanja bliskih brojeva može doći do gubljenja tačnosti. Da bi se to izbeglo, potrebno je računsku shemu izmeniti. 19
Primer 3. Izračunati f (80 ) i f (1 ) , ako je f ( x) = 1 − cos x . Rešenje. Iz tablica nalazimo cos 80 = 0.17365 ± 0.000005 , pa je f (80 ) = = (1 − 0.17365) ± 0.000005 = 0.82635 ± 0.000005 ; relativna greška je 0.000005 = 0.000006 = 0.0006% . 0.82635 Slično, cos1 = 0.99985 ± 0.000005 , pa je f (1 ) = 1 − cos1 = (1 − 0.99985) ± ± 0.000005 = 0.00015 ± 0.000005 ; relativna greška je 0.000005 = 0.03333… ≈ 3% . ▲ 0.00015 Dakle, kod oduzimanja bliskih brojeva dolazi do gubljenja sigurnih cifara a relativne greške su velike.
8.
GREŠKA PROIZVODA I BROJ NJEGOVIH SIGURNIH CIFARA
Za izračunavanje apsolutne greške i granice apsolutne greške proizvoda f ( x1 , x2 , ..., xn ) = P = x1 ⋅ x2 ⋅ ... ⋅ xn mogu se izvesti odgovarajuće formule. Te formule su složenog oblika. Na primer, ako proizvod ima dva faktora, onda je ∆P* = | x2* | ⋅∆ x1* + | x1* | ⋅∆ x2* i AP* = | x2* | Ax1* + | x1* | Ax2* , u slučaju tri faktora imali bismo ∆P* = | x2* x3* | ⋅∆x1* + | x1* x3* | ⋅∆x2* + | x1* x2* | ⋅∆x3* , itd. Mnogo je jednostavnije prvo izračunati relativnu grešku, odnosno, granicu relativne greške, pa zatim koristiti formule ∆P* = | P*| δP * i AP* = | P*| RP* . Radi toga ćemo izvesti formule za relativnu grešku δP* i granicu relativne greške RP* proizvoda P*.
Teorema 1. Relativna greška proizvoda konačnog broja približnih brojeva različitih od nule jednaka je zbiru relativnih grešaka tih brojeva. Dokaz. Neka su xi* > 0 , i = 1, n . Logaritmovanjem izraza P* = x1* ⋅ x2* ⋅⋯ ⋅ xn*
dobijamo ln P* = ln x1* + ln x2* + ⋯ + ln xn* pa je na osnovu (7.1) ∆ (ln P*) = ∆(ln x1* ) + ∆ (ln x2* ) + ⋯ + ∆ (ln xn* ) . ∆u Koristeći činjenicu da je ∆ (ln u ) ≈ | d ln u | = dobijamo |u| ∆x* ∆P * ∆x1* ∆x2* = * + * + ⋯ + *n , | P* | | x1 | | x2 | | xn |
ili 20
(1)
δP* = δx1* + δx2* + ⋯ + δxn* . ■
Znak |·| smo pisali jer formula (1) važi i kada nije xi > 0 za svako i = 1, n . Dakle, relativna greška proizvoda jednaka je zbiru relativnih grešaka faktora. Na potpuno isti način dobijamo (2) RP* = Rx1* + Rx2* + ⋯ + Rxn* .
Primer 1. Izračunati proizvod približnih brojeva x1* = 9.38 i x2* = 25.678 i odrediti njegove sigurne cifre ako su sve cifre brojeva x1* i x2* sigurne u užem smislu. Rešenje. Kako je Ax1* = 0.005 i Ax2* = 0.0005 , to je 0.005 0.0005 RP* = Rx1* + Rx2* = + = 0.0005525 . 9.38 25.678 Kako je P* = x1* ⋅ x2* = 240.85964 , to je 1 240.85964 ⋅ 0.0005525 = 0.13 < 0.5 = ⋅100 = AP * , 2 pa uzimamo P* = 241, gde su sve cifre sigurne u užem smislu. ▲ Razmotrimo zadatak nalaženja broja sigurnih cifara proizvoda približnih brojeva. Neka su u dekadnom sistemu faktori sledećeg oblika: (3)
xi* = ai 10ni + bi 10ni −1 + ⋯ (i = 1, n) ,
gde su ai prve značajne cifre približnih brojeva xi* . Neka svaki faktor xi* ima bar k (k > 1) značajnih cifara. Kako je na osnovu formule (5.6) ω , 0 < ω ≤1, Rxi* ≈ ai 10 k −1 to je k −1 1 1 1 1 (4) RP* = ω + + ⋯ + . an 10 a1 a2 Ako je, na primer, n ≤ 10, onda je 1 1 1 + +⋯ + ≤ 10 , a1 a2 an pa je k −2
1 RP* = ω . 10 Dakle, ako je broj faktora n ≤ 10, onda za odreñivanje proizvoda na k sigurnih cifara svaki faktor treba uzeti s jednom ili dvema „zaštitnim” ciframa više.
21
Primer 2. Odrediti granicu relativne greške i broj sigurnih cifara proizvoda P* = 84.76 · 7.436, gde su sve cifre sigurne u užem smislu. Rešenje. Kako oba faktora imaju po četiri sigurne cifre u užem smislu, to je k = 4 i ω = 0.5, pa je po formuli (4) 1 1 1 RP* = 0.5 + ⋅ 8 7 10
4 −1
3
1 1 = 0.1339... ⋅ < ⋅10−3 , 10 2
pa proizvod ima tri sigurne cifre u užem smislu. Proverimo prethodni zaključak na sledeći način. Kako je P* = 630.27536 i 630.27536 ⋅ 0.1339... ⋅10−3 = 0.084... < 0.1 = 1 ⋅10−1 , to je P* = 630.3 ± 0.1, tj. sve četiri cifre su sigurne u širem smislu, odnosno, prve tri su sigurne u užem smislu. ▲ Posmatrajmo sada proizvod P* = n ⋅ x * , gde je n tačan a x* približan broj. Tada ćemo imati ∆P* = | nx − nx*| = n | x − x*| = n∆x* i ∆P* n∆x* δP* = = = δx* , n ≠ 0 , x* ≠ 0 . | P*| | nx*| Dakle, relativna greška se ne menja a apsolutna se uvećava n puta. Pri množenju približnih brojeva s različitim brojem značajnih cifara koriste se sledeća, praktična pravila: 1) brojeve treba zaokrugliti tako da svaki od njih sadrži jednu ili dve značajne cifre više od broja sigurnih cifara najnetačnijeg podatka; 2) u rezultatu zadržati onoliko sigurnih cifara koliko sigurnih cifara ima najnetačniji faktor ili, možda, jednu sigurnu cifru više.
9.
GREŠKA KOLIČNIKA I BROJ NJEGOVIH SIGURNIH CIFARA
Teorema 1. Relativna greška količnika približnih brojeva jednaka je zbiru relativnih grešaka deljenika i delioca. Dokaz. Neka su x1 i x2 tačni a x1* i x2* odgovarajući približni brojevi. Pretpostavimo da su pozitivni. Potrebno je oceniti apsolutnu grešku i granicu apsolutne greške količnika. Logaritmovanjem izraza Q* = x1* / x2* dobijamo ln Q* = ln x1* − ln x2* ,
pa je na osnovu (7.3) ∆ (ln Q*) = ∆(ln x1* ) + ∆ (ln x2* ) .
22
Koristeći činjenicu da je ∆ (ln u ) ≈ | d ln u | =
∆u dobijamo |u|
∆Q* ∆x1* ∆x2* = + | Q*| | x1* | | x2* |
ili δQ* = δx1* + δx2* ,
(1) što je i trebalo dokazati. ■
Na potpuno isti način dobijamo RQ* = Rx1* + Rx2* .
(2)
Primer 1. Izračunati količnik približnih brojeva x1* = 27.12 i x2* = 19.42 , ako su sve cifre deljenika i delioca sigurne u užem smislu. Rešenje. Granice relativnih grešaka su Rx1* = 0.005 / 27.12 = 0.0001843 i Rx2* = 0.005 / 19.42 = 0.0002574 . Granica relativne greške količnika je RQ* = 0.0001843 + 0.0002574 = 0.0004417 .
Kako je Q* =
27.12 = 1.396498... , to je 19.42 Q * ⋅ | RQ* | = 0.0006168... < 0.001 = AQ * ,
pa uzimamo Q* = 1.396, gde su sve cifre sigurne u širem smislu. ▲ Ako bi cifre datih približnih brojeva bile sigurne u širem smislu, onda bismo imali RQ* = 0.01/27.12 + 0.01/19.42 = 0.0008836... i | Q* | ⋅RQ* = 0.00123... < 0.005 = 0.5 ⋅10−2 = AQ * ,
pa bismo uzeli Q* = 1.40, gde su sve cifre sigurne u užem smislu. Razume se, mogli smo uzeti AQ* = 0.002 = 0.2 ⋅ 10 −2 i rekli bismo da su cifre rezultata 1.40 sigurne u „smislu ω = 0.2“. ▲ Razmotrimo sada zadatak nalaženja broja sigurnih cifara količnika približnih brojeva. Neka su u dekadnom sistemu računanja dati približni brojevi (3)
x1* = a110n1 + b110n1 −1 + ⋯ i x2* = a210n2 + b210n2 −1 + ⋯ ,
gde svaki od njih ima bar k (k > 1) sigurnih cifara. Kako je na osnovu formule (5.6) ω ω i Rx2* ≈ , 0 < ω ≤1, Rx1* ≈ k −1 a110 a 2 10 k −1 to je 23
(4)
RQ* =
ω 1 1 + . 10 k −1 a1 a2
Primer 2. Izračunati količnik približnih brojeva 49.327 i 3.45 i odrediti koliko ima sigurnih cifara ako deljenik i delilac imaju sve cifre sigurne u širem smislu. Rešenje. Kako deljenik ima pet a delilac tri sigurne cifre, to ćemo deljenik zaokrugliti na četiri cifre (jedna je zaštitna): 49.33 Q* = = 14.298... = 14.3 , 3.45 jer rezultat ne može imati više od tri značajne cifre. Dalje, ω = 1, a1 = 4 , a2 = 3 i k = 3 (manje tačan podatak ima tri sigurne cifre), pa je 1 1 1 RQ* = 3−1 + = 0.583... ⋅10 − 2 ≈ 0.6 ⋅10 − 2 < 1 ⋅10 − 2 , 10 4 3 tj. rezultat ima dve (može biti i više, dakle, tri) sigurne cifre. Proverimo to na sledeći način. Kako je AQ* = | Q*| ⋅RQ* = 14.298... ⋅ 0.0583... = 0.083... < 0.1 , to je Q* = 14.3 ± 0.1. Naravno, umesto grube ocene RQ* = 0.00583... mogli smo uzeti precizniju ocenu RQ* = 0.001/49.327 + 0.01/3.45 = 0.0029187..., pa bismo dobili AQ* = | Q* | ⋅RQ* = 0.0417... < 0.05 i AQ* = 14.3 ± 0.05 . ▲ Na osnovu (4) možemo formulisati sledeća pravila: 1) ako je a1 ≥ 2 i a2 ≥ 2 , onda količnik ima (k–1)–nu sigurnu cifru (može biti i k sigurnih cifara); 2) ako je a1 = 1 i a2 = 1 , onda količnik ima (k–2)–e sigurne cifre (može biti i (k–1)–nu sigurnu cifru). Nepreciznost ovih pravila je posledica činjenice da je ocena (5.6) dosta gruba.
10. GREŠKA STEPENA I KORENA Teorema 1. Relativna greška k–tog stepena približnog broja je k puta veća od relativne greške samog broja. Dokaz. Neka je y = x k i y* = x *k , gde je x tačan a x* približan broj a k prirodan broj. Koristeći činjenicu da je y* = x *k = x * ⋅ x * ⋅ ⋯ ⋅ x * ,
gde imamo k jednakih faktora, imamo na osnovu (8.1) 24
δy* = δx *k = k ⋅ δx * ,
(1) što je i trebalo dokazati. ■
Iz (1) sledi da kod stepena približnog broja x*k u rezultatu treba zadržati onoliko sigurnih cifara koliko ima približan broj x*.
Primer 1. Ako je dužina ivice kocke a* = 5.67 cm, ∆a* = 0.005 cm, izračunati zapreminu kocke, apsolutnu i relativnu grešku i broj sigurnih cifara rezultata. Rešenje. Zapremina je V * = a*3 = 5.673 cm3 = 182.284... cm3 .
Prvo računamo relativnu grešku 0.005 cm δa* = = 0.000881... 5.67 cm δV * = 3 ⋅ δa* = 0.00264...
Sada je
1 0 ⋅10 , 2 pa uzimamo V* = 182, gde su sve tri cifre sigurne u užem smislu. ▲ ∆V * = V * ⋅δV * = 0.4812... < 0.5 =
Teorema 2. Relativna greška k–tog korena približnog broja je k puta manja od relativne greške samog broja. Dokaz. Neka je y* = k x * , tada je x* = y*k . Prema tome, δ x* = k ⋅ δ y* , odnosno 1 1 (2) δy* = δ x* tj., δ k x* = δ x* , k k što je i trebalo dokazati. ■
(
)
Iz (2) sledi da kod korena približnog broja k x * u rezultatu treba zadržati onoliko sigurnih cifara koliko sigurnih cifara ima približan broj x*.
Primer 2. Izračunati dužinu stranice kvadrata, apsolutnu i relativnu grešku i broj sigurnih cifara stranice ako je površina kvadrata P* = 16.45 cm2 s tačnošću 0.01 cm2. Rešenje. Kako je a* = P * = 16.45 cm = 4.0558... cm , to primenom formule (2) nalazimo 1 1 0.01 δa* = δP* = ⋅ = 0.0003... = 0.03...% . 2 2 16.45 Dalje, ∆a* = 4.0558... ⋅ 0.0003... = 0.0012... < 0.002 = 0.2 ⋅10 −2 . 25
Dakle, a* = 4.06, ∆a* = 0.2 ⋅10 −2 , tj. a = (4.06 ± 0.002) cm i sve tri cifre su sigurne u „smislu ω = 0.2“. ▲
11. METODA GRANICA Ocena greške približne vrednosti f * = f ( x1* , x2* , ..., xn* ) zadate funkcije f = f ( x1 , x2 , ..., xn ) korišćenjem opštih formula (6.2), (6.3), (6.4) ili (6.5) je zasnovana na približnoj jednakosti n ∂f ∆ = f − f * = ∆f ≈ df = ∑ ∆i , i =1 ∂xi odnosno na pretpostavci da su stvarne greške ∆ i = xi − xi* , (i = 1, n) dovoljno male i da se veličina (ostatak) ε( ∆1 , ∆ 2 , ..., ∆ n ) =
1 ∂2 f 2 ∂2 f 2 ∂2 f ∆ + ⋯ + ∆ + 2 ∆1∆ 2 + ⋯ + n 1 2! ∂x12 ∂x1∂x2 ∂xn2
+2
∂2 f ∆ n −1∆ n + ⋯ ∂xn −1∂xn
može zanemariti. Dakle, ocena je približna i ne može se tvrditi da je apsolutno pouzdana u svakom slučaju. Meñutim, njena primena je potpuno opravdana jer je nepouzdanost zaista zanemarljiva. Ponekad je potrebno odrediti tačne i pouzdane granice približne vrednosti funkcije ako su poznate granice u kojima se nalaze vrednosti argumenata. Jedan jednostavan način rešavanja ovog zadatka je tzv. metoda granica. Neka je (1) f = f ( x1 , x2 , ..., xn ) neprekidno diferencijabilna i monotona funkcija po svakom argumentu xi , ∂f i = 1, n . Za to je dovoljno pretpostaviti da su izvodi , i = 1, n , konstantnog ∂xi znaka u posmatranoj oblasti D promene argumenata. Pretpostavimo da je
x i < xi < xi , (i = 1, n)
(2)
i da paralelepiped odreñen dvostrukim nejednakostima (2) pripada oblasti D. Neka je funkcija f monotono rastuća po svim argumentima. Tada je (3)
f = f ( x1 , x 2 , ..., x n ) < f ( x1 , x2 , ..., xn ) < f ( x1 , x2 , ..., xn ) = f ,
ili kraće f < f < f ,
26
pa uzimamo
1 f*= (f + f ) 2
(4) i pri tome je
1 | f − f | = Af * . 2 Ako je funkcija f monotono opadajuća po svim argumentima ili monotono rastuća po nekim a po ostalim argumentima monotono opadajuća, onda se odgovarajući analogni zaključci jednostavno izvode. (5)
∆f * = | f − f * | ≤ | f * − f | = | f * − f | =
Primer 1. Izračunati približnu vrednost funkcije f ( x1 , x2 , x3 ) = ( x12 + x22 ) / x32 i granicu apsolutne greške ako je: x1 = 3.987 ± 0.001 , x2 = 4.876 ± 0.001 i x3 = 5.765 ± 0.001 . Rešenje. U oblasti
{( x1 , x2 , x3 ) | 3.986 < x1 < 3.988; 4.875 < x2 < 4.877; 5.764 < x3 < 5.766} funkcija f je monotono rastuća po x1 i x2 a monotono opadajuća po x3 . ∂f (Razume se, pouzdanost ovog zaključka treba korektno dokazati: >0, ∂x1 ∂f ∂f >0 i < 0 .) Saglasno metodi granica računamo: ∂x2 ∂x3 f = f ( x1 , x 2 , x3 ) = f = f ( x1 , x2 , x3 ) =
3.9862 + 4.8752 = 1.1927 , 5.7662
3.9882 + 4.877 2 = 1.1946... , 5.7642
1 f * = ( f + f ) = 1.19365... i Af * = 0.0009... , pa uzimamo da je f * = 1.194 i 2 Af * = 0.001 . Radi poreñenja rezultata, ocene greške rezultata i obima računanja izračunajmo f * i Af * na drugi način. Kako je 2x 2x ∂f 2 ⋅ 3.987 ∂f 2 ⋅ 4.876 = 21 = = 0.2399... , = 22 = = 0.2934... 2 ∂x1 ∂x2 x3 5.765 x3 5.765 2 − 2( x12 + x22 ) − 2 ⋅ (3.987 2 + 4.876 2 ) ∂f = = = −0.4141... , ∂x3 x33 5.765 2
27
to redom računamo: Af * = (0.2399... + 0.2934... + 0.4141...) ⋅ 0.001 = 0.0009474... ,
pa možemo uzeti Af * = 0.001 ; f * = (3.987 2 + 4.876 2 ) / 5.765 2 = 1.1936... , odnosno uzimamo da je f * = 1.194 . Dakle, dobijamo isti rezultat f * = 1.194 i Af * = 0.001 . ▲
Primer 2. Ako su koeficijenti kvadratne jednačine 2.78 x 2 + 0.60 x − 1.29 = 0 približni brojevi sa sigurnim ciframa u užem smislu, izračunati njeno veće rešenje. Rešenje. Kao što znamo, rešenje kvadratne jednačine ax 2 + bx + c = 0 se nalazi primenom formule x1, 2 =
−b ∓ b 2 − 4ac . 2a
Dakle, imamo funkcije −b − b 2 − 4ac −b + b 2 − 4ac i f 2 ( a , b, c ) = . 2a 2a Primenimo metodu granica. U našem slučaju imamo: 2.775 < a < 2.785, 0.595 < b < 0.605 i –1.295 < c < –1.285; koristićemo funkciju f 2 ( a, b, c) , dakle f1 (a, b, c) =
−b + b 2 − 4ac . 2a Saglasno metodi granica računamo: x=
x=
− b + b 2 − 4ac 2a
=
−0.595 + 0.6052 − 4 ⋅ 2.785 ⋅ (−1.295) = 0.585780... , 2 ⋅ 2.775
−b + b 2 − 4 ac
−0.605 + 0.5952 − 4 ⋅ 2.775 ⋅ (−1.285) x= = = 0.577789... , 2a 2 ⋅ 2.785 1 1 1 | x − x | = 0.00399... < 0.005 = ⋅10−2 = Ax* , x* = ( x + x ) = 0.5817... , 2 2 2 dakle, x* = 0.58 i Ax* = 0.005 . ▲
12. INVERZNI PROBLEM OCENE GREŠKE U praksi se vrlo često pojavljuje i sledeći zadatak: Kolike moraju biti granice apsolutnih grešaka argumenata da granica apsolutne greške funkcije ne bi bila veća od unapred zadatog broja. Ovaj zadatak, zadatak odreñivanja potrebne tačnosti argumenata radi obezbeñivanja zadate tačnosti rezultata zove 28
se inverzni ili obratni problem ocene greške. Dakle, treba odrediti Ax1* , Ax2* , ..., Axn* da bi bilo (1)
∂f ∂f ∂f ⋅ Ax1* + ⋅ Ax2* + ⋯ + ⋅ Axn* ≤ ε , ∂x1 ∂x2 ∂xn
gde je ε (ε > 0) unapred zadata tačnost rezultata. Za n = 1 iz (1) se dobija ∂f ⋅ Ax1* ≤ ε , ∂x1 pa je Ax1* ≤
ε ∂f ∂x1
.
Za n > 1 zadatak je, očigledno, neodreñen; imamo samo jednu linearnu nejednačinu a n nepoznatih: Ax1* , Ax2* , ..., Axn* . Neodreñenost eliminišemo postavljanjem dodatnih uslova. Najčešće se postupa na jedan od sledećih načina. Ako pretpostavimo da je (2)
∂f ∂f ∂f ⋅ Ax1* = ⋅ Ax2* = ... = ⋅ Axn* , ∂x1 ∂x2 ∂xn
onda imamo tzv. princip jednakih doprinosa. Iz (1), uzimajući u obzir (2), dobijamo ε Axi* ≤ , i = 1, n . (3) ∂f n⋅ ∂xi Ako su x1 , x2 , ..., xn veličine iste prirode (recimo, dužine), merene istim jedinicama, onda se može pretpostaviti da je Ax1* = Ax2* = ... = Axn* ;
(4)
tada imamo tzv. princip jednakih granica apsolutnih grešaka. Iz (1), uzimajući u obzir (4), dobijamo ε (5) Axi* ≤ , i = 1, n . n ∂f ∑ ∂x j =1 j Moguće je uzeti da je (6)
Rx1* = Rx2* = ... = Rxn* ( = λ ) , tj.
Axn* Ax1* Ax2* = = ... = (= λ) , | x1* | | x2* | | xn* |
29
tada imamo tzv. princip jednakih granica relativnih grešaka. Iz (1), uzimajući u obzir (6), dobijamo ∂f ∂f ∂f λ | x1* | + λ | x2* | +... + λ | xn* | ≤ ε , ∂x1 ∂x2 ∂xn
odnosno ε
λ≤
n
∑ i =1
∂f ⋅ | xi* | ∂xi
,
pa je Ax*j |
x*j
≤
|
ε n
∑ i =1
∂f * ⋅ xi ∂xi
,
i na kraju (7)
Ax*j
≤
ε⋅ | x*j | n
∑ i =1
∂f * ⋅ xi ∂xi
, j = 1, n .
Primer 1. Poluprečnik osnove uspravnog valjka je r* ≈ 3 j a visina H * ≈ 8 j . Odrediti granice apsolutnih grešaka Ar * , AH * , Aπ da bi granica apsolutne greške približne vrednosti zapremine bila najviše jednaka 0.01 j 3 . Rešenje. Kako je zapremina valjka V = r 2 πH , to imamo funkciju V = V (r , π, H ) , dakle funkciju od tri argumenta. Stavljajući r* ≈ 3 , H * ≈ 8 i π* ≈ 3.14 dobijamo: ∂V ∂V ∂V = 2rπH = 150.72 , = r 2 H = 72 i = r 2 π = 28.26 , ∂H ∂r ∂π pa na osnovu formule (3) imamo: 0.01 Ar* ≤ = 0.0000221... , pa ćemo uzeti Ar* = 0.00002 j ; 3 ⋅150.72 0.01 Aπ* ≤ = 0.0000462... , pa ćemo uzeti Aπ* = 0.00004 , π* = 3.1416 ; 3 ⋅ 72 0.01 AH * ≤ = 0.0001179... , pa ćemo uzeti AH * = 0.0001 j . ▲ 3 ⋅ 28.26
30
II INTERPOLACIJA FUNKCIJA
0.
UVODNE NAPOMENE
U matematici i njenim primenama vrlo česti su zadaci sledećeg oblika: a) Poznate su vrednosti f ( x0 ), f ( x1 ), ..., f ( xn ) neke funkcije y = f (x) , gde xi ∈ [a, b] , i = 0, n , n ∈ N i konačan je broj, a nije poznat analitički oblik funkcije f (x) . Potrebno je izračunati približne vrednosti funkcije f (x) za vrednosti argumenta x koje su različite od datih vrednosti xi . b) Poznate su vrednosti f ( x0 ), f ( x1 ), ..., f ( xn ) neke funkcije y = f (x) , gde xi ∈ [ a, b] , i = 0, n , n ∈ N i konačan je broj, a poznat je analitički oblik funkcije f (x) ali je vrlo komplikovan. Potrebno je izračunati približne vrednosti funkcije f (x) za vrednosti argumenta x koje su različite od datih vrednosti xi . Zadaci a) i b) pojavljuju se u nastavi matematike već u srednjoj školi. Podsetimo se jednog takvog zadatka. Dobro su nam poznate logaritamske tablice, tablice prirodnih vrednosti trigonometrijskih funkcija, itd. U ovim tablicama se nalaze vrednosti funkcija samo za izvesne vrednosti argumenta i to ne tačno već samo približno s odreñenim brojem sigurnih cifara. Tako, na primer, u logaritamskim tablicama čije mantise imaju pet decimala dati su logaritmi brojeva od 1 do 10909. Postavlja se zadatak izračunavanja vrednosti logaritama za vrednosti argumenta kojih nema u tablicama, i to pomoću onih vrednosti koje se nalaze u tablicama. Ako treba izračunati vrednost funkcije f (x) za neko x, x0 < x < xn , x ≠ xi onda se taj zadatak zove interpolacija (interpoler = umetnuti, franc.). Prema tome, reč interpolacija označavaće postupak nalaženja vrednosti neke funkcije y = f (x) za x ∈ [a, b] i xi < x < xi +1 , i = 0, n − 1 , na osnovu tabele x0 x1 x f (x) f ( x0 ) f ( x1 )
... ...
xi f ( xi )
... ...
xn f ( xn )
Ako treba izračunati vrednost funkcije f ( x) za neko x < x0 ili x > xn , onda se zadatak zove ekstrapolacija. Zadatak interpolacije i zadatak ekstrapolacije se rešavaju na isti način. Zbog toga ćemo u oba slučaja koristiti termin interpolacija, naravno ako ne postoji poseban razlog za isticanje o kojem se zadatku radi.
31
1.
OPŠTI ZADATAK INTERPOLACIJE
Zadatak interpolacije se sastoji u sledećem. Umesto poznate funkcije y = f (x) , zadate tablično ili analitičkim izrazom (ako se izračuna odreñen broj vrednosti te funkcije, ona se i u ovom slučaju može smatrati zadatom tablično), treba konstruisati jednostavniju funkciju F ( x; a0 , a1 , ..., an ) , gde su ai (i = 0, n) neki parametri, pomoću koje se mogu lakše nalaziti vrednosti funkcije f (x) . Te vrednosti se nalaze približno ali s potrebnom tačnošću. Pri tome se zahteva da su zadovoljeni uslovi (1) F ( x j ; a0 , a1 , ..., a n ) = f ( x j ) , j = 0, n . Uslovi (1) se koriste za odreñivanje parametara ai (i = 0, n) . Kao što se vidi postavlja se sledeći zadatak. Neka je na segmentu [а, b] zadata mreža (2) ω = {a = x0 < x1 < ... < xi < ... < xn = b} i na njoj vrednosti funkcije f (x) : (3) f ( x0 ) = y0 , f ( x1 ) = y1 , ..., f ( xi ) = yi , ..., f ( xn ) = y n . Treba konstruisati funkciju F ( x; a0 , a1 , ..., an ) koja se poklapa sa funkcijom f (x) u tačkama xi , (i = 0, n) – čvorovima mreže ω , tj. F ( xi ; a0 , a1 , ..., a n ) = yi , (i = 0, n) . Ovako formulisan zadatak interpolacije može imati jedinstveno rešenje, imati konačno ili beskonačno mnogo rešenja ili nemati rešenje. Zbog toga se postavljaju dodatni uslovi. Prirodno je zahtevati da funkcija F ( x; a0 , a1 , ..., an )
(4)
u ostalim tačkama x ∈ [ a, b] , x ≠ xi , i = 0, n , dobro aproksimira funkciju f (x) , dakle da bude (5)
| f ( x) − F ( x; a0 , a1 , ..., an ) | ≤ ε ,
gde je ε > 0 dopustiva greška aproksimacije. Nejednakost (5) se može f(x) geometrijski interpretirati kao na sl. 1. Ako je ε manje, onda je aproksimacija tačnija, bolja. Prirodno je, takoñe, zahtevati da je f(x) – ε funkcija F (koju, inače, zovemo interpolacionom funkcijom) jednostavna za xn–1 xn= b x računanje. 0 a = x0 x1 x2 Ako interpolaciona funkcija F Sl. 1 nelinearno zavisi od neodreñenih parametara a0 , a1 , ..., an , onda je nazivamo nelinearnom interpolacionom funkcijom (u tom slučaju nalaženje parametara a0 , a1 , ..., an iz uslova (4) je najčešće vrlo teško), a ukoliko F zavisi linearno od neodreñenih parametara
y
32
f (x ) + ε
a0 , a1 , ..., an , tada se radi o linearnoj interpolacionoj funkciji. U ovom kratkom kursu će se razmatrati samo linearne interpolacione funkcije koje se, po pravilu, traže u obliku uopštenog polinoma, tj. u obliku
(6)
F ( x; a0 , a1 , ..., an ) =
n
∑ ak g k ( x) ,
k =0
gde su funkcije g k (x) zadate i linearno nezavisne (u protivnom bi se broj članova u zbiru i broj parametara mogao smanjiti), a a0 , a1 , ..., an neodreñeni koeficijenti. Iz (4), imajući u vidu (6), se dobija n
∑ ak g k ( xi ) = yi ,
(7)
i = 0, n ,
k =0
tj. dobija se sistem od (n + 1)–ne jednačine za odreñivanje (n + 1)–nog koeficijenta ai , (i = 0, n) . Ako je sistem funkcija g k (x) tako izabran da je za proizvoljan izbor čvorova a = x0 < x1 < ... < xn = b različita od nule determinanta sistema (7), tj.
D( g ) =
g 0 ( x0 )
g1 ( x 0 ) ⋯ g n ( x 0 )
g 0 ( x1 ) ⋮
g1 ( x1 ) ⋯ g n ( x1 )
≠ 0,
g 0 ( x n ) g1 ( x n ) ⋯ g n ( x n )
i ako su zadate vrednosti yi , (i = 0, n) , onda su sistemom (7) jednoznačno odreñeni koeficijenti ai , (i = 0, n) , odnosno, jednoznačno je odreñena interpolaciona funkcija (6). Za linearno nezavisne funkcije g k (x) najčešće se biraju: stepene funkcije: 1, x, x 2 , ..., x n – tada je interpolaciona funkcija F ( x; a0 , a1 , ..., an ) ≡ Pn ( x) = a0 + a1 x + a 2 x 2 + ⋯ + a n x n ,
dakle, algebarski polinom stepena n; trigonometrijske funkcije: 1, sin x, cos x, sin 2x, cos 2x, ..., sin nx, cos nx – tada je interpolaciona funkcija F ( x; a0 , b0 , a1 , b1 , ..., a n , bn ) ≡ Tn ( x) = a0 + a1 cos x + b1 sin x + ⋯ + + a n cos nx + bn sin nx,
dakle, trigonometrijski polinom stepena n; eksponencijalne funkcije: 1, e px , e qx , ..., e tx , gde su p, q, ..., t različite konstante, i tako dalje. Radi lakšeg računanja u praksi se najčešće koriste algebarski polinomi; dakle, interpolacionu funkciju (6) tražićemo u obliku (8)
F ( x; a0 , a1 , ..., an ) ≡ Pn ( x) =
n
∑ ak x k ,
k =0
gde se koeficijenti, saglasno uslovu (4), odnosno (7), dobijaju iz sistema 33
linearnih algebarskih jednačina a0 + a1 x0 + a2 x02 + ⋯ + an x0n = y0 , a0 + a1 x1 + a2 x12 + ⋯ + an x1n = y1 , (9) ⋮ 2 n a0 + a1 xn + a2 xn + ⋯ + an xn = yn . Determinanta sistema (9) 1 x0
x02 ⋯ x0n
1 x1 D= ⋮
x12 ⋯ x1n
1 xn
xn2 ⋯ xnn
je Vandermondova (A. T. Wandermonde, 1735–1796) determinanta, i njena vrednost je D = ∏ ( xk − xm ) ≠ 0 , n≥ k > m≥0
jer su čvorovi xi , (i = 0, n) meñusobno različiti. Dakle, interpolacioni polinom (8) postoji i jedinstven je, ali postoji mnogo formi zapisivanja tog polinoma. Svaka od tih formi nosi poseban naziv, pa imamo: I i II Njutnov interpolacioni polinom, I i II Gausov interpolacioni polinom, Beselov interpolacioni polinom, itd; svaki od njih ima izvesne pogodnosti u numeričkom smislu u nekim situacijama. Posebno je značajno pitanje ocene greške aproksimacije (10) f ( x) ≈ Pn ( x) . Da je aproksimacija (10) uopšte moguća opravdavaju sledeće teoreme, koje je dao Vajerštras (K. Weierstrass, 1815–1897) 1855. god.
Teorema 1. Ako je f ( x) ∈ C[ a, b] , onda za proizvoljno maleno ε > 0 postoji takav polinom Pn (x) da za svako x ∈ [a, b] važi sledeća nejednakost | f ( x) − Pn ( x) | < ε .
Teorema 2. Ako je f ( x) ∈ C[0, 2 π] i periodična s periodom 2π, onda za proizvoljno maleno ε > 0 postoji takav trigonometrijski polinom Tn ( x) da za svako x ∈ (–∞, ∞) važi nejednakost | f ( x) − Tn ( x) | < ε . Dokazi ovih teorema mogu se naći, na primer, u knjizi: I. S. Berezin, N. P. Židkov – Numerička analiza, Naučna knjiga, Beograd, 1963. Osnovna pitanja teorije interpolacije su: 1) pogodno formiranje interpolacionog polinoma za zadati izbor sistema linearno nezavisnih funkcija g k (x) ;
34
2) nalaženje ocene greške aproksimacije f ( x) ≈ F ( x; a0 , a1 , ..., an ) ; 3) optimalan izbor čvorova interpolacije u smislu minimizacije greške interpolacije; 4) analiza uticaja grešaka približnih vrednosti funkcije u čvorovima interpolacije; 5) ispitivanje konvergencije niza interpolacionih polinoma ka funkciji f (x) kada broj čvorova interpolacije neograničeno raste.
2.
LAGRANŽEV INTERPOLACIONI POLINOM
Neka je na segmentu [a, b] zadato n + 1 različitih čvorova: x0 , x1 , ..., xn i neka su yi = f ( xi ) , i = 0, n , vrednosti funkcije y = f (x) u tim čvorovima. Treba konstruisati interpolacioni polinom Ln (x) , stepena ne većeg od n, takav da je Ln ( xi ) = yi , i = 0, n .
(1)
Dakle, traži se polinom Ln ( x) koji prolazi kroz tačke M i ( xi , yi ) , i = 0, n . Postavljeni zadatak se može rešiti na sledeći način. Konstruišimo, prvo, pomoćni polinom pi ( x) n–tog stepena koji je jednak nuli za x = x j , j ≠ i , a jednak jedinici za x = xi , tj. 0, j ≠ i pi ( x j ) = δ ij = 1, j = i,
(2)
gde je δ ij Kronekerov (L. Kronecker, 1823–1891) simbol. Dakle, treba konstruisati polinom pi (x) koji se anulira u n tačaka: x0 , x1 , ..., xi −1 , xi +1 , ..., xn . Kako je polinom svojim nulama odreñen do na konstantan faktor, to je pi ( x) = Ci ( x − x0 )( x − x1 ) ⋯ ( x − xi −1 )( x − xi +1 ) ⋯ ( x − xn ) ,
(3)
gde je Ci konstanta. Stavimo li x = xi u (3), dobićemo 1 = pi ( xi ) = Ci ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn ) ,
odnosno Ci =
1 , ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn )
pa je (4)
pi ( x ) =
( x − x0 )( x − x1 ) ⋯ ( x − xi −1 )( x − xi +1 ) ⋯ ( x − xn ) . ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn )
Traženi interpolacioni polinom ima oblik n
(5)
Ln ( x) = ∑ pi ( x) ⋅ yi . i =0
35
Očigledno je da je polinom Ln (x) stepena ne višeg od n; zbog uslova (2) je n
Ln ( x j ) = ∑ pi ( x j ) ⋅ yi = p j ( x j ) ⋅ y j = y j , j = 0, n , i =0
tj. ispunjen je uslov (1), odnosno, polinom Ln (x) prolazi kroz sve tačke M i ( xi , yi ) , i = 0, n . Uvrstimo li (4) u (5), dobićemo ( x − x0 )( x − x1 )⋯ ( x − xi −1 )( x − xi +1 )⋯ ( x − xn ) ⋅ yi . i = 0 ( xi − x0 )( xi − x1 ) ⋯ ( xi − xi −1 )( xi − xi +1 ) ⋯ ( xi − xn ) n
(6)
Ln ( x) = ∑
Ovaj interpolacioni polinom se zove Lagranžev (L. J. Lagrange, 1736– 1813) interpolacioni polinom. Lagranžev interpolacioni polinom (6) može se zapisati u kraćem, „kondenzovanijem“ obliku. Da bismo to učinili, uvedimo oznaku (7)
∏ n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xi )⋯ ( x − xn ) . Diferencirajući (7) po x i stavljajući x = xi dobijamo
(8)
∏ 'n+1 ( xi ) = ( xi − x0 )( xi − x1 )⋯ ( xi − xi −1 )( xi − xi +1 )⋯ ( xi − xn ) . Uvrstimo li (7) i (8) u formulu (6), dobićemo
∏ n +1 ( xi ) ⋅ y , i ' i =0 ( x − x ) i ∏ n +1 ( xi ) n
Ln ( x) = ∑
ili n
(9)
Ln ( x) = ∏ n +1 ( x) ⋅ ∑ i =0
yi ( x − xi )∏ 'n +1 ( xi )
.
Dokažimo još i jedinstvenost Lagranževog interpolacionog polinoma. Pret~ postavimo suprotno, tj. neka je Ln ( x) polinom različit od polinoma Ln (x) , stepena ne višeg od n i takav da je ~ Ln ( xi ) = yi , i = 0, n . Tada polinom ~ Qn ( x) = Ln ( x) − Ln ( x) ima stepen ne viši od n i anulira se u n + 1 tački: x0 , x1 , ..., xn , a to je moguće ~ ako i samo ako je Qn ( x) ≡ 0 , tj. Ln ( x) ≡ Ln ( x) .
Primer 1. Funkcija y = f (x) je zadata tabelom x y
0 1
1 4
2 13
4 73
a) Naći Lagranžev interpolacioni polinom L3 ( x) . b) Izračunati približnu vrednost funkcije f (x) za x = 3. 36
Rešenje. a) Traženi interpolacioni polinom je ( x − 1)( x − 2)( x − 4) ( x − 0)( x − 2)( x − 4) L3 ( x) = ⋅1 + ⋅4+ (0 − 1)(0 − 2)(0 − 4) (1 − 0)(1 − 2)( x − 4) ( x − 0)( x − 1)( x − 4) ( x − 0)( x − 1)( x − 2) + ⋅13 + ⋅ 73 , (2 − 0)(2 − 1)(2 − 4) ( 4 − 0)(4 − 1)(4 − 2) ili, posle sreñivanja, L3 ( x) = x 3 + 2 x + 1 . b) f (3) ≈ L3 (3) = 34 . ▲
3.
OCENA GREŠKE INTERPOLACIJE
Interpolacioni polinom Ln (x) , ako su sva računanja tačna, poklapa se s funkcijom f (x) u čvorovima interpolacije: x0 , x1 , ..., xn . Za vrednosti argumenta x, različite od čvorova, Ln (x) i f (x) u opštem slučaju se razlikuju. (Izuzetak je kada je funkcija f (x) polinom čiji stepen nije viši od n; tada je Ln ( x) = f ( x) , ali taj slučaj nije od posebnog interesa za numeričku matematiku.) Ako bi se broj čvorova povećavao, onda bi bilo prirodno očekivati da interpolacioni polinom sve bolje aproksimira datu funkciju. Meñutim, u opštem slučaju to nije tako. Kada broj čvorova neograničeno raste, onda interpolacioni polinom prelazi u beskonačni red, nazovimo ga interpolacionim redom. Pitanje konvergencije takvog reda je dosta složeno. (Može se desiti da red divergira ili konvergira ka nekoj funkciji koja je različita od f (x) ili, pod odreñenim uslovima, ka f (x) .) Dakle, opravdano se postavlja pitanje ocene greške (1) Rn ( x) = f ( x) − Ln ( x) . Kako su vrednosti yi funkcije y = f (x) približne, to se javlja dopunska greška. Osim toga, u procesu računanja zbog grešaka zaokrugljivanja javlja se nova greška. Prva greška, greška Rn (x) , je greška metode, druga je neotklonjiva greška a treća je greška zaokrugljivanja. Ovde ćemo proučiti grešku metode, koja se, ponekad, naziva ostatkom interpolacije. Postupak nalaženja izraza za Rn (x) je sličan postupku nalaženja ostatka Tejlorove formule. Poñimo, dakle, od pomoćne funkcije ( z − x0 )( z − x1 )⋯ ( z − xn ) (2) F ( z ) = f ( z ) − Ln ( z ) − ⋅ Rn ( x) , ( x − x0 )( x − x1 )⋯ ( x − xn ) gde je z realna promenljiva, x neka fiksirana vrednost u [ x0 , xn ] , različita od xi , i = 0, n . Pretpostavimo da je
f ( x) ∈ C n+1[ x0 , xn ] ; tada je, očigledno, i
F ( x) ∈ C n +1[ x0 , xn ] . Može se primetiti da se funkcija F (x) anulira u n + 2
37
tačke: x0 , x1 , ..., xn , x . Ove tačke odreñuju n + 1 podsegment segmenta [ x0 , xn ] . Primenivši na svakom od tih podsegmenata Rolovu (M. Rolle, 1652–1719) teoremu zaključujemo da funkcija F ' ( z ) ima najmanje n + 1 nulu u [ x0 , xn ] . Primenivši na analogan način Rolovu teoremu redom na F ' ( z ) , F " ( z ) , ..., F ( n+1) ( z ) zaključujemo da F ( n+1) ( z ) ima bar jednu nulu u [ x0 , xn ] ; neka je z = ξ ∈ ( x0 , xn ) i F ( n+1) (ξ ) = 0 . Osim toga, d n+1 [( z − x0 )( z − x1 )⋯ ( z − xn )] = (n + 1)! . dz n+1 Na taj način se dobija F ( n+1) ( z ) = f ( n+1) ( z ) −
(3)
(n + 1)! ⋅ Rn ( x) . ( x − x0 )( x − x1 )⋯ ( x − xn )
Stavivši z = ξ u (3) dobija se 0 = f ( n +1) (ξ ) −
( n + 1)! ⋅ Rn ( x) , ( x − x0 )( x − x1 )⋯ ( x − xn )
odakle je (4)
f ( n +1) (ξ ) ( x − x0 )( x − x1 )⋯ ( x − xn ) , ξ ∈ ( x0 , xn ) (n + 1)!
Rn ( x) =
ili Rn ( x) =
gde je
f ( n +1) (ξ ) ∏ n+1 ( x) , ξ ∈ ( x0 , xn ) , (n + 1)!
∏ n+1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) .
Ako je moguće naći maksimum (n + 1)–vog izvoda funkcije f (x) na [ x0 , xn ] , tj. max | f ( n +1) ( x) | ≤ M n+1 , x ∈ [ x0 , xn ] ,
onda se iz (4) dobija (5)
| Rn ( x)| = | f ( n +1) ( x) − Ln ( x)| ≤
M n +1 (n + 1)!
∏ n +1 ( x)
.
Lako se uočavaju dva bitna nedostatka dobijene formule: a) Nekada je funkcija f (x) zadata tablično (njen analitički izraz nije poznat), pa nije moguće naći f ( n+1) ( x) , samim tim nije moguće proceniti Rn (x) ; b) Često se zna analitički izraz za funkciju f (x) i on je veoma komplikovan. Nalaženje izvoda takvih funkcija je mukotrpan posao, često praktično i nemoguć, naročito za veliko n. Dakle, opet je zaključak isti – praktično je nemoguće proceniti grešku Rn (x) . 38
Dakle, dobijena formula za grešku (4), odnosno (5), ima teorijsku vrednost; ona dobija praktičnu vrednost tek nalaženjem jednostavnije ocene izvoda f ( n+1) ( x) za x ∈ [ x0 , xn ] .
Primer 1. Funkcija y = 1 /(1 + x 2 ) je zadata tablicom x 0.00 0.10 0.30 0.50 y 1.00 0.99 0.92 0.80 Naći Lagranžev interpolacioni polinom L3 ( x) i proceniti grešku. Rešenje. Traženi interpolacioni polinom je L3 ( x ) =
+
( x − 0.1)( x − 0.3)( x − 0.5) (0.0 − 0.1)(0.0 − 0.3)(0.0 − 0.5)
⋅ 1.00 +
( x − 0.0)( x − 0.3)( x − 0.5) (0.1 − 0.0)(0.1 − 0.3)(0.1 − 0.5)
⋅ 0.99 +
( x − 0.0)( x − 0.1)( x − 0.5) ( x − 0.0)( x − 0.1)( x − 0.3) ⋅ 0.92 + ⋅ 0.80, (0.3 − 0.0)(0.3 − 0.1)(0.3 − 0.5) (0.5 − 0.0)(0.5 − 0.1)(0.5 − 0.3)
5 3 1 x − x2 − x +1 . 12 240 Ocenimo grešku. Da bismo izbegli neposredno izračunavanje četvrtog izvoda, iskoristićemo činjenicu da je π [1/(1 + x 2 )]( k ) = [arctg x ( k +1) ] = k !cos k +1 A ⋅ sin( k + 1) A + , 2 gde je A = arc tg x. Na taj način imamo za x ∈ [0.0,0.5]
ili, posle sreñivanja, L3 ( x) =
π |1/(1 + x 2 )(4)| = max 4!cos5 A ⋅ sin 5 A + = 4! 2
pa je | R3 ( x) | ≤
4.
4! | x( x − 0.1)( x − 0.3)( x − 0.5) | , x ∈ [0.0, 0.5] . ▲ 4!
KONAČNE RAZLIKE FUNKCIJA
Neka je data mreža ekvidistantnih tačaka, čvorova, argumenta x: x0 , x1 = x0 + h , x2 = x1 + h = x0 + 2h , ..., xi = x0 + ih , ..., gde je priraštaj argumenta x ili korak h = xi +1 − xi = const. i h ≠ 0 (i = 0, 1, 2, ...). Neka su poznate vrednosti yi = f ( xi ) funkcije y = f (x) u čvorovima xi , i = 0, 1, 2, ... Konačne razlike prvog reda funkcije f (x) su: ∆y0 = y1 − y0 , ∆y1 = y2 − y1 , ..., ∆yi = yi +1 − yi , ...;
Konačne razlike drugog reda funkcije f (x) su: ∆2 y0 = ∆y1 − ∆y0 , ∆2 y1 = ∆y2 − ∆y1 , ..., ∆2 yi = ∆yi +1 − ∆yi , ... ;
39
Uopšte, konačne razlike n–tog reda funkcije f (x) su: ∆ y0 = ∆n−1 y1 − ∆n−1 y0 , ∆n y1 = ∆n−1 y2 − ∆n−1 y1 , ..., ∆n yi = ∆n−1 yi +1 − ∆n−1 yi , ... Navedimo neke osobine konačnih razlika: a) Ako je f ( x) = u ( x) + v( x) , onda je ∆ (u + v) = ∆u + ∆v ; b) Ako je f ( x) = k ⋅ u ( x) , gde je k konstanta, onda je ∆ (ku ) = k∆u ; n
c) ∆m (∆n y ) = ∆m+ n y = ∆n ( ∆m y ) , gde su m i n celi nenegativni brojevi, pri čemu po definiciji stavljamo ∆0 y = y . d) Ako je f ( x) = Pn ( x) – polinom n–tog stepena, onda je ∆Pn (x) polinom (n – 1)–vog stepena. Dokaz ove činjenice je zaista jednostavan. Naime, po definiciji imamo ∆Pn ( x) = Pn ( x + h) − Pn ( x) = [ a0 ( x + h) n + a1 ( x + h) n−1 + ⋯ + an−1 ( x + h) + an ] − − [a0 x n + a1 x n−1 + ⋯ + an−1 x + an ] = b0 x n−1 + b1 x n−2 + ⋯ + bn−1
gde je b0 = n ⋅ h ⋅ a0 ; Analogno zaključujemo: ∆2 Pn ( x) = ∆Pn ( x + h) − ∆Pn ( x) = c0 x n−2 + c1 x n−3 + ⋯ + cn−2 , gde je c0 = (n − 1) ⋅ h ⋅ b0 = n( n − 1) ⋅ h 2 a0 ; ∆3 Pn ( x) = ∆2 Pn ( x + h) − ∆2 Pn ( x) = d 0 x n−3 + d1 x n−4 + ⋯ + d n−3 ,
gde je d 0 = (n − 2) ⋅ h ⋅ c0 = n(n − 1)(n − 2) ⋅ h3a0 ; i na kraju ∆n Pn ( x) = n!h n a0 ; za k > n, ∆k Pn ( x) = 0 . Dakle, n–te razlike polinoma n–tog stepena su konstantne, a razlike višeg reda od n su jednake nuli.
Teorema 1. Ako je ξ ∈ ( xi , xi + n ) da je (1)
f ( x) ∈ C n [ xi , xi + n ] , onda postoji takva tačka
∆n f i = ∆n yi = h n f (n ) (ξ ) , n ∈ N .
Dokaz. Formula (1) se može dokazati metodom matematičke indukcije. Ovde nećemo izvoditi kompletan dokaz. Samo ćemo proveriti tvrñenje teoreme za n = 1 i n = 2. Zaista, za n = 1 imamo ∆yi = h ⋅ f ' (ξ ) ili ∆f i = ∆yi = yi +1 − yi = f ( xi +1 ) − f ( xi ) = ( xi +1 − xi ) ⋅ f ' (ξ ) , ξ ∈ ( xi , xi +1 ) , a to je, očigledno, Lagranževa teorema, primenjena na funkciju f (x) na segmentu [ xi , xi +1 ] . Dokažimo formulu (1) i za n = 2. Uvedimo, najpre, oznaku
(2)
g ( x ) = f ( x + h) − f ( x ) .
Sada imamo ∆2 f i = ∆f i +1 − ∆f i = ( f i + 2 − f i +1 ) − ( f i +1 − f i ) = [ f ( xi +1 + h) − f ( xi +1 ] − − [ f ( xi + h) − f ( xi )] = g ( xi +1 ) − g ( xi ) = g ( xi + h) − g ( xi ),
40
pa je prema Lagranževoj teoremi ∆2 f i = ∆2 yi = h ⋅ g ' (ξ ) , ξ1 ∈ ( xi , xi + h) .
(3)
Dalje je prema (2)
g ' (ξ 1 ) = f ' (ξ 1 + h ) − f ' (ξ 1 ) ,
pa relacija (3) posle još jedne primene Lagranževe teoreme postaje ∆2 f i = ∆2 yi = h[ f ' (ξ1 + h) − f ' (ξ1 )] = h[h ⋅ f " (ξ )]
i definitivno (4)
∆2 f i = ∆2 yi = h 2 ⋅ f " (ξ ) , ξ ∈ (ξ1 , ξ1 + h) , tj. ξ ∈ ( xi , xi + 2 ) .
Za n > 2 tvrñenje teoreme se analogno dokazuje, pa se na osnovu principa matematičke indukcije zaključuje da (1) važi za svako n ∈ N . Iz formule (1) dobijamo ∆n f ( x) f ( n ) (ξ ) = ; hn prelaskom na limes kada h → 0 imamo ∆n f ( x) , h →0 hn
f ( n ) ( x) = lim
a odavde važnu približnu jednakost ∆n f ( x) . hn Konačne razlike je pogodno smestiti u tablicu; tablice mogu biti dijagonalne f ( n ) ( x) ≈
(5)
x x0
y y0
x1
y1
x2 x3 ⋮
y2 y3 ⋮
∆y ∆y0 ∆y1
∆ 2y ∆2y0 ∆ y1
∆ 3y
∆3y0
2
∆y2 ⋮
∆ y1
∆ 4y
...
∆4y0
...
∆4y1 ⋮
... ⋱
3
∆2y2 ⋮
⋮
i horizontalne (donje i gornje).
Primer 1. Sastaviti dijagonalnu tablicu konačnih razlika za funkciju f ( x) = x 3 + 9 x 2 + 8 x + 7 na odsečku [0, 1] uzimajući korak h = 0.2; vrednosti 1 funkcije izračunati s tačnošću ε = ⋅10−4 . 2 Rešenje. Tablica konačnih razlika je
41
x 0.0
y 7.0000
0.2
8.9860
∆y
∆ 2y
∆ 3y
1.9680 7680 2.7360 0.4
11.7040
480 8160
3.5520 0.6
15.2560
480 8640
4.4160 0.8
19.6720
1.0
25.0000
480 9120
5.3280 Kod sastavljanja tablica konačnih razlika mogu se napraviti tzv. omaške. Razmotrimo problem uticaja omaške, njeno prostiranje u tablicama, otkrivanje i otklanjanje. Neka smo umesto vrednosti yi omaškom uzeli vrednost yi + ε , gde je ε = ( yi + ε ) − yi . Veoma lako se može uočiti zakonitost prostiranja omaške. x ⋮
y ⋮
∆y
xi – 4
yi – 4
⋮ ∆yi – 4
xi – 3
∆yi – 3 yi – 2
xi – 1
yi – 1
xi xi + 1 xi + 2 xi + 3 xi + 4 ⋮
yi + ε
yi + 2
∆yi – 2 ∆yi – 1 + ε
∆yi + 1
∆ yi – 3
⋮ ∆ 3 yi – 4
∆ 2 yi – 2 + ε
∆yi + 2
∆ 3 yi – 3 + ε ∆ yi – 2 – 3 ε
...
⋮
∆ yi – 4 + ε
...
∆ 4 yi – 3 – 4 ε
...
3
∆ 2 yi – 1 – 2 ε
∆ yi – 1 + 3 ε
∆ 4 yi – 2 + 6 ε
3
∆ 2 yi + ε
∆ yi – ε
∆ 4 yi – 1 – 4 ε
3
∆ yi + 1 ∆ yi + 2 ⋮ 2
∆yi + 3 ⋮
∆ 4y
4
2
yi + 3 yi + 4 ⋮
⋮ ∆ yi – 4 2
∆yi – ε yi + 1
∆ 3y
2
yi – 3
xi – 2
∆ 2y
∆ 3 yi + 1 ⋮
∆ 4 yi + ε ⋮
Na osnovu te zakonitosti ona se može otkriti i otkloniti. Posmatrajmo dijagonalnu tablicu. Iz tablice se vidi da se omaška širi „lepezasto“ i da su koeficijenti uz ε u koloni ∆k y , ustvari, binomni koeficijenti binoma (a − b) k , k = 0, 1, 2, ... Može se primetiti da se omaška ne može otkriti sabiranjem kolone ∆k y , k = 1, 2, 3, ..., jer se uticaji ε−na potiru. Meñutim, u kolonama parnih 42
razlika najveći uticaj omaške ε je upravo u onom horizontalnom redu gde je omaška učinjena. Koristeći ovu činjenicu i činjenicu da se očekuje da se razlike dovoljno visokog reda neznatno razlikuju, omaška se može otkriti, izračunati i otkloniti.
Primer 2. U sledećoj tablici vrednosti funkcije y = f (x) x 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 y 1.00000 1.05127 1.10517 1.16203 1.22140 1.28403 1.34986 1.41907 1.49182 učinjena je omaška. Otkriti i otkloniti omašku. Rešenje. Tablica konačnih razlika je x 0.0
y 1.00000
∆y
∆ 2y
∆ 3y
∆ 4y
5127 0.1
1.05127
263 5390
0.2
1.10517
33 296
5686 0.3
1.16203
251 5937
0.4
1.22140
0.5
1.28403
326
6583
1.41907
+6ε
–81
–4ε
24
+ε
18 338
6921 0.7
120
–6 320
1.34986
–4ε
75
6263
0.6
–78 –45
–2 16
354
7275 0.8 1.49182 Uočavamo „nepravilno“ ponašanje četvrtih razlika; najizrazitije odstupanje od očekivanih razlika je u redu x = 0.3 – dakle, umesto vrednosti y3 upisana je omaškom vrednost y3 + ε = 1.16203 . Sada redom nalazimo: očekivana razlika četvrtog reda (srednja vrednost) je − 78 + 120 − 81 + 24 − 2 ∆4 y = ⋅10−5 ≈ −3 ⋅10−5 ; 5 dalje imamo (izostavljajući faktor 10 −5 ): − 78 = −3 − 4ε1 , ε1 = 19 , 120 = −3 + 6ε 2 , ε 2 = 20 , − 81 = −3 − 4ε 3 , ε 3 = 20 , 24 = −3 + ε 4 , ε 4 = 27 , pa uzimamo 19 + 20 + 20 + 27 ε= ⋅10−5 = 22 ⋅10−5 , 4 tj. ispravljena vrednost je y3 = 1.16181 . ▲ 43
Kod primena tablica konačnih razlika bitno je da one budu korektne. U čemu se sastoji korektnost tablica konačnih razlika? Polazeći od činjenica da je svaku neprekidnu funkciju f (x) na odsečku [a, b] moguće aproksimirati polinomom Pn ( x) tako da na tom odsečku za ε > 0 , proizvoljno maleno i unapred zadato, važi nejednakost | f ( x) − Pn ( x) | < ε i da su konačne razlike n–tog reda polinoma Pn (x) konstantne a višeg reda od n jednake nuli možemo zaključiti da su konačne razlike neprekidne funkcije f (x) s povećanjem njihovog reda sve manje i manje. S druge strane, ako su vrednosti yi = f ( xi ) , xi ∈ [a, b] , i = 0, n , funkcije f (x) izračunati s tačnostima ε i , tj. ako je gornja granica apsolutne greške tih vrednosti jednaka max | ε i | = ε = 0≤ i ≤ n
1 ⋅10−k , onda je gornja granica apsolutnih grešaka konačnih razlika: 2 1 1 1 prvog reda ⋅10−k + ⋅10−k = 2 ⋅ ⋅10−k , 2 2 2 1 1 1 drugog reda 2 ⋅ ⋅10−k + 2 ⋅ ⋅10−k = 22 ⋅ ⋅10−k , 2 2 2 1 trećeg reda 23 ⋅ ⋅10−k , ..., 2 1 m–tog reda 2m ⋅ ⋅10−k , ... 2 Dakle, s povećanjem reda konačnih razlika uticaj početnih grešaka je sve veći i veći. Znači da su konačne razlike sve manje i manje a uticaj početnih grešaka je sve veći i veći. Ako se dogodi da je bar za neko i 1 | ∆m yi | < 2m ⋅ ⋅10−k , 2 tj. ako je bar neka izračunata konačna razlika m–tog reda manja od maksimalno moguće greške te razlike, onda su tablice konačnih razlika od razlika tog reda pa dalje nekorektne. Naravno, ne mogu se koristiti nekorektne konačne razlike. =
Primer 3. Ispitati korektnost tablice konačnih razlika funkcije f (x) zadate sledećom tablicom x 0.0 0.1 0.2 0.3 0.4 0.5 y 0.69315 0.74440 0.79814 0.85436 0.91302 0.97408 Rešenje. x 0.0
y 0.69315
∆y
∆ 2y
0.05125 0.1 44
0.74440
0.00249
∆ 3y
∆ 4y
∆ 5y
0.05374 0.2
0.79814
–0.00001 0.00248
0.05622 0.3
0.85436
0.4
0.91302
–0.00003 –0.00004
0.00244 0.5866
0.00003 0.00000
–0.00004 0.00340
0.6106 0.5 0.97408 1 1 1 1 1 granica 1 ⋅10−5 2 ⋅ ⋅10−5 22 ⋅ ⋅10−5 23 ⋅ ⋅10−5 24 ⋅ ⋅10−5 25 ⋅ ⋅10−5 greške 2 2 2 2 2 2 Očigledno, konačne razlike trećeg i višeg reda ne možemo koristiti; izračunate vrednosti su manje od maksimalno moguće akumulirane greške. ▲
5.
PRVI NJUTNOV INTERPOLACIONI POLINOM
Neka su yi = f ( xi ) zadate vrednosti funkcije y = f (x) u ekvidistantnim čvorovima interpolacije xi , i = 0, n . Treba naći interpolacioni polinom Pn (x) koji zadovoljava uslove
(1)
F ( xi ; a0 , a1 , ..., an ) ≡ Pn ( xi ) = yi , i = 0, n ,
tj. koji prolazi kroz tačke M i ( xi , yi ) , i = 0, n . Potražimo interpolacioni polinom u sledećem obliku Pn ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 )( x − x1 ) + ⋯ + (2) + an ( x − x0 )( x − x1 )⋯ ( x − xn−1 ). Saglasno ranije rečenom redom dobijamo za x = xi , i = 0, 1, 2, ..., n: x = x0 : y0 = Pn ( x0 ) = a0 , pa je a0 = y0 ; y −y ∆y x = x1 : y1 = Pn ( x1 ) = a0 + a1 ( x1 − x0 ) , pa je a1 = 1 0 = 0 ; h 1!h ∆2 y0 x = x2 : y2 = Pn ( x2 ) = a0 + a1 ( x2 − x0 ) + a2 ( x2 − x0 )( x2 − x1 ) , a2 = ; 2!h 2 analogno dobijamo ∆3 y0 ∆4 y0 ∆i y0 ∆n y0 a3 = , a = , ..., a = , ..., a = . 4 i n 3!h3 4!h 4 i!hi n!h n Zamenom ovih vrednosti u (2) dobijamo ∆y ∆2 y0 Pn ( x) = y0 + 0 ( x − x0 ) + ( x − x0 )( x − x1 ) + ⋯ + 1!h 2!h 2 (3) ∆n y0 + ( x − x0 )( x − x1 )( x − x2 )⋯ ( x − xn−1 ), n!h n što nazivamo prvi Njutnov interpolacioni polinom za ekvidistantne čvorove. 45
Ako u (3) uvedemo smenu x − x0 (4) = u ili x = x0 + hu , h dobićemo (5) Pn ( x0 + hu ) = Pn (u ) = y0 +
∆y0 1!
u+
∆2 y0 2!
u (u − 1) + ⋯ +
∆n y0 n!
u (u − 1) ⋯ (u − n + 1) ,
što je najčešći oblik zapisivanja prvog Njutnovog interpolacionog polinoma. Ponekad se zapisuje i u obliku u u u u Pn ( x0 + hu ) = ∆0 y0 + ∆1 y0 + ∆2 y0 + ⋯ + ∆n y0 . 0 1 2 n Iz samog izvoñenja sledi da je stepen polinoma najviše n i da je polinom jedinstven. Nije teško primetiti da interpolacioni polinom Pn ( x) prelazi u Tejlorov polinom kada xi +1 − xi = h → 0 ; dakle, prvi Njutnov interpolacioni polinom (3), odnosno (5), pogodno je koristiti oko tačke x = x0 – u početku tablica: interpolaciju unapred i za ekstrapolaciju za x < x0 – ekstrapolaciju unazad. Greška prvog Njutnovog interpolacionog polinoma se dobija iz opšte formule za grešku interpolacije: (6) Rn ( x0 + hu ) = Rn (u ) =
h n+1 f ( n+1) (ξ ) x − x0 u (u − 1)⋯ (u − n) , ξ ∈ ( x0 , xn ) , u = , (n + 1)! h
ili Rn ( x0 + hu ) = Rn (u ) ≈
(6')
∆n+1 y0 u (u − 1)⋯ (u − n) . (n + 1)!
Primer 1. Konstruisati prvi Njutnov interpolacioni polinom za funkciju y = f (x) zadatu sledećom tablicom x y
0 2.00000
1 2.08008
2 2.15443
3 2.22398
4 2.28943
Izračunati približnu vrednost f (0.5) . Proceniti grešku f ( x) − P3 ( x) . Rešenje. Tablica konačnih razlika je x 0
y 2.00000
1
2.08008
∆y
∆ 2y
∆ 3y
∆ 4y
8008 –573 7435 2
2.15443
3
2.22398
4
2.28943
93 –480
6955
46
70 –410
6545
–23
Interpolacioni polinom je 0.08008 0.00093 − 0.00573 P4 (u ) = 2.00000 + u+ u (u − 1) + u (u − 1)(u − 2) + 1! 2! 3! − 0.00023 + u (u − 1)(u − 2)(u − 3), 4! x−0 gde je u = = x. 1 Približna vrednost je f (0.5) ≈ P4 (0.5) = 2.04082 . Greška je | ∆4 y0 | | R3 ( x) | = | f ( x) − P3 ( x) | ≈ | x( x − 1)( x − 2)( x − 3) | = 4! 0.00023 = | x( x − 1)( x − 2)( x − 3) | . ▲ 4!
6.
DRUGI NJUTNOV INTERPOLACIONI POLINOM
Neka su yi = f ( xi ) zadate vrednosti funkcije y = f (x) u ekvidistantnim čvorovima interpolacije xi , i = 0, n . Treba naći interpolacioni polinom Pn (x) koji zadovoljava uslove (1) F ( xi ; a0 , a1 , ..., an ) ≡ Pn ( xi ) = yi , i = 0, n ,
tj. koji prolazi kroz tačke M i ( xi , yi ) , i = 0, n . Potražimo interpolacioni polinom u sledećem obliku Pn ( x) = a0 + a1 ( x − xn ) + a2 ( x − xn )( x − xn −1 ) + ⋯ + (2) + an ( x − xn )( x − xn −1 )⋯ ( x − x1 ). Analogno izvoñenju prvog Njutnovog interpolacionog polinoma dobijamo redom za x = xi , i = n, n – 1, ..., 1, 0: x = xn : yn = Pn ( xn ) = a0 , pa je a0 = yn ; y − yn−1 ∆yn−1 ; x = xn−1 : yn−1 = Pn ( xn−1 ) = a0 + a1 ( xn−1 − xn ) , pa je a1 = n = h 1!h dalje dobijamo ∆2 yn − 2 ∆3 yn−3 ∆i yn−i ∆n y0 a2 = , , ..., , ..., . a = a = a = 3 i n 3!h3 i!hi n!h n 2!h 2 Zamenom ovih vrednosti u (2) dobijamo ∆y ∆2 y n − 2 Pn ( x) = y n + n −1 ( x − xn ) + ( x − xn )( x − xn −1 ) + ⋯ + 1!h 2!h 2 (3) ∆n y0 + ( x − xn )( x − xn −1 )⋯ ( x − x1 ), n!h n što nazivamo drugi Njutnov interpolacioni polinom za ekvidistantne čvorove. 47
Ako u (3) uvedemo smenu x − xn (4) = v ili x = xn + hv h dobićemo (5) Pn ( x0 + hu ) = Pn (v) = yn +
∆yn−1 1!
v+
∆2 yn− 2 2!
v (v + 1) + ⋯ +
∆n y0 n!
v (v + 1) ⋯ (v + n − 1)
što je najčešći oblik zapisivanja drugog Njutnovog interpolacionog polinoma. Iz samog izvoñenja sledi da je stepen polinoma najviše jednak n i da je polinom jedinstven. Greška drugog Njutnovog interpolacionog polinoma se dobija iz opšte formule za grešku interpolacije: (6)
Rn ( x0 + hv ) = Rn (v ) =
h n+1 f ( n+1) (ξ ) ( n + 1)!
v (v + 1) ⋯ (v + n) , ξ ∈ ( x0 , xn ) , v =
x − xn h
,
ili (6')
Rn ( x0 + hv) = Rn (v) ≈
∆n+1 y0 v(v + 1)⋯ (v + n) . (n + 1)!
Primer 1. Konstruisati drugi Njutnov interpolacioni polinom za funkciju y = f (x) zadatu sledećom tablicom x 0.0 0.5 1.0 1.5 2.0 y 3.00000 4.25000 6.00000 8.25000 11.00000 Rešenje. Tablica konačnih razlika je x 0.0
y 3.00000
∆y
∆ 2y
∆ 3y
1.25000 0.5
4.25000
0.50000 1.75000
1.0
6.00000
1.5
8.25000
0 0.50000
2.25000
0 0.50000
2.75000 2.0 11.00000 Interpolacioni polinom je 2.75000 0.50000 x − 2.0 P2 (v) = 11.00000 + v+ v(v + 1) , v = = 2 x − 4.0 , 1! 2! 0.5 ili, posle sreñivanja, P2 ( x) = 1.00000 x 2 + 2.00000 x + 3.00000 . ▲ Drugi Njutnov interpolacioni polinom se koristi za interpolaciju na kraju tablica – interpolaciju unazad i za ekstrapolaciju za x > xn – ekstrapolaciju unapred. 48
Uporeñivanjem Njutnovih interpolacionih polinoma i Lagranževog interpolacionog polinoma može se zaključiti sledeće. Lagranžev interpolacioni polinom se sastoji od sabiraka koji su, posebno posmatrani, polinomi n–tog stepena, pa samim tim su ravnopravni. Prema tome, ne može se unapred odbaciti neki od njih. U Njutnove interpolacione formule ulaze polinomi sve viših stepena pri čemu su koeficijenti uz njih konačne razlike (koje se u praksi najčešće brzo smanjuju) podeljene faktorijelima. Zbog toga se mogu odbaciti oni sabirci čiji su koeficijenti sasvim mali. Koristeći se ovim često se mogu računati meñuvrednosti funkcije pomoću jednostavnijih i „kraćih“ interpolacionih formula. Osim toga, ako se poveća broj čvorova interpolacije, onda se kod Njutnovih interpolacionih formula dodaje jedan sabirak ili više sabiraka a prethodno izračunati se ne menjaju. Kod Lagranževe interpolacione formule to nije slučaj; ako se poveća broj čvorova interpolacije, onda ceo posao treba ponovo uraditi. Napomenimo, na kraju, da su ovde izvedene Njutnove interpolacione formule za ekvidistantne čvorove a Lagranževa za neekvidistantne čvorove. Moguće je izvesti Njutnove interpolacione formule za neekvidistantne čvorove a Lagranževu za ekvidistantne čvorove. Meñutim, uočene prednosti i nedostaci se ne menjaju.
7.
TABLICA CENTRALNIH RAZLIKA
Njutnove interpolacione formule koriste, kao što smo videli, tablične vrednosti funkcije koje se nalaze samo s jedne strane izabrane vrednosti funkcije: prva Njutnova interpolaciona formula koristi vrednosti na početku tablice: y0 , y1 , y2 , ... , a druga na kraju tablice: yn , yn−1 , yn−2 , ... Dakle, one su na neki način „jednostrane“ i to predstavlja njihov nedostatak. U mnogim slučajevima pokazuju se korisnijim interpolacione formule koje koriste vrednosti funkcije s obe strane izabrane početne vrednosti funkcije. Najčešće se koriste konačne razlike iz tablice konačnih razlika koje se nalaze u vrsti u kojoj se nalazi izabrana početna, nulta vrednost funkcije i konačne razlike iznad ili ispod te vrste ili i iznad i ispod te vrste. Radi izvoñenja odgovarajućih interpolacionih formula napravićemo tzv. tablicu centralnih razlika. Neka je funkcija y = f (x) zadata svojim vrednostima yi = f ( xi ) u jednako razmaknutim čvorovima xi = x0 + ih , i = 0, ±1, ±2,..., ±n, korak h je konstantan, različit od nule. Konačne razlike (v. tablicu): ∆y−1 , ∆y0 , ∆2 y−1 , ∆3 y−2 , ∆3 y−1 , ∆4 y−2 ,... su centralne razlike.
49
x ⋮ x–4
y ⋮ y–4
x–3
y–3
∆y ⋮ ∆y–4
∆y–3 x–2
y–2 ∆y–2
x–1
y–1
x0
y0
∆y– 1 ∆y0
x1
y1
x2
y2
x4 ⋮
∆y1
⋮ ∆ y–4 3
∆2y–3
∆ y–3
∆y3 ⋮
∆ 4y
⋮ ∆4y–4
∆2y–2 ∆2y– 1
∆3y–2 ∆ y–1
∆4y–3 ∆4y–2
3
∆ y0 ∆2y1 ∆ y2 ⋮
∆ 5y
⋮ ∆ y–4 5
3
2
y3 y4 ⋮
⋮ ∆2y–4
∆ 3y
2
∆y2 x3
∆ 2y
∆5y–3 ∆ y–2
∆3y1 ⋮
...
⋮ ∆6y–4
∆6y–3
5
∆ y–1 4
∆3y0
∆ 6y
∆4y0 ⋮
∆5y–1 ⋮
∆6y–2 ⋮
...
Odgovarajuće interpolacione formule se zovu interpolacione formule sa centralnim razlikama. Najčešće se koriste: Gausove interpolacione formule, Stirlingova i Beselova interpolaciona formula.
8.
GAUSOVE INTERPOLACIONE FORMULE
Neka je funkcija y = f (x) zadata svojim vrednostima yi = f ( xi ) u jednako razmaknutim čvorovima xi = x0 + ih , i = 0, ±1, ±2, ..., ±n, korak h je konstantan, različit od nule. Treba konstruisati interpolacioni polinom P (x) , stepena ≤ 2n, takav da bude (1)
P ( xi ) = yi , i = 0, ± 1, ± 2, ..., ± n .
Potražimo interpolacioni polinom u sledećem obliku P ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 )( x − x1 ) + + a3 ( x − x−1 )( x − x0 )( x − x1 ) +
(2)
+ a4 ( x − x−1 )( x − x0 )( x − x1 )( x − x2 ) + ⋯ + + a2 n −1 ( x − x− n +1 )⋯( x − x−1 )( x − x0 )( x − x1 )⋯( x − xn −1 ) + + a2 n ( x − x− n +1 )⋯( x − x−1 )( x − x0 )( x − x1 )⋯( x − xn −1 )( x − xn ).
50
Koeficijente ai , i = 0, 2n , odreñujemo na uobičajeni način, dakle, iz uslova (1). Na taj način dobijamo a0 = y0 , a1 =
∆y0 ∆2 y−1 ∆3 y−1 ∆4 y−2 , a2 = , , , ..., a = a = 3 4 1!h 2!h 2 3!h3 4!h 4
a2 n−1 =
∆2 n−1 y−n+1 ∆2 n y−n , . a = 2n ( 2n − 1)!h 2 n−1 (2n)!h 2 n
Ako uvedemo novu promenljivu smenom x − x0 =u, h dobićemo
∆y0 ∆2 y −1 ∆3 y −1 u+ u (u − 1) + u (u 2 − 12 ) + 1! 2! 3! ∆4 y − 2 ∆5 y − 2 + u (u 2 − 12 )(u − 2) + u (u 2 − 12 )(u 2 − 2 2 ) + ⋯ + 4! 5! (G1) ∆2 n −1 y − n +1 2 2 2 2 2 2 + u (u − 1 )(u − 2 ) ⋯[u − ( n − 1) ] + (2n − 1)!
P( x0 + hu ) = y0 +
(3)
+
∆2 n y − n u (u 2 − 12 )(u 2 − 2 2 ) ⋯[u 2 − (n − 1) 2 ](u − n), (2n)!
što predstavlja prvu Gausovu interpolacionu formulu ili Gausovu interpolacionu formulu za interpolaciju unapred. Primetimo da ona sadrži centralne razlike ∆2y–1
x0 y0
∆y0
∆4y–2
∆3y–1
∆6y–3
∆5y–2
...
Ako potražimo interpolacionu formulu u sledećem obliku P( x) = a0 + a1 ( x − x0 ) + a2 ( x − x−1 )( x − x0 ) + + a3 ( x − x−1 )( x − x0 )( x − x1 ) + (4)
+ a4 ( x − x− 2 )( x − x−1 )( x − x0 )( x − x1 ) + ⋯ + + a2 n −1 ( x − x− n +1 ) ⋯ ( x − x−1 )( x − x0 )( x − x1 ) ⋯ ( x − xn −1 ) + + a2 n ( x − x− n ) ⋯ ( x − x−1 )( x − x0 )( x − x1 ) ⋯ ( x − xn −1 ),
na analogan način, koristeći uslov (1), dobijamo drugu Gausovu interpolacionu formulu ili Gausovu interpolacionu formulu za interpolaciju unazad 51
∆y −1 ∆2 y −1 ∆3 y − 2 u+ (u + 1)u + u (u 2 − 12 ) + 1! 2! 3! ∆5 y −3 ∆4 y − 2 + (u + 2)u (u 2 − 12 ) + u (u 2 − 12 )(u 2 − 2 2 ) + ⋯ + 4! 5! (G2) ∆2 n −1 y − n 2 2 2 2 2 2 + u (u − 1 )(u − 1 ) ⋯[u − ( n − 1) ] + (2n − 1)!
P( x0 + hu ) = y0 +
(5)
+
∆2 n y − n (u + n)u (u 2 − 12 )(u 2 − 2 2 ) ⋯[u 2 − ( n − 1) 2 ], (2n)!
x − x0 . h Primetimo da ona sadrži centralne razlike ... ∆y–1 ∆3y–2 ∆5y–3 ∆2y–1 ∆4y–2 ∆6y–3 x0 y0
u=
Primer 1. Funkcija y = f ( x) je zadata tablicom x 0.50 0.51 0.52 0.53 0.54 0.55 0.56 f (x) 0.778801 0.770974 0.763074 0.755104 0.747067 0.738968 0.730811 Izračunati f (0.532) . Rešenje. Sastavimo tablicu konačnih, centralnih razlika. x 0.50
y 0.778801
0.51
0.770974
0.52
0.763074
0.53
0.755104
0.54
0.747067
0.55
0.738968
0.56
0.730811
∆y
∆ 2y
∆ 3y
–7827 –73 –7900
3 –70
–7970
3 –67
–8037
5 –62
–8099
4 –58
–8157 Kako je x = 0.532 najbliže vrednosti 0.53, to uzimamo da je x 0 = 0.53, pa je u=
52
x − x0 0.532 − 0.53 = = 0. 2 . h 0.01
Na osnovu formule G1 (u tablici podvučene vrednosti) nalazimo − 0.008037 ⋅ 0. 2 + 1! − 0.000067 − 0.000005 + ⋅ 0.2 ⋅ (0.2 − 1) + ⋅ 0.2 ⋅ (0.2 2 − 12 ) = 2! 3! = 0.755104 − 0.001607 + 0.000005 − 0.00000 = 0.753502.
f (0.532) ≈ P (0.532) = 0.755107 +
Na osnovu formule G2 (u tablici isprekidano podvučene vrednosti) nalazimo − 0.007970 f (0.532) ≈ P (0.532) = 0.755107 + ⋅ 0. 2 + 1! − 0.000067 − 0.000003 + ⋅ 0.2 ⋅ (0.2 + 1) + ⋅ 0.2 ⋅ (0.2 2 − 12 ) = 2! 3! = 0.755104 − 0.001594 − 0.000008 − 0.00000 = 0.753502. ▲ U sledećoj tabeli centralnih razlika naznačene su vrednosti koje se koriste u Gausovim interpolacionim formulama: G1, G2 i G3. x ⋮ x–4
y ⋮ y–4
x–3
y–3
x–2
y–2
x–1
y–1
x0
y0
x1
y1
∆y ∆y–4 ∆y–3 ∆y–2
y2
x3
y3
x4
y4
x5 ⋮
y5 ⋮
∆2y–4 ∆2y–3
∆ 3y
∆3y–4 ∆ y–3
∆y– 1
∆ y–2 ∆ y– 1
∆3y–2
∆2y0 ∆ y1
∆y3
∆2y2 ∆ y3
∆ y–3
∆5y–4
∆ y–2
∆5y–3
4
∆3y–1 ∆3y0
2
∆y2
∆4y–4
∆ 5y
4
2
∆y1
∆ 4y
3
2
∆y0
x2
∆ 2y
∆4y–1 ∆ y0
∆5y–2 ∆5y–1
4
∆3y1 ∆3y2
∆4y1
∆ 6y
∆6y–4 G2 ∆6y–3 G1 ∆6y–2 G3 ∆ y–1 6
∆5y–0
2
∆y4
Radi izvoñenja Beselove interpolacione formule biće nam potrebna i Gausova interpolaciona formula za interpolaciju unazad ali kada se uzmu početne vrednosti x = x1 i y = y1 , odnosno kada se koriste centralne razlike 53
∆3y–1
∆y0
x1 y1
∆2y0
∆5y–2
∆4y–1
...
∆6y–2
Dakle, treća Gausova interpolaciona formula je ∆2 y0 ∆3 y −1 + u (u − 1)(u − 2) + 2! 3! ∆4 y −1 ∆5 y − 2 + u (u 2 − 1)(u − 2) + u (u 2 − 1)(u − 2)(u − 3) +⋯ 4! 5!
y = y1 + (u − 1)∆y0 + u (u − 1)
(6)
(G3)
Napomena. Maksimalno moguća greška konačnih razlika trećeg reda je 1 23 ⋅ ⋅ 10 −6 = 4 ⋅ 10 −6 , pa razlike trećeg reda manje od maksimalno moguće 2 greške nije korektno koristiti. U prethodnom primeru poslednji sabirci su jednaki –0.000000 i nisu uticali na izračunatu vrednost!
9.
STIRLINGOVA INTERPOLACIONA FORMULA
Ako uzmemo aritmetičku sredinu prve i druge Gausove interpolacione formule (G1 i G2), dobićemo Stirlingovu interpolacionu formulu ∆y−1 + ∆y0 u 2 2 u (u 2 − 12 ) ∆ 3 y−2 + ∆ 3 y−1 + ∆ y−1 + ⋅ + 2 2 3! 2 u 2 (u 2 − 12 ) 4 u (u 2 − 12 )(u 2 − 22 ) ∆ 5 y−3 + ∆ 5 y−2 + ∆ y−2 + ⋅ + 4! 5! 2 u 2 (u 2 − 12 )(u 2 − 22 ) 6 + ∆ y−3 + ⋯ + 6! u (u 2 − 12 )(u 2 − 22 )(u 2 − 32 )⋯[u 2 − (n − 1) 2 ] + ⋅ (2n − 1)!
P (u ) = y0 + u
(1)
⋅
∆ 2 n −1 y− n + ∆ 2 n −1 y− ( n −1)
+ 2 u (u 2 − 12 )(u 2 − 22 )(u 2 − 32 )⋯[u 2 − (n − 1) 2 ] 2 n + ∆ y− n , (2n)!
gde je u =
x − x0 . h
Stirlingova formula koristi razlike u tablici u redu u kojem se nalaze x0 i redu iznad i redu ispod njega. 54
x ⋮ x–4
y ⋮ y–4
x–3
y–3
x–2
y–2
x–1
y–1
x0
y0
x1
y1
x2
y2
x3
y3
x4
y4
x5 ⋮
y5 ⋮
∆y ∆y–4 ∆y–3
∆ 2y
∆2y–4 ∆ y–3
∆ 3y
∆3y–4
2
∆y–2
∆ y–2
∆3y–3
2
∆ y– 1 ∆ y0
∆4y–4 ∆ y–3
∆ y–2 3
∆ 2 y– 1
∆ y–1
∆4y–2
∆y3 ∆y4
∆2y2
∆ y–2
∆ y–1 4
∆ y0 3
∆ y1
∆ y–3
∆6y–4 ∆6y–3
5
∆ y0 ∆4y1
∆ y2
∆7y–4 ∆ y–3
∆ y–2 6
∆ y–1
4
∆3y1
∆ 7y
∆ 8y
∆8y–4
7
5
2
∆y2
∆5y–4
∆ 6y
5
3
∆ y0
∆ 5y
4
2
∆y1
∆ 4y
∆ y–2
∆8y–3
7
∆ y–1 6
∆5y–0
3
∆2y3
Greška Stirlingove interpolacione formule je: Rn =
h 2 n +1 f ( 2 n +1) (ξ ) u (u 2 − 1)(u 2 − 2 2 )(u 2 − 32 ) ⋯ (u 2 − n 2 ) , ξ ∈ [ x− n , xn ] , ( 2n + 1)!
Rn =
∆2 n +1 y − n −1 + ∆2 n +1 y − n u (u 2 − 1)(u 2 − 2 2 )(u 2 − 32 ) ⋯ (u 2 − n 2 ) . 2(2n + 1)!
Primer 1. Data je tablica vrednosti integrala verovatnoće (v. tablicu) x 2 2 f ( x) = e −t dt π 0 za ekvidistantne vrednosti x. Izračunati vrednost integrala za x = 0.5437. Rešenje. Tablica konačnih razlika je
∫
f (x) x 0.51 0.5292437
∆f (x)
∆2 f ( x)
∆3 f ( x)
∆4 f ( x)
86550 0.52 0.5378987
–896 85654
0.53 0.5464641
–7 –903
84751
0 –7 55
0.54 0.5549392
–910 83841
0.55 0.5633233
0 –7
–917 82924
0.56 0.5716157
1 –6
–923 82001
0.57 0.5798158 Razlike ∆4 f ( x) ne mogu se koristiti – razlike su manje od akumulirane greške zaokrugljivanja. x − x0 0.5437 − 0.54 0.0037 Ovde je u = = = = 0.37 . h 0.01 0.01 Primenom Stirlingove interpolacione formule (1) nalazimo (84751 + 83841) ⋅ 10−7 + 2 (0.37) 2 0.37 ⋅ (0.37 2 − 1) (−7 − 7) + (−910) ⋅ 10−7 + ⋅ 10−7 = 2 2 6 = 0.5549392 + 0.00311895 − 0.00000623 + 0.00000004 = = 0.5580520.
f (0.5437) = 0.5549392 + 0.37 ⋅
Može se pokazati da su sve cifre sigurne. ▲
10. BESELOVA INTERPOLACIONA FORMULA Beselova interpolaciona formula se dobija pomoću druge Gausove interpolacione formule. Neka je funkcija y = f (x) zadata svojim vrednostima yi = f ( xi ) u 2n + 2 jednako razmaknuta čvora: x− n , x− n +1 , ..., x−1 , x0 , x1 , ..., xn −1 , xn , xn +1 . Uzmimo za početne vrednosti x0 i y0 i iskoristimo čvorove: x− n , x− n +1 , ..., x−1 , x0 , x1 , ..., xn −1 , xn , i napišimo drugu Gausovu interpolacionu formulu (G2) ∆y−1 ∆ 2 y−1 ∆ 3 y−2 + (u + 1)u + u (u 2 − 12 ) + 1! 2! 3! 2 n −1 ∆ y− n ∆ 4 y−2 + (u + 2)u (u 2 − 12 ) + ⋯ + u (u 2 − 12 )(u 2 − 22 )⋯ 4! (2n − 1)! ∆ 2 n y− n 2 2 [u − (n − 1) ] + (u + n)u (u 2 − 12 )(u 2 − 22 )⋯[u 2 − (n − 1) 2 ]. (2n)!
P (u ) = y0 + (1)
Uzmimo sada za početne vrednosti x1 i y1 i iskoristimo čvorove: x− n +1 , ..., x−1 , x0 , x1 , ..., xn , xn +1 . Tada je
56
x − x1 x − x0 + x0 − x1 = = u −1 , h h i pri tome odgovarajući indeksi svih konačnih razlika u formuli (1) se povećavaju za 1. Dakle, ako u formuli (1) zamenimo u sa u – 1, a indekse svih konačnih razlika povećamo za 1, dobićemo treću Gausovu interpolacionu formulu (G3) ∆y ∆2 y0 ∆3 y −1 P (u ) = y1 + 0 (u − 1) + u (u − 1) + u (u − 1)(u − 2) + 1! 2! 3! ∆2 n −1 y − n +1 ∆4 y −1 (2) + u (u 2 − 1)(u − 2) + ⋯ + u (u 2 − 12 ) ⋯[u 2 − ( n − 2) 2 ] ⋅ 4! (2n − 1)! ⋅ (u − n + 1)(u − n) +
∆2 n y − n +1 u (u 2 − 12 ) ⋯[u 2 − (n − 1) 2 ](u − n). (2n)!
Ako uzmemo aritmetičku sredinu formule (2) i formule ∆y0 ∆2 y −1 ∆3 y −1 ∆4 y − 2 u+ u (u − 1) + u (u 2 − 12 ) + u (u 2 − 12 )(u − 2) + 1! 2! 3! 4! ∆2 n −1 y − n +1 +⋯+ u (u 2 − 12 )(u 2 − 2 2 ) ⋅ [u 2 − (n − 1) 2 ] + ( 2n − 1)!
P(u ) = y0 +
∆2 n y − n + u (u 2 − 12 )(u 2 − 2 2 ) ⋯[u 2 − (n − 1) 2 ](u − n), (2n)!
dakle, ako uzmemo aritmetičku sredinu Gausovih interpolacionih formula G3 i G1, dobićemo Beselovu interpolacionu formulu y0 + y1 u (u − 1) ∆ 2 y−1 + ∆ 2 y0 u (u − 12 )(u − 1) 3 + (u − 12 )∆y0 + + ∆ y−1 + 2 2! 2 3! 2 u (u 2 − 1)(u − 2) ∆ 4 y−2 + ∆ 4 y−1 u (u − 12 )(u − 1)(u − 2) 5 + + ∆ y−2 + 4! 2 5! u (u 2 − 1)(u 2 − 4)(u − 3) ∆ 6 y−3 + ∆ 6 y−2 + +⋯ + 6! 2 u (u 2 − 1)(u 2 − 4)⋯ (u − n)(u + n − 1) ∆ 2 n y− n + ∆ 2 n y− n +1 + + (2n)! 2 u (u − 12 )(u 2 − 1)(u 2 − 4)⋯ (u − n)(u + n − 1) 2 n +1 y− n . + ∆ (2n + 1)!
P (u ) =
1 je jednostavna 2 2 2 3 ∆ 4 y−2 + ∆ 4 y−1 x + x y + y 1 ∆ y−1 + ∆ y0 P 0 1 = 0 1 − + − 2 8 2 128 2 2
Beselova interpolaciona formula za u =
57
−
5 ∆ 6 y−3 + ∆ 6 y−2 [1 ⋅ 3 ⋅ 5⋯ (2n − 1)]2 ∆ 2 n y− n + ∆ 2 n y− n +1 . + ⋯ + (−1) n 1024 2 2 22 n (2n)!
i koristi se za interpolaciju u središtu intervala ( x0 , x1 ) . x ⋮ x–4
y ⋮ y–4
x–3
y–3
x–2 x–1 x0 x1 x2 x3
y–2 y–1 y0 ––– y1 y2 y3
x4
y4
x5 ⋮
y5 ⋮
∆y ∆y–4 ∆y–3
∆ 2y
∆2y–4 ∆ y–3
∆ 3y
∆3y–4
2
∆y–2
∆ y–2
∆3y–3
2
∆y– 1 ∆ y0 ∆y1
∆y4
∆ y–3
∆ y–2 3
∆ 2 y– 1 ––– ∆ 2 y0 ∆ y1
∆ y–1 3
∆3y0
∆ y2
∆5y–4 ∆ y–3 5
∆4y–2 ––– ∆4y–1 ∆ y0
∆ y–2 5
∆5y–1
4
∆3y1
2
∆y3
∆4y–4
∆ 5y
4
2
∆y2
∆ 4y
∆ y1
∆5y–0
∆ 6y
∆6y–4
∆ 7y
∆ 8y
∆7y–4
∆6y–3 ∆8y–4 7 – – – ∆ y–3 – – – ∆6y–2 ∆8y–3 7 ∆ y–2 6 ∆ y–1
4
∆ y2 3
∆2y3
Iz načina izvoñenja zaključuje se da Beselova interpolaciona formula predstavlja interpolacioni polinom koji se poklapa s funkcijom f (x) u 2n + 2 tačke. Greška Beselove interpolacione formule je Rn =
h 2 n + 2 f ( 2 n + 2) (ξ ) u (u − 1)(u + 1)(u − 2)⋯ (u − n)(u + n)(u − n − 1), ξ ∈ ( x− n , xn +1 ) (2n + 2)!
ili Rn =
∆2 n +1 y − n −1 + ∆2 n +1 y − n u (u − 1)(u + 1)(u − 2) ⋯ (u − n)(u + n)(u − n − 1) . 2(2n + 1)!
Praktično uputstvo je: za | u | ≤ 0.25 koristi se Stirlingova a za 0.25 ≤ u ≤ 0.75 Beselova interpolaciona formula.
58
Primer 1. Data je tablica vrednosti funkcije y = f (x) (v. tablicu). Izračunati f (1.7489) . Rešenje. Tablica konačnih razlika je x e−x 1.72 0.1790661479
∆2
∆
∆3
∆4
–17817379 1.73 0.1772844100
177285 –17640094
1.74 0.1755204006
–1762 175523
–17464571 1.75 0.1737739435
+13 –1749
173774 –17290797
1.76 0.1720448638
+22 –1727
172047 –17118750
1.77 0.1703329988
+15 –1712
170335 –16948415
1.78 0.1686381473 1 1.7489 − 1.74 = 0.89 i u − = 0.39 , pa je 0.01 2 0.1755204006 + 0.1737739435 f (1.7489) = + 0.39( −17464571) ⋅ 10−10 + 2 0.392 − 0.25 175523 + 173774 −10 0.392 − 0.25 + ⋅ 10 + 0.39 ⋅ 2 2 6 Ovde je u =
(0.392 − 0.25)(0.392 − 2.25) 13 + 22 −10 2 ⋅ 10 = 24 = 0.17464717205 − 0.00068111827 − 0.00000085490 + + 0.00000000111 + 0.00000000001; f (1.7489) = 0.1739652000 . ▲ ⋅ (−1749) ⋅ 10−10 +
Primer 2. U sledećoj tabeli date su vrednosti eliptičkog integrala Φ
F (Φ ) =
∫
0
dΦ
1 − 12 sin 2 Φ
za ekvidistantne vrednosti Φ . Izračunati F (23.5°) . (v. tablicu) Φ 21°
F (Φ ) 0.370634373
22°
0.388705151
∆F
∆2F
∆3F
∆4F
17070778 59002 18129780
2707
59
23°
0.406834931
24°
0.425026420
61709
4
18191489
2711 64420
–7
18255909 25°
0.443282329
2704 67124
18323033 26°
0.461605362
Vrednost 23.5° se nalazi u središtu intervala (23°, 24°), tj. u =
x0 + x1 = 2
23° + 24° = 23.5° , pa primenom odgovarajuće Beselove interpolacione 2 formule nalazimo 0.406834931 + 0.425026420 1 0.000061709 + 0.000064420 F ( 23.5°) = − ⋅ + 2 8 2 3 0.000000004 − 0.000000007 + ⋅ = 0.4159306755 − 0.0000078831 = 128 2 =
= 0.415922792.
>
11. INVERZNA INTERPOLACIJA Neka je funkcija y = f ( x) zadata tablično x y
x0
x1
x2
y0
y1
y2
... ...
xn yn
Postupak nalaženja argumenta x koji odgovara zadatoj vrednosti y funkcije y = f ( x) , koja nije data u tablici, naziva se inverzna ili obratna interpolacija. Postoji više načina za rešavanje ovog zadatka. Neka su čvorovi interpolacije ekvidistantni: xi = x0 + ih , i = 0, n , h je različito od nule i konstantno. Pretpostavimo da je funkcija y = f ( x) monotona i da se zadata vrednost y* nalazi izmeñu y0 i y1 . Zamenjujući y* u prvom Njutnovom interpolacionom polinomu dobija se y* = y0 +
∆y0 ∆2 y0 ∆n y0 u+ u (u − 1) + ⋯ + u (u − 1) ⋯ (u − n + 1) 1! 2! n!
odakle je (1)
60
u=
y * − y0 ∆n y0 1 ∆2 y0 − u(u − 1) + … + u(u − 1)… (u − n + 1) ∆y0 ∆y0 2! n!
( ∆y0 ≠ 0 zbog monotonosti funkcije y = f ( x) ), što možemo zapisati na sledeći način (2) u = F (u ) , gde je F (u ) =
y * − y0 ∆n y0 1 ∆2 y0 − u ( u − 1 ) + … + u(u − 1)… (u − n + 1) . ∆y0 ∆y0 2! n!
Sada se formira niz uzastopnih aproksimacija (iteracija): u ( 0) , u (1) , u ( 2) , ... u ( m ) , ... uzimajući za prvu, početnu aproksimaciju u (0) =
y * − y0 ∆y0
i primenjujući metodu iteracije (3)
u ( m +1) = F (u ( m ) ) , m = 0, 1, 2, …
Ako je F ( x) ∈ C ( n +1) [a, b] , h dovoljno malo i [a, b] sadrži sve čvorove interpolacije, onda iterativni proces (3) konvergira, tj. postoji lim u ( m ) = u ,
m →∞
gde je u tražena vrednost, odnosno x = x0 + hu . (O metodi iteracije i uslovu konvergencije detaljnije će biti reči u IV delu.) Praktično se iterativni postupak produžava sve dok se ne poklope dve uzastopne aproksimacije na potreban broj dekadnih znakova, tj. dok se u granicama zadate tačnosti ne postigne da je u ( k ) = u ( k −1) ;
tada se stavi da je u ≈ u ( k ) ili x* = x0 + hu ( k ) .
Ako se zadata vrednost y* nalazi pri kraju tablice, onda se na potpuno analogan način dobija odgovarajuće x* korišćenjem drugog Njutnovog interpolacionog polinoma. Ako se zadata vrednost y* nalazi u sredini tablice, onda se na potpuno analogan način dobija odgovarajuće x* korišćenjem tzv. interpolacionih formula sa centralnim razlikama: Gausovih, Stirlingove, Beselove, ... Zadatak inverzne interpolacije u slučaju neekvidistantnih vrednosti argumenta: x0 , x1 , ..., xn se može rešiti primenom Langraževe interpolacione formule. Za to je dovoljno uzeti y za nezavisnu promenljivu a x posmatrati kao funkciju od y, tj. x = g ( y ) . Naravno, potrebno je pretpostaviti postojanje inverzne funkcije. Dakle, zadatak inverzne interpolacije rešavamo primenom formule 61
Π n +1 ( y ) ⋅ xi , i = 0 ( y − yi ) Π ′n +1 ( yi ) n
x=∑
(4) gde je
Π n +1 ( y ) = ( y − y0 ) ( y − y1 )⋯ ( y − yn ) .
Primer 1. U sledećoj tablici date su vrednosti funkcije f ( x) x 1.0 1.2 1.4 1.6 1.8 y 0.36788 0.30119 0.24660 0.20190 0.16530 Naći onu vrednost x za koju je f ( x) = 0.31664 . Rešenje. Čvorovi su jednako razmaknuti, funkcija je monotono opadajuća i y0 = 0.36788 , y* = 0.31664, y1 = 0.30119 . Sastavimo tablicu konačnih razlika. Koristićemo prvi Njutnov interpolacioni polinom. x 1.0
y 0.36788
1.2
0.30119
∆2y
∆y
∆3y
∆4y
–6669 1210 –5459 1.4
–221
0.24660
989
42
–4470 1.6
0.20190
1.8
0.16530
–179 810
–3660 Redom računamo: 0.31664 − 0.36788 u (0) = = 0.76833 , x ( 0) = x0 + hu ( 0) = 1.15367 ; − 0.06669 0.01210 1 − 0.00221 u (1) = 0.76833 − ⋅ ⋅ 0.76833 ⋅ (0.76833 − 1) + ⋅ − 0.06669 2! 3! ⋅ 0.76883 ⋅ (0.76833 − 1)(0.76833 − 2) +
0.00042 ⋅ 0.76833 ⋅ (0.76833 − 1) ⋅ 4!
⋅ (0.76833 − 2)(0.76833 − 3)] = 0.75084, Na kraju se dobija: x* = 1.15. ▲
x (1) = x0 + hu (1) = 1.15017, itd.
Primer 2. U tabeli date su vrednosti integrala verovatnoće x
∫
Φ( x) = (2 / π ) e − x dx 2
0
(v. tabelu). Za koje x je Φ( x) = 0.5 ? Rešenje. Ovde je bolje primeniti interpolacionu formulu sa centralnim razlikama. 62
x 0.45
y 0.4754818
0.46
0.4846555
∆2y
∆y
∆3y
∆4y
91737 –840 90897 0.47
–11
0.4937452
–851 90046
0.48
0.5027498
0.49
0.5116683
0.50
0.5204999
1 –10
–861 89185
2 –8
–869 88316
Tražena vrednost x* se nalazi izmeñu 0.47 i 0.48. (Ako bismo primenili linearnu interpolaciju, dobili bismo x* ≈ 0.476946 .) Primenićemo Beselovu interpolacionu formulu y=
y0 + y1 u(u − 1) ∆2 y −1 + ∆2 y0 u(u − 12 )(u − 1) 3 + (u − 12 )∆y0 + + ∆ y −1 , 2 2! 2 3!
gde je u =
x − 0.47 1 a y = 0.5. Ako stavimo u − = v , imaćemo 0.01 2 0.5 = 0.4982475 + 0.0090046v + +
(v 2 − 0.25) (−0.0000856) + 2
v(v 2 − 0.25) (−0.0000010), 6
odnosno v = 0.194623 − (v 2 − 0.25)(−0.004753) − v(v 2 − 0.25)( −0.0000185) .
Neka je v ( 0 ) = 0.194623 . Tada je v (1) = 0.194623 − [(0.194623) 2 − 0.25]( −0.004753) −
− 0.194623[(0.194623) 2 − 0.25](−0.0000185) = 0.194623 − 0.001008 − 0.000001 = 0.193614.
Na isti način dobijamo v ( 2) = 0.194623 − 0.0010101 − 0.000001 = 0.193612 .
Kako je v ( 2) = v (1) , to je v = 0.693612 i x* = 0.47 + 0.01 · 0.693612 = 0.4769361. ▲ Inverzna interpolacija se može primeniti za rešavanje jednačine f ( x) = 0 . Za to je dovoljno sastaviti tablicu vrednosti funkcije y = f ( x) u okolini nule funkcije f ( x) , pa primeniti inverznu interpolaciju za y = 0. 63
y y = –x + 1
y = sh x
Primer 3. Rešiti jednačinu sh x + x − 1 = 0 .
Rešenje. Grafičkom metodom nalazimo da data jednačina ima samo jedno rešenje i da to rešenje pripada intervalu x (0, 1) (sl. 2). Zaista, ako je f ( x) = sh x + x − 1 , onda je f (0) = −1 < 0 i f (1) = 1.1752... > 0 i f ' ( x) = ch x + 1 > 0 za x ∈ [0, 1] . Sl. 2 Kako je f (0.5) = 0.021... > 0 i f (0.4) = −0.189... < 0 to rešenje x*∈ (0.4, 0.5) . Tabelirajmo funkciju f ( x) na odsečku [0.4, 0.5] korakom h = 0.02.
1 0 0 x* 1
x 0.40
y –0.189248
0.42
–0.147543
∆y
∆2y
∆3y
∆4y
0.041705 0.000173 0.041878 0.44
–0.105665
0.46
–0.063605
0.000009 0.000182
0.042060
0.000009 0.000191
0.042251 0.48
0.000000
–0.021354
0.0000–2 0.000007
0.000198 0.042449
0.50
–0.021095
Koristićemo drugi Njutnov interpolacioni polinom do konačnih razlika trećeg reda, zaključno (razlike četvrtog i višeg reda nije korektno koristiti – akumulirana greška zaokrugljivanja je veća od samih razlika). Dakle, ∆2 y3 ∆y 4 ∆3 y 2 v+ v(v + 1) + v(v + 1)(v + 2) , 1! 2! 3! x − x5 x − 0.5 gde je v = . Imamo = h 0.02 y = y5 +
v=
0 − 0.021095 1 0.000007 0.000198 − v(v + 1) + v(v + 1)(v + 2) . 0.042449 0.042449 2 6
Uzmimo v ( 0) =
0 − 0.021095 = −0.496949 , tj. x ( 0) = 0.5 + 0.02v ( 0) = 0.490061 . 0.042449
Dalje, redom računamo 1 0.000198 v (1) = −0.496949 − ⋅ ( −0.496949) ⋅ (−0.496349 + 1) + 0.042449 2 64
0.000007 ⋅ (−0.496949) ⋅ ( −0.496949 + 1) ⋅ (−0.496949 + 2) = 6 1 = −0.496949 − (−0.000024749 − 0.000000438) = 0.042449 = −0.496949 + 0.000593 = −0.496356 , x (1) = 0.5 + 0.02 ⋅ v (1) = 0.490073 . 1 0.000198 = −0.496949 − ⋅ (−0.496356) ⋅ ( −0.496356 + 1) + 0.042449 2 0.000007 + ⋅ (−0.496356) ⋅ ( −0.496356 + 1) ⋅ ( −0.496356 + 2) = 6 1 = −0.496349 − (−0.000024748 − 0.000000438) = 0.042449 = −0.496949 + 0.000593 = −0.496356 , x (2) = 0.5 + 0.02 ⋅ v (2) = 0.490073 . Dakle, x* ≈ 0.49007. ▲ +
v ( 2)
12. INVERZIJA REDA Jedna od najčešće primenjivanih metoda za rešavanje zadatka inverzne interpolacije je inverzija reda. Skoro sve interpolacione formule su oblika polinoma, a polinom je specijalan slučaj Maklorenovog (C. Maclaurin, 1698–1746) reda (1) y = a0 + a1 x + a2 x 2 + ⋯ + a n x n + ⋯ . Inverzija reda je opštiji problem od problema inverzne interpolacije. Kada je red (1) konvergentan, onda je moguće izvršiti inverziju reda. Iz (1) za x = 0 imamo da je y = a0 , pa je (2)
y − a0 = 0 ,
i zbog toga x možemo tražiti u obliku Tejlorovog reda 2
3
n
y − a0 y − a0 y − a0 y − a0 + c3 + ⋯ + cn + ⋯ , (3) x = c0 + c1 + c2 a1 a1 a1 a1 a1 ≠ 0 , gde su c0 , c1 , c2 , ..., cn , ... za sada neodreñeni koeficijenti. Red (1) je y − a0 ureñen po stepenima x a red (3) po stepenima , što je saglasno s uslovom a1 (2); deljenje koeficijentom a1 je izvršeno kako bi se kasnije lakše odreñivali koeficijenti c0 , c1 , c2 , ..., cn , ... Kada se u red (1) umesto x stavi njegova vrednost prema (3), dobiće se 2 3 y − a0 y − a0 y − a0 + c3 + ⋯ + y = a0 + a1 c0 + c1 + c2 a1 a1 a1
65
2
2 3 y − a0 y − a0 y − a0 + c3 + ⋯ + + a2 c0 + c1 + c2 a1 a1 a1 3
2 3 y − a0 y − a0 y − a0 + c3 + ⋯ + ⋯ + a3 c0 + c1 + c2 a1 a1 a1
ili 2 3 y − a0 y − a0 y − a0 y − a0 + = c0 + c1 + c2 + c + ⋯ 3 a a1 a1 a1 1 2
(4)
a + 2 a1
2 3 y − a0 y − a0 y − a0 c0 + c1 + + c2 + c + ⋯ 3 a a1 a1 1
a + 3 a1
2 3 y − a0 y − a0 y − a0 c0 + c1 +⋯ + ⋯ + c2 + c 3 a a1 a1 1
3
Uporeñujući koeficijente uz odgovarajuće stepene
y − a0 dobijamo redom: a1
c0 = 0 , c1 = 1 , a c2 = − 2 , a1 2
(5)
a a c3 = − 3 + 2 2 , a1 a1 3
a a a a c4 = − 4 + 5 2 2 3 − 5 2 , a1 a1 a1 2
4
a2a a a a a a c5 = − 5 + 6 2 2 4 + 3 3 − 21 2 3 3 + 14 2 , a1 a1 a1 a1 a1 2
a2a + a a2 a 3a a a +a a a a c6 = − 6 + 7 2 5 2 3 4 − 28 2 4 3 2 3 + 84 2 4 3 − 42 2 a1 a1 a1 a1 a1 i tako dalje.
5
Kako se primenjuje metoda inverzije reda? Pokažimo na primeru prve Njutnove interpolacione formule uzimajući prvih pet sabiraka: y = y0 +
66
∆y0 ∆ 2 y0 ∆ 3 y0 u+ u (u − 1) + u (u − 1)(u − 2) + 1! 2! 3!
∆ 4 y0 u (u − 1)(u − 2)(u − 3) 4! Napišimo formulu u sledećem obliku +
∆2 y0 ∆3 y0 ∆4 y0 ∆2 y0 ∆3 y0 ∆4 y0 2 u + u + y = y0 + ∆y0 − 11 + − − + 2 3 4 2 3 24 ∆3 y0 ∆4 y0 3 ∆4 y0 4 u + u . + − 6 4 24
Očigledno je:
a0 = y 0 , a1 = ∆y0 −
∆2 y0 ∆3 y0 ∆4 y0 + − , 2 3 4 ∆3 y0 ∆4 y0 − + 11 , 3 24 ∆4 y0 , − 4
∆2 y0 2 3 ∆ y0 a3 = 6 4 ∆ y0 . a4 = 24 Koristeći vrednosti (6) izračunavamo koeficijente ci prema obrascima (5) i na taj način dobijamo traženu vrednost u, odnosno x. a2 =
(6)
Primer 1. Metodom inverzije reda naći vrednost x koja odgovara vrednosti y = 1.70757, ako je funkcija y = f (x) zadata tablicom x y
5.0 5.2 5.4 5.6 5.8 6.0 1.69897 1.71600 1.73239 1.74819 1.76343 1.77815
Rešenje. Tablica konačnih razlika je x y ∆y 5.0 1.69897 1703 5.2 1.71600 1639 5.4 1.73239 1580 5.6 1.74819 1524 5.8 1.76343 1472 6.0 1.77815
∆2y
∆3y
–64 5 –59 3 –56 4 –52
(Razlike četvrtog reda ne možemo uzeti! Zašto?) Prvo izračunavamo: 67
a0 = 1.69897 ,
− 0.00064 0.00005 + = 0.017367 , 2 3 − 0.00064 0.00005 a2 = − = −0.00034500 , 2 2 0.00005 a3 = = 0.0000083333 ; dakle 6 y = 1.69897 + 0.017367u − 0.00034500u 2 + 0.0000083333u 3 , x − 5.0 gde je u = . Dalje imamo: 0.2 − 0.00034500 c2 = − = 0.019865 ; 0.017367 a1 = 0.01703 −
2
c3 = −
0.0000083333 − 0.34500 + 2 = 0.00030943 , 0.017367 17.367
( y − a0 ) (1.70757 − 1.69897) = = 0.49519 , a1 0.017367
pa je u = 0.49519 + 0.019865 ⋅ (0.49519) 2 + 0.00030943 ⋅ (0.49519) 3 = 0.50010
i, na kraju, x = x0 + hu = 5.0 + 0.2 ⋅ 0.50010 = 5.10002 ,
odnosno, traženo x = 5.100. ▲
13. TRIGONOMETRIJSKI INTERPOLACIONI POLINOMI Ako je funkcija y = f (x) periodična, onda se primenjuju trigonometrijske interpolacione formule. Najčešće se koriste Gausova i Ermitova trigonometrijska interpolaciona formula. Gausova trigonometrijska interpolaciona formula glasi 1 1 1 sin ( x − x1 ) sin ( x − x2 )⋯ sin ( x − xn ) 2 2 2 y= y0 + 1 1 1 sin ( x0 − x1 ) sin ( x0 − x2 )⋯ sin ( x0 − xn ) 2 2 2 1 1 1 sin ( x − x0 ) sin ( x − x2 )⋯ sin ( x − xn ) 2 2 2 + y1 + 1 1 1 sin ( x1 − x0 ) sin ( x1 − x2 )⋯ sin ( x1 − xn ) 2 2 2
68
1 1 1 sin ( x − x0 ) sin ( x − x1 )⋯ sin ( x − xn −1 ) 2 2 2 yn . +⋯ + 1 1 1 sin ( xn − x0 ) sin ( xn − x1 )⋯ sin ( xn − xn −1 ) 2 2 2 Ermitova trigonometrijska interpolaciona formula glasi y=
sin( x − x1 ) sin( x − x2 )⋯ sin( x − xn ) y0 + sin( x0 − x1 ) sin( x0 − x2 )⋯ sin( x0 − xn ) sin( x − x0 ) sin( x − x2 )⋯ sin( x − xn ) + y1 + sin( x1 − x0 ) sin( x1 − x2 )⋯ sin( x1 − xn ) sin( x − x0 ) sin( x − x1 )⋯ sin( x − xn −1 ) +⋯ + yn . sin( xn − x0 ) sin( xn − x1 )⋯ sin( xn − xn −1 )
Primer 1. Funkcija f (x) je zadata tablicom x f (x)
0.4 0.0977
0.5 0.0088
0.7 0.8 –0.1577 –0.2192
Primenom Ermitove trigonometrijske formule izračunati f (0.6) . Rešenje. sin(0.1)sin(−0.1) ⋅ sin(−0.2) f (0.6) = ⋅ 0.0977 + sin(−0.1)sin( −0.3) ⋅ sin(−0.4) sin(0.2)sin(−0.1) ⋅ sin(−0.2) + ⋅ 0.0088 + sin(0.1)sin(−0.2) ⋅ sin(−0.3) sin(0.2)sin(0.1) ⋅ sin(−0.2) + ⋅ (−0.1577) + sin(0.3)sin(0.2) ⋅ sin( −0.1) sin(0.2)sin(0.1) ⋅ sin( −0.1) + ⋅ (−0.2192) = sin(0.4)sin(0.3) ⋅ sin(0.1) = −0.01684 + 0.00592 − 0.10601 + 0.03778 = −0.0792. ▲
14. PODELJENE (KOLIČNIČKE) RAZLIKE FUNKCIJA Pretpostavka da su čvorovi interpolacije jednako razmaknuti – ekvidistantni sužava oblast primene mnogih interpolacionih formula s konačnim razlikama. Naime, podaci dobijeni eksperimentalnim putem najčešće nisu ekvidistantni. Radi toga ćemo, na odreñen način, uopštiti pojam konačnih razlika uvodeći podeljene ili količničke razlike – razlike s promenljivim korakom i izvesti interpolacione formule s takvim razlikama. Neka je funkcija y = f ( x) zadata tabličnim vrednostima yi = f ( xi ) , i = 0, n , gde su xi ∈ [ a, b] , i = 0, n , nejednako razmaknuti čvorovi, dakle, ∆xi = xi +1 − xi = hi ≠ 0 , i = 0, n − 1 ,
i hi nisu jednaki meñu sobom.
69
Podeljene razlike prvog reda su: yi +1 − yi , i = 0, n − 1 , xi +1 − xi što ćemo obeležavati na sledeće načine: f [ xi , xi +1 ] ili [ xi , xi +1 ] ili δ( xi , xi +1 ) ili, kratko, δ1 (čita se: malo delta jedan). Tako imamo, na primer: δ( x0 , x1 ) =
y − y1 y1 − y0 , δ( x1 , x2 ) = 2 , ... x1 − x0 x2 − x1
Podeljene razlike drugog reda su: δ( xi +1 , xi + 2 ) − δ( xi , xi +1 ) , i = 0, n − 2 , x i + 2 − xi što ćemo obeležavati na sledeće načine: f [ xi , xi +1 , xi + 2 ] ili [ xi , xi +1 , xi + 2 ] ili δ( xi , xi +1 , xi + 2 ) ili, kratko, δ 2 (čita se: malo delta dva). Tako imamo, na primer: δ( x1 , x2 ) − δ( x0 , x1 ) δ( x2 , x3 ) − δ( x1 , x2 ) , δ( x1 , x2 , x3 ) = , ... δ( x0 , x1 , x2 ) = x 2 − x0 x3 − x1 Uopšte, podeljene razlike k–tog reda su: δ( xi +1 , xi + 2 , ..., xi + k ) − δ( xi , xi +1 , ..., xi + k −1 ) , i = 0, n − k , x i + k − xi
što ćemo obeležavati na sledeće načine: f [ xi , ..., xi + k ] ili [ xi , ..., xi + k ] ili δ( xi , xi +1 , ..., xi + k ) ili, kratko, δ k (čita se: malo delta ka). Podeljene razlike se obično zapisuju u obliku tablice podeljenih razlika, i na taj način se postiže preglednost. Tablice su sledećeg oblika, analogno tablicama konačnih razlika.
70
x x0
y y0
x1
y1
x2
y2
x3 ⋮ xn–3
y3 ⋮ yn–3
xn–2
yn–2
xn–1
yn–1
xn
yn
δ1
δ(x0, x1) δ(x1, x2) δ(x2, x3) ⋮
δ(xn–3, xn–2) δ(xn–2, xn–1) δ(xn–1, xn)
δ2
...
δn
δ(x0, x1, x2) δ(x1, x2, x3) δ(x2, x3, x4) ⋮ δ(xn–4, xn–3, xn–2) δ(xn–3, xn–2, xn–1) δ(xn–2, xn–1, xn)
δ(x0, x1, x2, ..., xn)
Primer 1. Sastaviti tablicu podeljenih razlika za funkciju y = f (x) zadatu tablično x 0.00 0.20 0.35 0.40 0.50 0.54 y 1.000000 1.408000 1.742875 1.864000 2.125000 2.237464 Rešenje. δ1
x y 0.00 1.000000
δ2
δ3
δ4
2.040000 0.20 1.408000
0.550000 2.232500
0.35 1.742875
1.000000 0.950000
2.422500 0.40 1.864000
0.000000 1.000000
1.250000 2.610000
0.50 2.125000
0.000000 1.000000
1.440000 2.811600
▲
0.54 2.237464
Navedimo neke osobine podeljenih razlika: 1) Podeljene razlike zbira funkcija jednake su zbiru podeljenih razlika sabiraka. 2) Podeljene razlike razlike funkcija jednake su razlici podeljenih razlika umanjenika i umanjioca. 3) Konstantan faktor se može izvući ispred podeljene razlike. 4) Podeljene razlike su simetrične funkcije svojih argumenata, tj. δ( xi , xi +1 , xi + 2 , ..., xi + k ) = δ( xi +1 , xi , xi + 2 , ..., xi + k ) = = δ( xi + 2 , xi +1 , xi , ..., xi + k ) = ...
Važe i sledeće leme.
Lema 1. Ako je y = Pn (x) polinom n–tog stepena, onda su podeljene razlike prvog reda polinomi (n–1)–tog stepena. Dokaz. Na osnovu Bezuovog stava imamo Pn ( x) = ( x − xi ) ⋅ Pn −1 ( x) + Pn ( xi ) , a odavde je Pn ( x) − Pn ( xi ) = Pn −1 ( x) , x − xi tj. Pn [ x, xi ] = δ( x, x1 ) = Pn −1 ( x) . ■ Posledica 1. Podeljene razlike n–tog reda polinoma n–tog stepena Pn (x) su konstantne, tj. Pn [ x, x0 , x1 , ..., xn −1 ] = C , C = const. 71
Posledica 2. Podeljene razlike m–tog reda, gde je m > n, polinoma n–tog stepena Pn (x) su jednake nuli. Zaista, razlika (n + 1)–vog reda je Pn [ x, x0 , x1 , ..., xn ] =
Pn [ x, x1 , ..., xn ] − Pn [ x, x0 , ..., xn −1 ] C − C = =0 xn − x xn − x
i sve razlike reda višeg od (n + 1)–vog su, očigledno, jednake nuli.
Lema 2. Podeljena razlika k–tog reda je yi + ( xi − xi +1 )( xi − xi + 2 ) … ( xi − xi + k ) yi +1 + +⋯+ ( xi +1 − xi )( xi +1 − xi + 2 ) ⋯ ( xi +1 − xi + k )
δ ( xi , xi +1 , ..., xi + k ) =
+
( xi +1 − xi )( xi + k
yi + k . − xi +1 ) ⋯ ( xi + k − xi + k −1 )
Dokaz se izvodi metodom matematičke indukcije po k i može se naći, na primer, u knjizi: J. S. Berezin, N. P. Židkov – Numerička analiza, Beograd, 1963, str. 81. Pretpostavimo da su čvorovi interpolacije x0 , x1 , ..., xn jednako razmaknuti, tj. pretpostavimo da je xi +1 − xi = h , h – konstantno. Nañimo vezu izmeñu konačnih i podeljenih razlika. Radi toga posmatraćemo tablice konačnih razlika x x0
y y0
∆y
∆2y
∆3y
∆4y
y1 – y0 x0 + h y1
y2 – 2y1 + y0 y3 – 3y2 + 3y1 – y0
y2 – y1 x0 + 2h y2
y3 – 2y2 + y1 y3 – y2
x0 + 3h y3
y4 – 4y3 + 6y2 – 4y1 + y0 y4 – 3y3 + 3y2 – y1
y4 – 2y3 + y2 y4 – y3
x0 + 4h y4
y5 – 4y4 + 6y3 – 4y2 + y1 y5 – 3y4 + 3y3 – y2
y5 – 2y4 + y3
x0 + 5h y5
y6 – 4y5 + 6y4 – 4y3 + y2 y6 – 3y5 + 3y4 – y3
y5 – y4 y6 – 2y5 + y4 y6 – y5 x0 + 6h y6
i tablicu podeljenih razlika s konstantnim korakom h
72
x x0
y y0
x0 + h
y1
δ1
y1 − y0 h y 2 − y1 h
x0 + 2h
y2 y3 − y 2 h
x0 + 3h
y3 y 4 − y3 h
x0 + 4h
y4 y5 − y 4 h
x0 + 5h
y5
y 6 − y5 h
δ2
δ3
δ4
y2 − 2 y1 + y0 2h ⋅ h y3 − 3 y2 + 3 y1 − y0 3h ⋅ 2h ⋅ h
y4 − 4 y3 + 6 y2 − 4 y1 + y0 4h ⋅ 3h ⋅ 2h ⋅ h
y3 − 2 y2 + y1 2h ⋅ h y4 − 3 y3 + 3 y2 + y1 3h ⋅ 2 h ⋅ h
y4 − 2 y3 + y2 2h ⋅ h
y5 − 4 y 4 + 6 y3 − 4 y 2 + y1 4 h ⋅ 3h ⋅ 2 h ⋅ h
y5 − 3 y4 + 3 y3 − y2 3h ⋅ 2h ⋅ h y5 − 2 y4 + y3 2h ⋅ h
y 6 − 4 y5 + 6 y 4 − 4 y3 + y 2 4h ⋅ 3h ⋅ 2h ⋅ h y6 − 3 y5 + 3 y4 − y3 3h ⋅ 2h ⋅ h
y6 − 2 y5 + y4 2h ⋅ h
x0 + 6h y6 Na osnovu prethodnih tablica zaključujemo da je: y − y0 ∆y0 1 ∆y δ1 y0 = δ( x0 , x0 + h) = δ( x0 , x1 ) = 1 = , δ y1 = 1 , ...; h h h δ 2 y0 = δ ( x0 , x0 + h, x0 + 2h) = δ( x0 , x1 , x2 ) =
δ 2 y1 =
y 2 − 2 y1 + y0 ∆2 y0 , = 2h ⋅ h 2!h 2
∆2 y1 , ... 2!h
δ 3 y0 = δ( x0 , x0 + h, x0 + 2h, x0 + 3h) = δ( x0 , x1 , x2 , x3 ) =
=
∆3 y1 y3 − 3 y 2 + 3 y1 − y0 ∆3 y0 3 , , ...; = δ y = 1 3h ⋅ 2!h 2 3!h 3 3!h 3
δ 4 y0 = δ( x0 , x0 + h, x0 + 2h, x0 + 3h, x0 + 4h) = δ( x0 , x1 , x2 , x3 , x4 ) =
∆4 y1 y 4 − 4 y3 + 6 y 2 − 4 y1 + y0 ∆4 y0 4 , , ...; = δ y = 1 4h ⋅ 3!h 3 4!h 4 4!h 4 i, u opštem slučaju, važi =
73
δ n y k = δ( xk , xk + h, xk + 2h, ..., xk + nh) =
∆n y k , k = 0, 1, 2, ... n!h n
15. NJUTNOVI INTERPOLACIONI POLINOMI S PODELJENIM RAZLIKAMA Neka je funkcija y = f (x) zadata tablicom x y
x0
x1
x2
y0
y1
y2
... ...
xi yi
... ...
xn yn
pri čemu su čvorovi interpolacije xi ∈ [a, b] , i = 0, n , meñu sobom različiti. Njutnovi interpolacioni polinomi, a takoñe i drugi interpolacioni polinomi s podeljenim razlikama, mogu se jednostavno napisati koristeći relaciju izmeñu podeljenih i konačnih razlika ∆n y k , k = 0, 1, 2, ... , δ n yk = δ ( xk , xk + h, xk + 2h,…, xk + nh) = n!h n što prepuštamo čitaocu. Ovde ćemo izvesti samo I Njutnov interpolacioni polinom na nešto drugačiji način. Neka je Ln (x) Lagranžev interpolacioni polinom n–tog stepena, dakle, Ln ( x) = yi , i = 0, n . Podeljene razlike (n + 1)–vog reda polinoma Ln (x) je, kao što je poznato, su (1) Ln [ x, x0 , x1 , x2 , ..., xn ] ≡ 0 . Na osnovu definicije podeljenih razlika imamo Ln ( x) − Ln ( x0 ) = Ln [ x, x0 ] , x − x0 a odavde je (2) Ln ( x) = Ln ( x0 ) + Ln [ x, x0 ]( x − x0 ) , i analogno iz Ln [ x, x0 , x1 , ..., xk −1 ] − Ln [ x0 , x1 , x2 , ..., xk ] = Ln [ x, x0 , x1 , ..., xk ] ( x − xk ) imamo Ln [ x, x0 , x1 , ..., xk −1 ] = (3)
Ln [ x0 , x1 , ..., xk ] + Ln [ x, x0 , x1 , x2 , ..., xk ]( x − xk ) ,
k = 1, n . Koristeći formulu (3) iz formule (2) dobijamo Ln ( x) = Ln ( x0 ) + Ln [ x, x0 ] ⋅ ( x − x0 ) = = Ln ( x0 ) + {Ln [ x0 , x1 ] + Ln [ x, x0 , x1 ]( x − x1 )} ⋅ ( x − x0 ) =
= Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + Ln [ x, x0 , x1 ]( x − x0 )( x − x1 ) =
74
= Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + {Ln [ x0 , x1 , x2 ] + + Ln [ x, x0 , x1 , x2 ]( x − x2 )}( x − x0 )( x − x1 ) = = Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + Ln [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + + Ln [ x, x0 , x1 , x2 ]( x − x0 )( x − x1 )( x − x2 ) = = ... = Ln ( x0 ) + Ln [ x0 , x1 ]( x − x0 ) + Ln [ x0 , x1 , x2 ]( x − x0 )( x − x1 ) + + Ln [ x0 , x1 , ..., xn ]( x − x0 )( x − x1 ) ⋯ ( x − xn −1 ) + + Ln [ x, x0 , x1 , ..., xn ]( x − x0 )( x − x1 )⋯ ( x − xn ).
Meñutim, Ln [ x, x0, x1, ..., xn ] ≡ 0 , pa imamo (4)
Ln ( x) = Ln ( x0 ) + Ln [ x0, x1 ]( x − x0 ) + Ln [ x0, x1, x2 ]( x − x0 )( x − x1 ) + + Ln [ x0, x1, ..., xn ]( x − x0 )( x − x1 )⋯ ( x − xn −1 ),
što predstavlja prvi Njutnov interpolacioni polinom s podeljenim razlikama. Greška formule (4) je (5) Rn ( x) = f ( x) − Ln ( x) =
f ( n +1) (ξ ) ( x − x0 )( x − x1 )⋯ ( x − xn ) , ξ ∈ [a, b] . (n + 1)!
Primer 1. Naći prvi Njutnov interpolacioni polinom za funkciju y = f (x) zadatu tabelom x y
–1 2
0 4
2 26
3 58
5 194
6 310
δ3
δ4
Rešenje. Napravimo tablicu podeljenih razlika i 0
xi –1
yi 2
1
0
3
δ1
δ2
2 3 11 2
2
26
1 7
32 3
3
58
4
5
194
5
6
310
0 1
12 68
0 1
16 116
Kako su podeljene razlike četvrtog reda jednake nuli, to je interpolacioni polinom polinom trećeg stepena. Dakle, Ln ( x) = 2 + 2( x + 1) + 3( x + 1)( x − 0) + 1 ⋅ ( x + 1)( x − 0)( x − 2) = = 4 + 3x + 2 x 2 + x 3 . ▲
75
Drugi Njutnov interpolacioni polinom s podeljenim razlikama je Ln ( x) = Ln ( xn ) + Ln [ xn −1 , xn ] + Ln [ xn − 2 , xn −1 , xn ]( x − xn )( x − xn −1 ) + + Ln [ x0 , x1 , x2 , ..., xn ]( x − xn )( x − xn −1 )⋯ ( x − x1 ).
Primer 2. Sastaviti drugi Njutnov interpolacioni polinom za funkciju zadatu tablicom x –2 –1 0 1 2 y –257 –8 27 100 463 Rešenje. Tablica podeljenih razlika je i 0
xi –2
yi –257
1
–1
–8
δ1
δ2
δ3
δ4
249 –107 35 2
0
27
42 19
73 3
1
100
0 42
145 363
4
2
463
pa je Ln ( x) = 463 + 363·(x – 2) + 145·(x – 2)(x – 1) + 42·(x – 2)(x – 1)(x – 0) = = 27 + 12x + 19x2 + 42x3. ▲ U oba primera razlike četvrtog reda su jednake nuli, naravno, i razlike višeg reda od četiri su jednake nuli, pa su interpolacioni polinomi polinomi četvrtog stepena. Kako je rešenje zadatka jednoznačno, to nije bitno koja se interpolaciona formula koristi. Meñutim, ako bismo tražili interpolacioni polinom stepena < 3, onda je značajno koja bi se interpolaciona formula koristila. Koja će se formula koristiti, to zavisi, kao što znamo, od toga gde se nalazi vrednost x za koju treba izračunati vrednost f (x) . Ako je ta vrednost u početku tablice, koristiće se prva Njutnova interpolaciona formula, ako je ta vrednost na kraju tablice, koristiće se druga Njutnova interpolaciona formula, a ako je vrednost x u sredini tablice, onda će se koristiti neka od interpolacionih formula sa centralnim razlikama.
16. KONVERGENCIJA INTERPOLACIONOG PROCESA Neka je funkcija f (x) aproksimirana interpolacionim polinomom Ln (x) na segmentu interpolacije [a, b]. U čvorovima interpolacije xi ∈ [a, b] je Ln ( xi ) = f ( xi ) , i = 0, n . Opšta formula za grešku interpolacije za x ∈ [ a, b] i x ≠ xi , i = 0, n , je
76
Rn ( x) = f ( x) − Ln ( x) =
f ( n +1) (ξ ) ∏ n +1 ( x) , (n + 1)!
gde je Π n+1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) , ξ = ξ ( x) ∈ [a, b] a f ( x) ∈ C n+1[ a, b] . Ocena greške Rn (x) je povezana s ocenom max | f ( n+1) ( x) | za x ∈ [a, b] . To je ponekad vrlo teško učiniti, a kada je funkcija zadata tablično, onda to i nije moguće. Zbog toga je vrlo važno sledeće pitanje: ako izaberemo vrlo velik broj čvorova interpolacije, da li odgovarajući interpolacioni polinom dovoljno dobro aproksimira funkciju f (x) ? Drugim rečima, postavlja se problem konvergencije interpolacionog procesa. Ako broj čvorova neograničeno raste, onda umesto interpolacionog polinoma imamo beskonačni red kojeg možemo nazvati interpolacionim redom. Naravno, prvo pitanje je: Da li dobijeni interpolacioni red konvergira? Neka je dat sledeći sistem čvorova interpolacije: x0( 0) ; x0(1) ,
x1(1) ;
x0( 2) , x1( 2) , x2( 2) ; ⋮
x0( n )
x1( n ) , x2( n ) , …, xn( n ) ;
⋮
pri čemu svi čvorovi xi( k ) ∈ [ a, b] , i = 0, 1, 2, ..., k = 0, 1, 2, ... Formirajmo niz interpolacionih polinoma, na primer, Lagranževih interpolacionih polinoma Ln (x) , n = 0, 1, 2, ... Reći ćemo: Interpolacioni proces se naziva konvergentnim ako je (1)
lim Ln ( x) = f ( x) , x ∈ [ a, b] .
n →∞
Interpolacioni proces je ravnomerno konvergentan ako (1) ravnomerno konvergira na segmentu [a, b]. Na prvi pogled mogli bismo zaključiti da s povećavanjem broja n čvorova interpolacije, čvorovi sve gušće i gušće ispunjavaju segment [a, b] tako da se u proizvoljnom njegovom delu, počevši od nekog n, nalazi bar jedan čvor i da je to neka „garancija“ ravnomerne konvergencije. Ali to, ipak, nije tako. Može se desiti da niz Ln (x) , kada n → ∞ , uopšte ne konvergira, da konvergira ka nekoj funkciji g (x) koja je različita od funkcije f (x) , a samo pod odreñenim uslovima konvergira ka funkciji f (x) . Tako, na primer, niz Lagranževih interpolacionih polinoma Ln (x) formiranih za funkciju f ( x) = | x | na segmentu [–1, 1] pomoću ekvidistantnih čvorova interpolacije kada n → ∞ ne konvergira ka funkciji f (x) ni u jednoj tački intervala (–1, 1). 77
Pitanje konvergencije interpolacionog procesa (1) rešava sledeća teorema.
Teorema. Neka je f (x) cela funkcija. Niz interpolacionih polinoma Ln (x) , formiranih za funkciju f (x) za proizvoljan izbor čvorova interpolacije, ravnomerno konvergira ka funkciji f (x) , x ∈ [ a, b] . Dokaz videti u knjizi: J. S. Berezin, N. P. Židkov – Numerička analiza, Beograd, 1963, str. 124. Inače, funkcija f (x) se naziva celom funkcijom ako se ona može prikazati u obliku stepenog reda f ( x) = a0 + a1 ( x − x0 ) + a2 ( x − x0 ) 2 + ⋯ + an ( x − x0 ) n + ⋯ ,
koji konvergira za svako x ∈ [a, b] . Dakle, f (x) ima izvode proizvoljnog reda.
17. ERMITOV INTERPOLACIONI POLINOM Neka je funkcija f ( x) ∈ C 2 n+ 2 [a, b] i neka su xi ∈ [a, b] , i = 0, n , čvorovi interpolacije. Neka su zadate vrednosti funkcije yi = f ( xi ) i vrednosti prvog izvoda yi′ = f ′( xi ) , i = 0, n , u čvorovima interpolacije. Interpolacioni polinom Pm (x) koji zadovoljava uslove Pm ( xi ) = yi , Pm′ ( xi ) = yi′ , i = 0, n ,
(1)
naziva se Ermitov interpolacioni polinom. Kako u (1) imamo 2n + 2 uslova, stepen polinoma Pm (x) je m ≤ 2n + 1. Dakle, formirajmo polinom P2 n+1 ( x) koji zadovoljava uslove P2 n+1 ( xi ) = yi , P2′n+1 ( xi ) = yi′ , i = 0, n .
(2)
Jedan od načina rešavanja postavljenog zadatka je analogan načinu na koji smo odredili Lagranžev interpolacioni polinom. Dakle, formirajmo pomoćne polinome ui (x) i vi (x) stepena 2n + 1 takve da su ispunjeni uslovi 1, i = j , ; ui ( x j ) = δ ij = 0, i ≠ j ,
vi ( x j ) = 0 ,
ui′ ( x j ) = 0 ;
1, i = j , vi′ ( x j ) = δij = 0, i ≠ j.
Polinom n
n
i =0
i =0
P2 n +1 ( x) = ∑ ui ( x) yi + ∑ vi ( x) yi′
zadovoljava uslove (2). Slično kao i kod Lagranževog interpolacionog polinoma nalazimo da je: 78
ui ( x) = [1 − 2 pi′ ( xi )( x − xi )] ⋅ [ pi ( x)]2 , vi ( x) = ( x − xi )[ pi ( x)]2 ,
gde je pi ( x ) =
( x − x0 )( x − x1 )… ( x − xi −1 )( x − xi +1 )… ( x − xn ) . ( xi − x0 )( xi − x1 )… ( xi − xi −1 )( xi − xi +1 )… ( xi − xn )
Dakle, traženi interpolacioni polinom je (3)
n
n
i =0
i =0
P2 n +1 ( x) = ∑ [1 − 2 pi′( xi )( x − xi )] ⋅ [ pi ( x)]2 yi + ∑ ( x − xi )[ pi ( x)]2 yi′ .
Drugi način nalaženja Ermitovog interpolacionog polinoma je metoda neodreñenih koeficijenata. Naime, ako interpolacioni polinom potražimo u obliku P2 n+1 ( x) = c0 + c1 x + c2 x 2 + ⋯ + c2 n+1 x 2 n+1 ,
(4)
onda iz uslova (2) dobijamo sistem od (2n + 2)–ve linearne jednačine po nepoznatima – neodreñenim koeficijentima: c0 , c1 , c2 , ..., c2 n+1 . Naravno, rešavanjem tog sistema jednačina dolazimo do interpolacionog polinoma (4). Razume se, za veliko n obim računanja je velik, pa je prvi način nešto jednostavniji.
Primer 1. Naći Ermitov interpolacioni polinom za funkciju zadatu tablicom x 0 1 y 8 90 y’ 8 156 Rešenje. Polinom je najviše trećeg stepena. Prvo nalazimo p0 ( x) = = −( x − 1) i p1 ( x) =
x−0 = x . Koristeći formulu (3) imamo 1− 0
x −1 = 0 −1
P3 ( x) = [1 − 2(−1)( x − 0)] ⋅ [ −( x − 1)]2 ⋅ 8 + [1 − 2 ⋅1 ⋅ ( x − 1)] ⋅ [ x]2 ⋅ 90 + + ( x − 0) ⋅ [ −( x − 1)]2 ⋅ 8 + ( x − 1) ⋅ [ x]1 ⋅156 = 8(1 + 2 x) ⋅ ( x − 1) 2 + + 90 x 2 ⋅ (3 − 2 x) + 8 x ⋅ ( x − 1) 2 + 156 x 2 ⋅ ( x − 1) = = 16 x 3 − 24 x 2 + 8 − 180 x 3 + 270 x 2 + 8 x 3 − 16 x 2 + 8 x + 156 x 3 − 150 x 2 = = 0 ⋅ x 3 + 74 x 2 + 8 x + 8,
što znači da je tražena funkcija polinom drugog stepena: P2 ( x ) = 8 + 8 x + 74 x 2 ▲ Ermitov polinom se može izvesti i u opštijem slučaju zahtevajući da budu ispunjeni uslovi: Pm ( xi ) = yi , Pm′ ( xi ) = yi′ , Pm′′ ( xi ) = yi′′, ..., Pm( k ) ( xi ) = yi( k ) , i = 0, n , k ≥ 1 .
79
Primer 2. Naći Ermitov interpolacioni polinom za funkciju zadatu tablicom x –1 0 y 69 24 y' –94 4 y" 98 Rešenje. Primenimo metodu neodreñenih koeficijenata. Interpolacioni polinom je najviše četvrtog stepena. Dakle, tražimo polinom P4 ( x) = c0 + c1 x + c2 x 2 + c3 x 3 + c4 x 4 ,
Izračunajmo izvode: P4′ ( x) = c1 + 2c2 x + 3c3 x 2 + 4c4 x 3 , P4′′( x) = 2c2 + 6c3 x + 12c4 x 2 . Na osnovu uslova zadatka imamo: x = −1 :
c0 + c1 ⋅ (−1) + c2 ⋅ ( −1) 2 + c3 ⋅ (−1) 3 + c4 ⋅ (−1) 4 = 69 , c1 + 2c2 ⋅ (−1) + 3c3 ⋅ (−1) 2 + 4c4 ⋅ (−1) 3 = −94 ,
x=0:
c0 + c1 ⋅ 0 + c2 ⋅ 0 2 + c3 ⋅ 03 + c4 ⋅ 0 4 = 24 , c1 + 2c2 ⋅ 0 + 3c3 ⋅ 0 2 + 4c4 ⋅ 03 = 4 , 2c2 + 6c3 ⋅ 0 + 12c4 ⋅ 0 2 = 98 .
Odavde dobijamo: c0 = 24 , c1 = 4 , c2 = 49 , c3 = 0 , c4 = 0 . Rešenje je, dakle, P2 ( x) = 24 + 4 x + 49 x 2 . ▲
Primer 3. Naći Ermitov interpolacioni polinom za funkciju f (x) na osnovu podataka datih u sledećoj tablici x –1 0 2 f (x) 0 –7 3 f ' ( x) –8 –5 55 f " ( x) 10 Rešenje. Traženi polinom je najviše šestog stepena; potražićemo ga u obliku H 6 ( x) = L2 ( x) + ( x + 1)( x − 0)( x − 2) ⋅ H 3 ( x) , gde je L2 ( x) Lagranžev interpolacioni polinom koji se dobija na osnovu podataka x –1 0 2 f (x) 0 –7 3 a H 3 ( x) za sada neodreñen polinom najviše trećeg stepena. Dakle, 80
L2 ( x) =
( x − 0)( x − 2) ( x + 1)( x − 2) ( x + 1)( x − 0) ⋅0 + ⋅ ( −7) + ⋅ 3 = 4 x 2 − 3x − 7 , ( −1 − 0)(−1 − 2) (0 + 1)(0 − 2) (2 + 1)(2 − 0)
pa je H 6 ( x) = 4 x 2 − 3 x − 7 + ( x + 1)( x − 0)( x − 2) ⋅ H 3 ( x) .
Diferenciranjem poslednje jednakosti nalazimo H 6′ ( x) = 8 x − 3 + x( x − 2) ⋅ H 3 ( x) + ( x + 1)( x − 2) ⋅ H 3 ( x) + ( x + 1) x ⋅ H 3 ( x) + + ( x + 1)( x − 0)( x − 2) ⋅ H 3′ ( x), odnosno H 6′ ( x) = 8 x − 3 + (3 x 2 − 2 x − 2) ⋅ H 3 ( x) + ( x + 1)( x − 0)( x − 2) ⋅ H 3′ ( x) . Dalje imamo: za x = –1 je H 6′ (−1) = −11 + 3 ⋅ H 3 ( −1) , − 8 = −11 + 3 ⋅ H 3 (−1) , H 3 (−1) = 1 , za x = 0 je H 6′ (0) = −3 − 2 ⋅ H 3 (0) , − 5 = −3 − 2 ⋅ H 3 (0) , H 3 (0) = 1 , za x = 2 je H 6′ (2) = 13 + 6 ⋅ H 3 (2) , 55 = 13 + 6 ⋅ H 3 (2) , H 3 ( 2) = 7 . Diferencirajmo još jednom. H 6′′( x) = 8 + (6 x − 2) ⋅ H 3 ( x) + (3 x 2 − 2 x − 2) ⋅ H 3′ ( x) + ( x + 1)( x − 0)( x − 2) H 3′′( x) . za x = 0 je H 6′′(0) = 8 − 2 ⋅ H 3 (0) − 4 ⋅ H 3′ (0) , 10 = 8 − 2 ⋅1 − 4 ⋅ H 3′ (0) , H 3′ (0) = −1 . Sada imamo tabelu x H 3 ( x) H 3′ ( x)
–1 1
0 1 –1
2 7
pa je H 3 ( x) = L2 ( x) + ( x + 1)( x − 0)( x − 2) ⋅ H 0 ( x) , H 3 ( x) = a0 , a0 – konstanta ( x − 0)( x − 2) ( x + 1)( x − 2) ( x + 1)( x − 0) L2 ( x) = ⋅1 + ⋅1 + ⋅ 7 = x2 + x + 1 . ( −1 − 0)(−1 − 2) (0 + 1)(0 − 2) (2 + 1)(2 − 0) H 3 ( x) = x 2 + x + 1 + ( x + 1) ⋅ x ⋅ ( x − 2) ⋅ H 0 ( x) , H 3′ ( x) = 2 x + 1 + (3 x 2 − 2 x − 2) ⋅ H 0 ( x) + ( x + 1) ⋅ x ⋅ ( x − 2) ⋅ 0 ,
za x = 0 je H 3′ (0) = 1 − 2 H 0 (0) , − 1 = 1 − 2 H 0 (0) , H 0 (0) = 1 . H 3 ( x) = x 2 + x + 1 + ( x + 1) ⋅ x ⋅ ( x − 2) ⋅1 = x 3 − x + 1 .
Na kraju dobijamo H 6 ( x) = 4 x 2 − 3 x − 7 + ( x3 − x 2 − 2 x) ⋅ ( x3 − x + 1) = = x 6 − x 5 − 3x 4 + 2 x 3 + 5 x 2 − 5 x − 7 . ▲
Izračunajmo grešku (5)
R2 n +1 ( x) = f ( x) − P2 n +1 ( x) .
Ermitove interpolacione formule (3). 81
Posmatrajmo pomoćnu funkciju 2
( z − x0 )( z − x1 )…( z − xn ) Φ ( z ) = [ f ( z ) − P2 n +1 ( z )] − [ f ( x) − P2 n +1 ( x)] ⋅ , ( x − x0 )( x − x1 )…( x − xn ) gde realna promenljiva z ∈ [a, b] a x je fiksirana vrednost u [ x0 , xn ] , x ≠ xi , i (6)
i = 0, n . Funkcija Φ (z ) ima 2n + 3 nule računajući i njihovu višestrukost: x0 , x1 , ..., xn su dvostruke nule (2n + 2 nule) a x je jednostruka nula. Dalje, kako f ( x) ∈ C 2 n+ 2 [ a, b] , to je i Φ ( z ) ∈ C 2 n+ 2 [a, b] .
Očigledno, na funkciju Φ (z ) se može primeniti Rolova teorema na svakom odsečku izmeñu dve susedne nule. Na taj način zaključujemo da funkcija Φ ′(z ) ima bar 2n + 2 nule. Dalje, na funkciju Φ ′(z ) se može primeniti Rolova teorema na svakom odsečku izmeñu dve susedne nule funkcije Φ ′(z ) , pa funkcija Φ ′′( z ) ima bar 2n + 1 nulu, pa, analogno, funkcija Φ ′′′( z ) ima bar 2n nula, ..., Φ ( 2 n+ 2) ( z ) ima bar jednu nulu u [a, b]. Dakle, postoji ξ ∈ [a, b] takva da je Φ ( 2 n + 2 ) (ξ ) = 0 . Sada imamo Φ ( 2 n + 2) ( z ) = [ f ( 2 n + 2) ( z ) − 0] − [ f ( x) − P2 n +1 ( x)] ⋅
pa je za z = ξ 0 = [ f ( 2 n + 2) (ξ ) − 0] − [ f ( x) − P2 n +1 ( x)] ⋅
(2n + 2)! [( x − x0 )( x − x1 ) ⋯ ( x − xn )]2
(2n + 2)! [( x − x0 )( x − x1 )⋯ ( x − xn )]2
i R2 n +1 ( x) = f ( x) − P2 n +1 ( x) =
f ( 2 n + 2 ) (ξ ) [( x − x0 )( x − x1 )⋯ ( x − xn )]2 , ( 2n + 2)!
odnosno R2 n +1 ( x) = f ( x) − P2 n +1 ( x) =
f ( 2 n + 2 ) (ξ ) [Π n +1 ( x)]2 , ξ ∈ [ x0 , xn ] . (2n + 2)!
18. INVERZNE PODELJENE RAZLIKE I INTERPOLACIJA FUNKCIJA VERIŽNIM RACIONALNIM IZRAZIMA U nizu slučajeva veća tačnost aproksimacije funkcija može se postići korišćenjem interpolacionih racionalnih funkcija. Ideja interpolacije prekidnih funkcija racionalnim funkcijama dovela je do konstrukcije interpolacionih formula u obliku racionalnih funkcija Pk ( x) a0 + a1 x + a2 x 2 + ⋯ + ak x k . = Qm ( x) b0 + b1 x + b2 x 2 + ⋯ + bm x m (Jedan od prvih radova koji je posvećen ovom pitanju je: T.N. Thiele–Interpola-
(1)
82
R( x) =
tionsrechnung, Leipzig, 1909.) Neka je funkcija y = f (x) zadata tablicom x f (x)
x0
x1
x2
f ( x0 )
f ( x1 )
f ( x2 )
xn
... ...
f ( xn )
pri čemu su čvorovi meñu sobom različiti. Konstruišimo niz funkcija:
(2)
Φ 0 ( x) = f ( x), x − x0 x − x0 , Φ1[ x0 , x] = = Φ 0 ( x) − Φ 0 ( x0 ) f ( x) − f ( x0 ) x − x1 , Φ 2 [ x0 , x1 , x] = Φ1[ x0 , x] − Φ1[ x0 , x1 ] x − x2 , Φ 3 [ x0 , x1 , x2 , x] = Φ 2 [ x0 , x1 , x] − Φ 2 [ x0 , x1 , x2 ] ⋮ x − xk −1 . Φ k [ x0 , x1 , ..., xk −1 , x] = Φ k −1[ x0 , x1 , ..., xk − 2 , x] − Φ k −1[ x0 , x1 , ..., xk − 2 , xk −1 ]
Ako ovde stavimo x = xk , dobićemo (3) Φ k [ x0 , x1 , ..., xk −1 , xk ] =
xk − xk −1 , Φ k −1[ x0 , x1 , ..., xk − 2 , xk ] − Φ k −1[ x0 , x1 , ..., xk − 2 , xk −1 ] k = 1, n .
Izraz Φ1[ x0 , x1 ] naziva se inverzna podeljena razlika prvog reda funkcije f (x) za vrednosti argumenta x0 i x1 ; izraz Φ 2 [ x0 , x1 , x2 ] naziva se inverzna podeljena razlika drugog reda funkcije f (x) za vrednosti argumenta x0 , x1 , x2 , ... ; izraz Φ n [ x0 , x1 , ..., xn ] naziva se inverzna podeljena razlika n–tog reda za vrednosti argumenta x0 , x1 , ..., xn . Inverzne podeljene razlike ćemo zapisivati u obliku sledeće tabele. x x0 x1 x2 x3 x4 ⋮ xn
f (x)
Φ1
Φ2
Φ3
...
Φn
f ( x0 ) f ( x1 ) Φ1[x0, x1] f ( x2 ) Φ1[x0, x2] Φ2[x0, x1, x2] f ( x3 ) Φ1[x0, x3] Φ2[x0, x1, x3] Φ3[x0, x1, x2, x3] f ( x4 ) Φ1[x0, x4] Φ2[x0, x1, x4] Φ3[x0, x1, x2, x4] ⋮ ⋮ ⋮ ⋮ ⋱ f ( xn ) Φ1[x0, xn] Φ2[x0, x1, xn] Φ3[x0, x1, x2, xn] Φn[x0, x1, …, xn–1, xn]
83
Primer 1. Napisati tablicu inverznih podeljenih razlika za funkciju zadatu tablično x 0 1 2 3 4 3 13 73 501 f (x) 1 2 7 34 209 Rešenje. x f (x) Φ1 Φ2 Φ3 Φn 0 1 3 1 2 2 13 7 2 3 7 3 73 34 13 3 4 34 13 4 501 209 73 21 4 5 ▲ 209 73 21 5 Inverzna podeljena razlika (3) je, očigledno, simetrična funkcija po vrednostima argumenta xk −1 i xk , tj. Φ k [ x0 , x1 , ..., xk −1 , xk ] = Φ[ x0 , x1 , ..., xk , xk −1 ] , a, uopšte govoreći, nije simetrična po ostalim vrednostima argumenta. Iz formula (2) dobijamo x − x0 = Φ1[ x0 , x] x − x0 = Φ 0 ( x0 ) + = x − x1 Φ1[ x0 , x1 ] + Φ 2 [ x0 , x1 , x] f ( x) = Φ 0 ( x) = Φ 0 ( x0 ) +
(4) = Φ 0 ( x0 ) +
+
x − x0 Φ1[ x0 , x1 ] +
= Φ 0 ( x0 ) +
x − x1
Φ 2 [ x0 , x1 , x2 ] +
x − x2 Φ 3 [ x0 , x1 , x2 , x] x − x0
Φ1[ x0 , x1 ] +
Φ 2 [ x0 , x1 , x2 ] +
Φ 3 [ x0 , x1 , x2 , x3 ] +
x − x1
⋱ +
. x − x2 x − xn −1
Φ n [ x0 , ..., xn −1 , xn ] +
x − xn Φ n +1[ x0 , ..., xn , x]
Izraz na desnoj strani jednakosti (4) nazvaćemo verižni racionalni izraz. Ako je brojilac x − xk jednog od parcijalnih razlomaka – jedne od alki veriga jednak nuli, onda je, naravno, taj razlomak jednak nuli i svi sledeći parcijalni razlomci su jednaki nuli. Prema tome, ako u (4) umesto x uvrstimo vrednosti 84
x0 , x1 , ..., xn , vrednost leve strane te jednakosti su f ( x0 ), f ( x1 ), ..., f ( xn ) . Zbog toga, ako na desnoj strani jednakosti (4) odbacimo poslednji parcijalni razlomak, dobićemo racionalnu funkciju koja se poklapa s funkcijom f (x) u tačkama: x0 , x1 , ..., xn Φ 0 ( x0 ) +
(5)
x − x0 Φ1[ x0 , x1 ] +
Φ 2 [ x0 , x1 , x2 ] +
x − x1
. x − x2
Φ 3[ x0 , x1 , x2 , x3 ] +
⋱
+
x − xn −1 Φ n [ x0 , ..., xn −1 , xn ]
Ako verižni racionalni izraz (5) sredimo svodeći ga na jednostavan racionalan izraz, dobićemo racionalnu funkciju oblika (1) za aproksimaciju funkcije f (x) .
Primer 2. Aproksimirati funkciju f (x) iz prvog primera racionalnom funkcijom. Rešenje. Koristeći dobijenu tablicu nalazimo x−0 9 x 2 + 73 x + 65 f ( x) ≈ R( x) = 1 + = 2 .▲ x −1 x + 32 x + 65 2+ x−2 3+ x−3 4+ 5 19. SPLAJN–INTERPOLACIJA Ako funkciju f (x) aproksimiramo interpolacionim polinomom Ln (x) stepena n, onda je učinjena greška Rn ( x) = f ( x) − Ln ( x) =
f ( n +1) (ξ ) Π n +1 ( x) , (n + 1)!
gde je ξ = ξ ( x) ∈ [ a, b] a Π n +1 ( x) = ( x − x0 )( x − x1 ) ⋯ ( x − xn ) . U čvorovima interpolacije xi ∈ [a, b] je Ln ( xi ) = f ( xi ) , i = 0, n . Da bi greška interpolacije bila manja, tj. da bi aproksimacija bila tačnija, nije dovoljno povećati broj čvorova interpolacije. S povećavanjem broja čvorova interpolacije, tj. s povećavanjem stepena interpolacionog polinoma povećava se broj računskih operacija, pa očekivano povećanje tačnosti se ne postiže zbog velike akumulacije grešaka zaokrugljivanja. Osim toga, za beskonačan niz interpolacionih polinoma važi ∞, lim Ln ( x) = g ( x), g ( x) ≠ f ( x), n →∞ f ( x), ako je f ( x) cela funkcija.
85
Jedan od načina povećanja tačnosti aproksimacije je tzv. splajn–interpolacija. Nestrogo govoreći, splajn–interpolacija se sastoji u konstruisanju interpolacionih polinoma ne visokog stepena na pododsečcima odsečka interpolacije [a, b]. Odreñenosti radi posmatrajmo aproksimaciju funkcije y = f (x ) na odsečku [0, 1]. Podelimo odsečak [0, 1] na delove – pododsečke [ x0 , x1 ] , [ x1 , x2 ] , ..., [ xn −1 , xn ] tačkama x0 = 0 < x1 < x2 < ⋯ < xn −1 < xn = 1 . Označimo ovu podelu sa ∆.
Definicija. Sledeću funkciju
(1)
P1m ( x) = a10 + a11 x + ⋯ + a1m x m , 0 ≤ x ≤ x1 , ⋮ m S ∆ ( f , x) = Pim ( x) = ai 0 + ai1 x + ⋯ + aim x m , xi −1 ≤ x ≤ xi , ⋮ Pnm ( x) = an 0 + an1 x + ⋯ + anm x m , xn −1 ≤ x ≤ 1,
koja zadovoljava uslove neprekidnosti izvoda zaključno do (m – 1)–vog reda u tačkama x1 , x2 , ..., xn −1 , tj. koja zadovoljava uslove (2)
Pim( k ) ( xi ) = Pi (+k1), m ( xi ) , k = 0, m − 1 , i = 1, n − 1 ,
nazivamo splajnom m–tog reda. Dakle, na svakom pododsečku [ xi −1 , xi ] funkciju f (x) aproksimiramo polinomom m–tog stepena, a u unutrašnjim tačkama podele x1 , x2 , ..., xn −1 zahteva se glatkost odreñenog reda. Kako odrediti nepoznate koeficijente aij ? Primetimo da u (1) imamo n(m + 1) nepoznatu aij ( i = 1, n , j = 0, m ). Na osnovu (2) imamo (n – 1) · m linearnih algebarskih jednačina. Kako je n(m + 1) – (n – 1) · m = n + m > 0, to je broj nepoznatih veći od broja jednačina. Ova neodreñenost se koristi za postavljanje nekih drugih, dodatnih uslova, na primer, može se zahtevati odreñena „bliskost“ funkcija S ∆m ( f , x) i f (x) . Razmotrimo prvo slučaj m = 1, tj. razmotrimo aproksimaciju funkcije f (x) linearnim splajnom S ∆1 ( f , x) . Broj nepoznatih je 2n. Dakle, treba konstruisati splajn S ∆1 ( f , x) koji se poklapa s funkcijom f (x) u čvorovima interpolacije x1 , x2 , ..., xn . Na taj način dobijamo sledeći sistem jednačina
Pi1 ( xi −1 ) = f ( xi −1 ), i = 1, n, Pi1 ( xi ) = f ( xi ), i = 1, n, odnosno 86
Pi1 ( xi −1 ) = ai 0 + ai1 xi −1 = f ( xi −1 ), i = 1, n,
(3)
Pi1 ( xi ) = ai 0 + ai1 xi = f ( xi ), i = 1, n. Iz sistema (3) nalazimo ai1 =
f ( xi ) − f ( xi −1 ) , xi − xi −1
ai 0 = f ( xi −1 ) − ai1 xi −1 , i = 1, n.
Dakle, P11 ( x) = a10 + a11 x, 0 ≤ x ≤ x1 , P ( x ) = a + a x, x ≤ x ≤ x , 20 21 1 2 S ∆1 ( f , x) = 21 (4) ⋮ Pn1 ( x) = an 0 + an1 x, xn −1 ≤ x ≤ 1. Očigledno, funkcija f (x) je aproksimirana izlomljenom linijom koja spaja
tačke ( xi , yi ) , i = 0, n . Linearni splajn S ∆1 ( f , x) se dobija i razmatranjem sledećeg varijacionog zadatka. Posmatrajmo skup S1 neprekidnih i deo po deo diferencijabilnih funkcija s (x) koje zadovoljavaju uslove 1
s ( xi ) = f ( xi ) , i = 0, n , I1 ( s ) = ∫ [ s′( x)]2 dx < ∞ . 0
Treba naći takvu funkciju s1 ( x) ∈ S1 za koju se dostiže (5)
inf I1 ( s ) . s∈S1
Ojlerova jednačina za posmatrani funkcional ima oblik s ′′( x) = 0 , što znači da je s1 ( x) linearna funkcija na svakom odsečku [ xi −1 , xi ] i, prema tome, s1 ( x) = S ∆1 ( f , x) .
Primer 1. Konstruisati linearni splajn S∆1 ( f , x) za funkciju zadatu tablicom x f (x)
0 0.00
0.25 0.25
0.75 2.25
1 4.00
Rešenje. Splajn je oblika S ∆1 (
P11 ( x) = a10 + a11 x, 0 ≤ x ≤ 0.25, f , x) = P21 ( x) = a20 + a21 x, 0.25 ≤ x ≤ 0.75, P ( x) = a + a x, 0.75 ≤ x ≤ 1. 30 31 31
Koeficijente aij , i = 1, 3 , j = 0, 1 , nalazimo iz sledećeg sistema jednačina 87
a10 + a11 ⋅ 0
= 0,
a10 + a11 ⋅ 0.25 = 0.25, a20 + a11 ⋅ 0.25 = 0.25, a20 + a21 ⋅ 0.75 = 2.25, a30 + a31 ⋅ 0.75 = 2.25, a30 + a31 ⋅ 1
= 4.00.
Odavde dobijamo: a10 = 0 , a11 = 1.00 , a20 = −0.75 , a21 = 4.00 , a30 = −3.00 , a31 = 7.00 . Dakle, S ∆1 (
0 ≤ x ≤ 0.25, 1.00 x, f , x) = −0.75 + 4.00 x, 0.25 ≤ x ≤ 0.75, −3.00 + 7.00 x, 0.75 ≤ x ≤ 1. ▲
Napomena. Uzimanje odsečka [0, 1] nije nikakvo ograničenje. Primer 2. Na odsečku [1, 4] aproksimirati funkciju y = ln x linearnim splajnom deleći odsečak na dva pododsečka dužine 1.5. Izračunajmo vrednosti funkcije u čvorovima x0 = 1 , x1 = 2.5 , x3 = 4 . x ln x
1 0.000000
2.5 0.916291
4 1.386294
Rešenje. Splajn je oblika
P ( x) = a10 + a11 x, 1 ≤ x ≤ 2.5, S ∆1 (ln x, x) = 11 P21 ( x) = a20 + a21 x, 2.5 ≤ x ≤ 4. Odgovarajući sistem jednačina je a10 + a11 ⋅1 = 0.000000, 5 = 0.916291, 2 5 a20 + a21 ⋅ = 0.916291, 2 a20 + a22 ⋅ 4 = 1.386294. a10 + a11 ⋅
Odavde nalazimo: a10 = – 0.610861, a11 = 0.610861, a20 = 0.132953, a21 = 0.313335. Dakle, −0.610861 + 0.610861x, 1 ≤ x ≤ 2.5, S ∆1 (ln x, x) = 0.132953 + 0.313335 x, 2.5 ≤ x ≤ 4. ▲
88
Najčešće se primenjuje kubni splajn – dovoljno dobro aproksimira funkciju a nije komplikovan. Dakle, razmotrimo aproksimaciju funkcije f ( x) kubnim splajnom
(6)
P13 ( x) = a10 + a11 x + a12 x 2 + a13 x3 , 0 ≤ x ≤ x1 , 2 3 P ( x) = a20 + a21 x + a22 x + a33 x , x1 ≤ x ≤ x2 , 3 S ∆ ( f , x) = 23 ⋮ P ( x) = a + a x + a x 2 + a x3 , x ≤ x ≤ 1. n0 n1 n2 n3 n −1 n3
Broj nepoznatih koeficijenata aij u (6) je, očigledno, 4n. U čvorovima interpolacije moraju biti ispunjeni uslovi: (7)
Pi 3 ( xi −1 ) = f ( xi −1 ), Pi 3 ( xi ) = f ( xi ), i = 1, n ,
što daje 2n jednačina. Zahteva se neprekidnost prvog i drugog izvoda, tj. zahteva se glatkost linije uključujući i unutrašnje čvorove, dakle, zahteva se (8)
Pi′3 ( xi ) = Pi′+1,3 ( xi ), Pi′′3 ( xi ) = Pi′′+1,3 ( xi ), i = 1, n − 1,
što daje 2n – 2 jednačine. Sada ukupno imamo 2n + 2n – 2 = 4n – 2 jednačine. Još dva uslova – dve jednačine dobijamo iz prirodnog zahteva da krivina grafika u krajnjim čvorovima bude jednaka nuli, tj. da bude (9)
P13′′ ( x0 ) = 0, Pn′′3 ( xn ) = 0 .
Očigledno, (7), (8) i (9) odreñuju sistem od 4n jednačina s 4n nepoznatih.
Napomena. Umesto uslova (9) mogu se postavljati i drugačiji uslovi. Kubni splajn S ∆3 ( f , x) se dobija razmatranjem sledećeg varijacionog zadatka. Posmatrajmo skup S 2 neprekidnih i dva puta deo po deo neprekidno diferencijabilnih funkcija s ( x) koje zadovoljavaju uslove 1
s ( xi ) = f ( xi ), i = 0, n, I 2 ( s ) = ∫ [ s ′′( x)]2 dx < ∞ . 0
Treba naći takvu funkciju s2 ( x) ∈ S 2 za koju se dostiže inf I 2 ( s ) .
s∈S2
Rešenje postavljenog zadatka je upravo kubni splajn koji zadovoljava uslove
P13′′ ( x0 ) = 0, Pn′′3 ( xn ) = 0 .
89
Primer 3. Konstruisati kubni splajn S ∆3 ( f , x) za funkciju zadatu tablicom x f (x)
0 1.000
0.5 3.375
1 16.000
Rešenje. Splajn je oblika S ∆3 (
P13 ( x) = a10 + a11 x + a12 x 2 + a13 x3 , 0 ≤ x ≤ 0.5, f , x) = 2 3 P23 ( x) = a20 + a21 x + a22 x + a23 x , 0.5 ≤ x ≤ 1.
Odgovarajući sistem jednačina je P13 (0) = 1.000 : a10 + a11 ⋅ 0 + a12 ⋅ 02 + a13 ⋅ 03 = 1.000, P13 (0.5) = 3.375 : a10 + a11 ⋅ 0.5 + a12 ⋅ 0.52 + a13 ⋅ 0.53 = 3.375, P23 (0.5) = 3.375 : a20 + a21 ⋅ 0.5 + a22 ⋅ 0.52 + a23 ⋅ 0.53 = 3.375, P23 (1) = 16.000 : a20 + a21 ⋅ 1 + a22 ⋅ 12 + a23 ⋅ 13 = 16.000, P13′ (0.5) = P23′ (0.5) : a11 + 2 ⋅ a12 ⋅ 0.5 + 3a13 ⋅ 0.52 = 021 + 2 ⋅ a232 ⋅ 0.5 + 3a23 ⋅ 0.52 , P13′′ (0.5) = P23′′ (0.5) : 2 ⋅ a12 + 6a13 ⋅ 0.5 = 2 ⋅ a22 + 6a23 ⋅ 0.5, P13′′ (0) = 0 : 2 ⋅ a12 + 6a13 ⋅ 0 = 0, P23′′ (1) = 0 : 2 ⋅ a22 + 6a23 ⋅ 1 = 0.
Rešavanjem ovog sistema jednačina dobijamo: a 10 = 1, a11 = −
6 , 19
385 113 579 1155 385 , a20 = , a21 = − , a22 = , a23 = − . 19 19 19 19 19 Traženi splajn je 385 3 6 1− x + x , 0 ≤ x ≤ 0.5, 19 19 S ∆3 ( f , x) = 113 − 579 x + 1155 x 2 − 385 x3 , 0.5 ≤ x ≤ 1. ▲ 19 19 19 19
a12 = 0 , a13 =
Primer 4. Dve paralelne željezničke pruge treba povezati spojnicom (vidi sliku) tako da u tačkama spajanja A(0, 0) i B(4, 2) i tački P(2, 1) kroz koju treba da proñe spojnica ne bude lomova, tj. da krivina bude neprekidna. Izvršiti spajanje koristeći kvadratni splajn. B(4,2)
P(2,1)
A(0,0)
Sl. 3 90
Rešenje. Splajn je oblika 2 P ( x) = a10 + a11 x + a12 x , 0 ≤ x ≤ 2, S ∆2 ( f , x) = 12 2 P22 ( x) = a20 + a21 x + a22 x , 2 ≤ x ≤ 4.
Odgovarajući sistem jednačina je P12 (0) = 0 : a10 +
a11 ⋅ 0 + a12 ⋅ 02
= 0,
P12 (2) = 1:
a10 +
a11 ⋅ 2 + a12 ⋅ 22
= 1,
P22 (2) = 1:
a20 + a21 ⋅ 2 + a22 ⋅ 2
= 1,
2
P22 (4) = 2 : a20 + a21 ⋅ 4 + a22 ⋅ 42 P12′ (0) = 0 : a11 + 2a12 ⋅ 0 P22′ (4) = 0 : a21 + 2a22 ⋅ 4
Odavde dobijamo: a10 = 0 , a11 = 0 , a12 =
= 2, = 0, = 0.
1 1 , a20 = −2 , a21 = 2 , a22 = − 4 4
Dakle, 1 2 0 ≤ x ≤ 2, 4 x , 2 S∆ ( f , x) = −2 + 2 x − 1 x 2 , 2 ≤ x ≤ 4. 4 U tački P(2, 1) treba da bude P12′ (2) = P22′ (2) . Zaista,
′ 1 2 x 4 = 1, x=2
′ 1 2 − 2 + 2 x − x =1. 4 x = 2
Napomenimo da, saglasno definiciji splajna, uslov P12′ (2) = P22′ (2) treba uzeti prilikom formiranja odgovarajućeg sistema jednačina. Meñutim, iz praktičnih razloga ovde smo uzeli uslove: P12′ (0) = 0 i P22′ (4) = 0 . ▲
20. INTERPOLACIJA FUNKCIJA VIŠE NEZAVISNIH PROMENLJIVIH Interpolaciju funkcija više nezavisnih promenljivih izložićemo na primeru interpolacije funkcije dveju nezavisnih promenljivih z = f ( x, y ) . Neka je u oblasti [a, b] × [c, d] zadata mreža ω = {( xi , y j ); a = x0 < x1 < … < xn = b, c = y0 < y1 < … < ym = d } (1) i na njoj vrednosti funkcije z = f ( x, y ) : zij = f ( xi , y j ) , i = 0, n , j = 0, m . Radi preglednosti sastavimo sledeću tablicu (tablicu s dva ulaza: x i y).
91
(2)
x y y0 y1 y2 ⋮ yj ⋮ ym
x0
x1
x2
...
xi
...
xn
z00 z01 z02 ⋮ z0 j ⋮ z0 m
z10 z11 z12 ⋮ z1 j ⋮ z1 m
z20 z21 z22 ⋮ z2 j ⋮ z2 m
... ... ... ⋮⋮⋮ ... ⋮⋮⋮ ...
z i0 z i1 z i2 ⋮ zij ⋮ zim
... ... ... ⋮⋮⋮ ... ⋮⋮⋮ ...
zn 0 zn 1 zn 2 ⋮ znj ⋮ znm
Zadatak interpolacije se sastoji u sledećem: a) Treba konstruisati takvu funkciju F ( x, y; a00 , a10 , a01 , ..., anm ) koja se poklapa sa funkcijom f ( x, y ) u tačkama ( xi , y j ) i = 0, n , j = 0, m – čvorovima mreže (1), tj. (3)
F ( xi , y j ; a00 , a10 , a01 , ..., anm ) = f ( xi , y j ) , i = 0, n , j = 0, m .
b) Nalaženju vrednosti funkcije z = f ( x, y ) za x = x , x ≠ xi , y = y , y ≠ y j , tj. nalaženju vrednosti z = f ( x , y ) . Zadatak pod a) može imati jedinstveno rešenje, imati konačno mnogo ili beskonačno mnogo rešenja ili nemati rešenje. Zbog toga se postavljaju dodatni uslovi. Prirodno je zahtevati da funkcija F u ostalim tačkama oblasti [a, b] × [c, d] dobro aproksimira funkciju f, dakle da bude | F ( x, y; a00 , a10 , a01 , ..., anm ) − f ( x, y ) | < ε , (4) gde je ε > 0 dopustiva greška aproksimacije. Ovde ćemo detaljnije razmatrati zadatak pod b). Jedan od načina rešavanja ovog zadatka je višestruka uzastopna primena interpolacije funkcija jedne nezavisne promenljive. Pretpostavimo da je xi = x0 + ihx , hx = xi +1 − xi = ∆xi = const. i y j = y0 + jhy , hy = y j +1 − y j = ∆y j = const.
tj. pretpostavimo da su čvorovi „jednako razmaknuti“. Neka je y = y j , j = 0, m . Primenom interpolacije funkcije jedne nezavisne promenljive na
funkciju f j ( x) = f ( x, y j ) nalazimo vrednost f j ( x ) = f ( x , y j ) , j = 0, m , pa, zatim, na funkciju f i ( y ) = f ( x , y ) nalazimo z = f ( x , y ) . Redosled interpolacije može biti i obrnut – prvo po y pa zatim po x.
92
Primer 1. Funkcija z = f ( x, y ) je zadata tablicom x y 0.00 0.50 1.00
0.00
0.25
0.50
0.75
1.00
0.123000 0.373000 1.123000
0.138625 0.451125 1.263625
0.248000 0.748000 1.748000
0.544875 1.357375 2.669875
1.123000 2.373000 4.123000
Izračunati f (0.2, 0.3) . Rešenje. Redom računamo primenjujući prvu Njutnovu interpolacionu formulu s konačnim razlikama. x 0.00
f ( x , 0.00) 0.123000
0.25
0.138625
∆f
∆ 2f
∆ 3f
∆ 4f
0.015625 0.093750 109375 0.50
0.248000
0.75
0.544875
1.00
1.123000
0.093750 0.187500
296875
0.000000
u=
0.093750
x − x0 0.2 − 0.00 = = 0.8 h 0.25
0.281250 578125
f (0.2, 0.00) = 0.123000 +
+ x 0.00
0.015625 0.093750 ⋅ 0.8 + ⋅ 0.8 ⋅ (−0.2) + 1! 2!
0.09375 ⋅ 0.8 ⋅ (−0.2) ⋅ (−1.2) = 0.131000. 3!
f ( x, 0.50) 0.373000
∆f
∆2f
∆3f
∆4f
0.078125 0.25
0.451125
0.218750 296875
0.50
0.748000
0.093750 312500
609375 0.75
1.357375
0.000000 93750
406250 1.015625
1.00
2.373000
f (0.2, 0.50) = 0.373000 +
+
0.078125 0.218750 ⋅ 0.8 + ⋅ 0.8 ⋅ (−0.2) + 1! 2!
0.093750 ⋅ 0.8 ⋅ ( −0.2) ⋅ ( −1.2) = 0.421000. 3!
93
x 0.00
f ( x, 1.00) 1.123000
0.25
1.263625
∆2f
∆f
∆3f
∆4f
0.140625 0.343750 484375 0.50
1.748000
0.093750 437500
0.000000
921875 0.75
2.669875
93750 531250
1.453125 1.00
4.123000
f (0.2,1.00) = 1.123000 +
+
0.140625 0.343750 ⋅ 0.8 + ⋅ 0.8 ⋅ ( −0.2) + 1! 2!
0.093750 ⋅ 0.8 ⋅ (−0.2) ⋅ (−1.2) = 1.211000. 3!
y 0.00
f (0.2, y ) 0.131000
0.50
0.421000
1.00
1.211000
∆f
∆2f
0.290000 0.500000
u=
0.790000
f (0.2, 0.3) = 0.131000 +
y − y0 0.3 − 0.00 = = 0.6 h 0.50
0.290000 0.500000 ⋅ 0.6 + ⋅ 0.6 ⋅ ( −0.4) = 0.245000 . ▲ 1! 2!
Drugi način rešavanja postavljenog zadatka je primena odgovarajućih interpolacionih formula za funkcije dveju nezavisnih promenljivih. Radi toga je potrebno uvesti konačne razlike: ∆ x zij = zi +1, j − zij , ∆ y zij = zi , j +1 − zij
su konačne razlike prvog reda. Dalje imamo ∆ k +l zij = ∆ kxk+yl l zij = ∆ kxk ( ∆ lyl zij ) = ∆ lyl (∆ kxk zij )
gde je ∆ 0 + 0 zij = zij . Na primer,
∆ 2+1 zij = ∆ 2x2 (∆ y zij ) = ∆ 2x2 ( zi , j +1 − zij ) = = ( zi + 2, j +1 − 2 zi +1, j +1 + zi , j +1 ) − ( zi + 2, j − 2 zi +1, j + zij ). Interpolaciona formula, analogna prvoj Njutnovoj interpolacionoj formuli za funkcije jedne nezavisne promenljive, je oblika
94
P( x, y ) = a00 + a10 ( x − x0 ) + a01 ( y − y0 ) + a20 ( x − x0 )( x − x1 ) +
(5)
+ a11 ( x − x0 )( y − y0 ) + a02 ( y − y0 )( y − y1 ) + + a30 ( x − x0 )( x − x1 )( x − x2 ) + a21 ( x − x0 )( x − x1 )( y − y0 ) + + a12 ( x − x0 )( y − y0 )( y − y1 ) + a03 ( y − y0 )( y − y1 )( y − y2 ) + ⋯ Koeficijente u (5) odreñujemo iz uslova
(6)
P( xi , y j ) = f ( xi , y j ) , i = 0, 1, 2,... ; j = 0,1, 2,...
Koristeći tablicu (2) redom dobijamo: a00 = z00 , a10 =
a20 =
∆ 0+1 z00 ∆1+ 0 z00 , a01 = hy hx
∆1+1 z00 1 ∆ 0 + 2 z00 1 ∆ 2+ 0 z00 , a = , a , ... = 02 11 hx hy 2! hy2 2! hx2
Interpolaciona formula glasi: P ( x, y ) = z00 +
(7)
∆ 0+1 z00 1 ∆1+ 0 z00 ( x − x0 ) + ( y − y0 ) + 1! hx hy
+
∆1+1 z00 1 ∆ 2+ 0 z00 ( )( ) 2 ( x − x0 )( y − y0 ) + − − + x x x x 0 1 2! hx2 hx hy
+
1 ∆ 3+ 0 z00 ∆ 0+ 2 z00 ( y − y )( y − y ) ( x − x0 )( x − x1 )( x − x2 ) + 0 1 + 3 hy2 3! h2
+3 +
∆ 2+1 z00 ∆1+ 2 z00 y − y + + ( x − x )( x − x )( ) 3 0 1 0 hx hu2 hx2 hy
∆ 0+ 3 z00 ( y − y0 )( y − y1 )( y − y2 ) + ⋯ 3 hy
Ako uvedemo oznake:
y − y0 x − x0 = q , onda možemo zapisati: = p, hx hy
1 1 p∆1+ 0 z00 + q∆ 0+1 z00 + p ( p − 1)∆ 2+ 0 z00 + 1! 2! + 2 pq∆1+1 z00 + q (q − 1)∆ 0+ 2 z00 + 1 + p ( p − 1)( p − 2)∆ 3+ 0 z00 + 3 p ( p − 1) q∆ 2+1 z00 + 3! +3 pq (q − 1)∆1+ 2 z00 + q (q − 1)( q − 2)∆ 0+3 z00 + ⋯
P ( x0 + hx p, y0 + hy q ) = z00 +
(7')
95
Primer 2. Koristeći interpolacionu formulu (7), odnosno (7'), izračunati f (0.2, 1.1) ako je funkcija f ( x, y ) zadata tablicom x y 1.0 1.2 1.4
0.0
0.5
1.0
1.000 1.440 1.960
1.750 2.290 2.910
3.000 3.640 4.360
Rešenje. Označimo: x0 = 0.0 i y0 = 1.0 . Napravimo tablice konačnih razlika: x 0.0
f ( x, 1.0) 1.000
0.5
1.750
∆1+0zi0
∆2+0zi0
x 0.0
f ( x, 1.2) 1.440
0.500
0.5
2.290
0.750
3.000
x 0.0
f ( x, 1.4) 1.960
0.5
2.910
∆1+0zi2
1.0
3.640
∆2+0zi2
y 1.0
f (0.0, y ) 1.000
0.500
1.2
1.440
y 1.0
f (0.5, y ) 1.750
1.2
2.290
1.4
2.910
∆0+1z1j
∆0+1z0j
∆0+2z0j
0.440
1.450 4.360
0.500 1.350
0.950
1.0
∆2+0zi1
0.850
1.250 1.0
∆1+0zi0
0.080 0.520
1.4
1.960
∆0+2z1j
y 1.0
f (1.0, y ) 3.000
0.080
1.2
3.640
1.4
4.360
0.540
∆0+1z2j
∆0+2z2j
0.640
0.620
0.080 0.720
„Mešovita“ razlika je: ∆1+1 z00 = ∆1+ 0 z01 − ∆1+ 0 z00 = 0.850 − 0.750 = 0.100, = ∆ 0+1 z10 − ∆ 0+1 z00 = 0.540 − 0.440 = 0.100.
Kako je p =
y − y0 1.1 − 1.0 x − x0 0.2 − 0.0 = = 0.5 , to je = = 0.4 i q = hx 0.5 hy 0.2
f (0.2,1.1) ≈ P (0.2,1.1) = 1.000 + 0.4 ⋅ 0.750 + 0.5 ⋅ 0.440 + 1 + [0.4 ⋅ (−0.6) ⋅ 0.500 + 2 ⋅ 0.4 ⋅ 0.5 ⋅ 0.100 + 2 + 0.5(−0.5) ⋅ 0.080] = 1.470.
>
96
21. NAPOMENE O TAČNOSTI INTERPOLACIJE Formulisani zadatak interpolacije nekada se naziva interpolacija u užem smislu. Meñutim, u numeričkoj praksi i primenama u drugim naukama i tehnici često se sreće zadatak koji se sastoji u tome da se nañe (ili nañu) vrednost (ili vrednosti) neke funkcije f ( x) ali za tačku (ili tačke) koja je van segmenta [a, b]. Takav zadatak, kao što smo rekli, zove se ekstrapolacija. Metoda rešavanja ovog zadatka je potpuno ista kao kod rešavanja zadatka interpolacije. U principu to se realizuje korišćenjem prve (oko x0 ) i druge (oko xn ) Njutnove interpolacione formule. Meñutim, ukoliko se udaljavamo od krajeva tablice, tačnost se smanjuje. Navedimo jedan primer.
Primer 1. Neka treba interpolirati funkciju f ( x) i neka su čvorovi interpolacije x0 = 0 , x1 = 1 , x2 = 2 , x3 = 3 i x4 = 4 . Analizirajmo grešku f (5) (ξ ) x( x − 1)( x − 2)( x − 3)( x − 4) 5! Ako je | f (5) ( x) | ≤ M 5 za x ∈ [0, 4] , onda greška zavisi od polinoma R4 ( x) =
Π 5 ( x) = x( x − 1)( x − 2)( x − 3)( x − 4) .
Ovaj polinom je prikazan na sl. 4. Očigledno je da je maksimalna greška u intervalu (x1, x3) manja nego u intervalima (x0, x1) i (x3, x4). Takoñe, vidi se da Π 5 ( x) vrlo brzo raste za x > 4 i x < 0; na primer, za x = 4.5 je Π 5 (4.5) = 29.53 a za x = 5 je Π 5 (5) = 120 ; za x = −0.5 imamo da je Π 5 ( −0.5) = –29.53125. y
Π5(x)
0
1
2
3
4
x
Sl. 4 97
Ako je zadata funkcija f ( x) , odsečak interpolacije [a, b] koji sadrži čvorove interpolacije i stepen n interpolacionog polinoma Pn ( x) , onda se greška interpolacije Rn ( x) = f ( x) − Pn ( x) može zapisati u sledećem obliku Rn ( x) = K ⋅ Π n +1 ( x) ,
gde je Π n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) . Dakle, greška u ovim zadatim uslovima zavisi od izbora čvorova interpolacije. Sada se postavlja sledeći zadatak: Kako treba izabrati čvorove interpolacije xi , i = 0, n , da bi greška interpolacije bila minimalna? Pokazano je da je za čvorove interpolacije najbolje uzeti nule Čebišovljevog (П. Л. Чебышёв, 1821–1894) polinoma. Čebišovljev polinom Tn ( x) se definiše na sledeći način: T0 ( x) = 1 , T1 ( x) = x , Tn +1 ( x) = 2 x ⋅ Tn ( x) − Tn −1 ( x) , n = 1, 2,3,...
Navedimo nekoliko prvih Čebišovljevih polinoma: T0 ( x) = 1, T1 ( x) = x, T2 ( x) = 2 x 2 − 1, T3 ( x) = 4 x3 − 3 x, T4 ( x) = 8 x 4 − 8 x 2 + 1, T5 ( x) = 16 x5 − 20 x3 + 5 x, ...
Može se primetiti sledeće: 1) koeficijent uz x n polinoma Tn ( x) je jednak 2n−1 , n ≥ 1 ; 2) T2 n ( x) su parne funkcije; 3) T2 n +1 ( x) su neparne funkcije; 4) za | x | ≤ 1 je | Tn ( x) | ≤ 1 . Dokažimo osobinu 4). Ako u trigonometrijski identitet cos(( n + 1) X ) = 2 ⋅ cos X ⋅ cos nX − cos((n − 1) X ) stavimo X = arccos x , onda ćemo dobiti cos(( n + 1) arccos x) = 2 ⋅ x ⋅ cos( n ⋅ arccos x) − cos((n − 1) arccos x) , pa možemo zaključiti da funkcija cos(n ⋅ arccos x) zadovoljava istu diferencnu jednačinu kao i Tn ( x) . Kako je još i: cos(0 ⋅ arccos x) = 1 ≡ T0 ( x) , cos(1 ⋅ arccos x) = x ≡ T1 ( x)
to je Tn ( x) = cos(n ⋅ arccos x) , n = 0, 1, 2, ...
Sada je jednostavno zaključiti da važi osobina 4). 98
Rekurentna relacija, diferencna jednačina, Tn +1 ( x) = 2 x ⋅ Tn ( x) − Tn −1 ( x) , n = 0, 1, 2, ... ima karakterističnu jednačinu λ 2 = 2 xλ − 1 , a odavde je
λ1,2 = x ± x 2 − 1 .
Za | x | ≠ 1 imamo da je λ1 ≠ λ 2 , pa je opšte rešenje diferencne jednačine Tn ( x) = C1 ⋅ λ1n + C2 ⋅ λ n2 , n = 0, 1, 2, ... , gde su C1 i C2 proizvoljne konstante. Iz početnih uslova T0 ( x) = 1 i T1 ( x) = x 1 nalazimo C1 = C2 = , pa je 2 n n 1 Tn ( x) = x + x 2 − 1 + x − x 2 − 1 , n = 0, 1, 2, ... , 2 što je još jedan mogući način zadavanja Čebišovljevih polinoma. Iz jednačine Tn ( x) ≡ cos( n ⋅ arccos x) = 0
) (
(
)
dobijamo nule:
2k + 1 π , k = 0,1, ..., n − 1 . 2n Tačke ekstremuma na segmentu [–1, 1] su one tačke za koje je | Tn ( x) | = 1 , dakle: k x( k ) = cos π , k = 0, n n i pri tome je Tn ( x( k ) ) = cos kπ = ( −1) k . xk = cos
Polinom Tn ( x) = 21− n ⋅ Tn ( x) = x n + ⋯ za x ∈ [−1, 1] najmanje odstupa od nule.
Teorema. Ako je Pn ( x) = x n + ⋯ , onda je max | Pn ( x)| ≥ max | Tn ( x)| = 21− n , n ≥ 1 .
x∈[ −1, 1]
x∈[ −1, 1]
Dokaz. Pretpostavimo suprotno, tj. pretpostavimo da je max | Pn ( x)| < max |Tn ( x)| = 21− n , x ∈ [−1,1] .
Posmatrajmo razliku Q( x) = Tn ( x) − Pn ( x) ;
99
očigledno je stepen polinoma Q( x) najviše jednak n – 1 i pri tome je sign(Tn ( x( k ) ) − Pn ( x( k ) )) = sign(( −1) k ⋅ 21− n − Pn ( x( k ) )) = ( −1) k , k = 0, n jer je Pn ( x( k ) ) < 21− n za svako k. Na taj način imamo da polinom Q( x) izmeñu svake dve uzastopne tačke x( k ) i x( k +1) menja znak, odnosno, izmeñu x( k ) i x( k +1) ima bar jednu nulu. Dakle, polinom Q ima bar n nula, a to je protivu-
rečno, jer polinom Q ima najviše n – 1 nulu. Drugim rečima, mora biti max | Pn ( x)| ≥ max | Tn ( x)| = 21− n , x ∈ [−1,1] .
Na taj način zaključujemo sledeće: od svih polinoma n–tog stepena koji imaju uz x n koeficijent 1 najmanje odstupa od nule na segmentu [–1, 1] Čebišovljev polinom Tn ( x) . ■ Ako posmatramo odsečak [a, b], onda je odgovarajući polinom n
2 x − (b + a ) 2 n Tn = x +⋯ b−a b−a
i n
b − a 1− n 2 x − (b + a ) n Tn[ a , b ] ( x) = ⋅ 2 ⋅ Tn = x +⋯ b−a 2
Dakle, važi max | Pn ( x)| ≥ max | Tn[ a , b ] ( x)| = (b − a ) n ⋅ 21− 2 n ,
x∈[ a , b ]
x∈[ a , b ]
gde je Pn ( x) = x + ⋯ proizvoljan polinom. n
Nule polinoma Tn[ a , b ] ( x) su
xk =
b+a b−a 2k + 1 + ⋅ cos π , k = 0, n − 1 . 2 2 2n
Greška interpolacije je | Rn ( x)| = | f ( x) − Pn ( x)| ≤
gde
100
je
M n+1 b−a ⋅ 2 ( n + 1)! 4
n +1
M n +1 = max | f ( n +1) ( x) | . x∈[ a , b ]
III NUMERIČKO DIFERENCIRANJE I NUMERIČKA INTEGRACIJA
0.
UVODNE NAPOMENE
Diferenciranje i integracija su vrlo česti zadaci matematičke analize. Meñutim, u mnogim praktičnim zadacima funkcija y = f ( x) je zadata tablično ili je analitički izraz f ( x) jako komplikovan, pa je nalaženje izvoda nemoguće ili vrlo teško. Slično je i u slučaju nalaženja integrala, a poznato je da postoje i takve elementarne funkcije f ( x) čija primitivna funkcija F ( x) nije 2 sin x elementarna funkcija. Na primer, e − x , , ... Osim toga, nije redak slučaj da x u izrazu f ( x) figurišu približni brojevi – podaci dobijeni na eksperimentalan način, pa tačno izračunavanje izvoda i integrala nije moguće. Zbog svega ovoga pribegava se metodama za približno diferenciranje i približnu integraciju.
1.
NUMERIČKO DIFERENCIRANJE
Jedan od mogućih načina rešavanja zadatka numeričkog diferenciranja sastoji se u sledećem. Na uočenom odsečku [a, b] funkcija f ( x) se zameni, aproksimira interpolacionim polinomom Pn ( x) , a zatim se stavi da je (1)
f '( x) ≈ Pn′( x) , a ≤ x ≤ b .
Na analogan način se postupa i u slučaju nalaženja izvoda viših redova. Ako je funkcija f ( x) dovoljno glatka i ako su rastojanja izmeñu čvorova dovoljno mala, može se očekivati da se f ′( x) i Pn′( x) ne razlikuju mnogo na odsečku [a, b]. Ako je greška interpolacionog polinoma Pn ( x) jednaka (2)
Rn ( x) = f ( x) − Pn ( x) ,
onda će greška diferenciranja biti (3) rn ( x) = Rn′ ( x) = f ′( x) − Pn′( x) . Neka je funkcija y = f ( x) zadata na skupu ekvidistantnih tačaka xi (i = 0, n) odsečka [a, b], tj. neka su date vrednosti funkcije yi = f ( xi ) (i = 0, n) . Za nalaženje približnih vrednosti izvoda: y ′ = f ′( x) , y ′′ = f ′′( x) ,... na uočenom odsečku [a, b] najpre funkciju y = f ( x) zamenjujemo, aproksimiramo odgovarajućim interpolacionim polinomom. Neka je to, primera radi, prvi Njutnov interpolacioni polinom
101
y = y0 +
∆y0 ∆ 2 y0 ∆ 3 y0 x − x0 u+ u (u − 1) + u (u − 1)(u − 2) + ... , u = h 1! 2! 3!
Kako je y ′( x) =
dy dy du 1 dy = ⋅ = ⋅ , dx du dx h du
to će biti y ′( x) =
(4) +
∆ 2 y0 ∆ 3 y0 1 (2u − 1) + (3u 2 − 6u + 2) + ∆y0 + h 2 6 ∆ 4 y0 (2u 3 − 9u 2 + 11u − 3) + … . 12
Dalje je y ′′( x) =
d ( y ′) d ( y ′) du 1 d ( y ′) , = ⋅ = ⋅ dx du dx h du
pa se iz (4) dobija (5)
y ′′( x) =
∆ 4 y0 1 2 3 y y ( u 1) (6u 2 − 18u + 11) + ... . ∆ + ∆ − + 0 0 2 12 h
Na analogan način se mogu približno izračunati izvodi proizvoljnog reda funkcije y = f ( x) . Postupak za približno nalaženje vrednosti izvoda korišćenjem drugog Njutnovog interpolacionog polinoma je identičan opisanom, a što se tiče Lagranževog interpolacionog polinoma izvodi se nalaze direktno.
Primer 1. Funkcija y = f ( x) je zadata tablicom x 0.40 0.45 0.50 0.55 0.60 y 1.58365 1.68662 1.79744 1.91650 2.04424 Izračunati: a) f '(0.40) i f ''(0.40) ; b) f '(0.42) ; c) f '(0.59) . Rešenje. Tablica konačnih razlika je x y 0.40 1.58365
∆y
∆2y
∆3y
∆4y
10297 0.45 1.68662
785 11082
0.50 1.79744
39 824
11906 0.55 1.91650
–3 36
860 12774
0.60 2.04424 a) u = ( x − x0 )/ h = (0.40 − 0.40)/0.05 = 0 ; primenom prve Njutnove interpolacione formule dobijamo: 102
1 0.00785 0.00039 −0.00003 0.10297 − + − = 1.98365 ; 0.05 2 3 4 1 11 f ''(0.40) = 0.00785 − 0.00039 + (−0.00003) = 2.97300 . 12 0.052
f '(0.40) =
b) u = ( x − x0 ) / h = (0.42 − 0.40) / 0.05 = 0.4 , pa primenom prve Njutnove interpolacione formule dobijamo: 1 0.00785 0.00039 0.10297 + (2 ⋅ 0.4 − 1) + (3 ⋅ 0.42 − 0.05 2 6 −0.00003 −6 ⋅ 0.4 + 2) + (2 ⋅ 0.43 − 9 ⋅ 0.42 + 11 ⋅ 0.4 − 3) = 2.04380 . 12
f '(0.42) =
c) Ovde koristimo drugu Njutnovu interpolacionu formulu: y '( x) =
+
∆ 2 yn − 2 ∆ 3 yn − 3 1 (2v + 1) + (3v 2 + 6v + 2) + ∆yn −1 + h 2 6
∆ 4 yn − 4 x − xn . (2v3 + 9v 2 + 11v + 3) + ⋯ , v = h 12
Kako je u konkretnom slučaju v = (0.59 − 0.60) / 0.05 = −0.2 , to je f '(0.59) =
1 0.00860 0.00036 0.12774 + (2 ⋅ (−0.2) + 1) + (3 ⋅ (−0.2) 2 + 0.05 2 6
+ 6 ⋅ (−0.2) + 2) +
−0.00003 (2 ⋅ (−0.2)3 + 9 ⋅ (−0.2) 2 + 11 ⋅ (−0.2) + 3) = 12
= 2.60745.
Kod primene formula za numeričko diferenciranje susrećemo se s dva oprečna zahteva: da bi greška aproksimacije funkcije y = f ( x) interpolacionim polinomom Pn ( x) bila manja, korak h treba smanjiti, a smanjenje koraka h dovodi do povećanja uticaja grešaka polaznih podataka i grešaka zaokrugljivanja (zbog deljenja malom vrednošću h). Zbog toga se opravdano postavlja pitanje izbora optimalne vrednosti h0 koraka h. Razmotrimo ovo pitanje na jednom primeru.
Primer 2. Ako su vrednosti
yi = f ( xi ) funkcije
y = f ( x) zadate s
tačnošću ε i (i = 0, n) i ako je f ( x) ∈ C [ x0 , xn ] , pri čemu je ispunjen uslov | f ′′( x)| ≤ M 2 < ∞ , naći optimalnu vrednost h0 koraka h za numeričko diferenciranje pomoću formule 2
103
f '( x0 ) ≈
∆y0 f ( x1 ) − f ( x0 ) = . h h
Rešenje. Kako je f '( x0 ) f ''(ξ ) 2 h+ h , ξ ∈ ( x0 , x1 ) , 1! 2!
f ( x1 ) = f ( x0 + h) = f ( x0 ) + to je f ′( x0 ) =
f ( x1 ) − f ( x0 ) f ''(ξ ) − h, h 2!
tj. greška metode je r1 (h) = −
f ''(ξ ) h , ξ ∈ ( x0 , x1 ) , 2!
h M 2 . Kako su vrednosti y0 i y1 zadate s tačnošću ε 0 i ε1 , res2 pektivno, to možemo uzeti ε = max(ε 0 , ε1 ) , pa je greška zaokrugljivanja
pa je | r1 ( h)| ≤
r2 ( h) =
ε0 + ε1 2ε , ≤ h h
Ukupna greška je
h 2ε M2 + = g ( h) . 2 h Treba naći vrednost h0 koraka h za koju je g (h) minimalno (sl. 1). Redom računamo: g(h) g(h) 1 2ε g ′(h) = M 2 − 2 ; g ′(h) = 0 ; 2 h h | r (h)| ≤ | r1 (h)| + | r2 (h)| ≤
g(h0)
2
M2
h0 = 2 2e h
0
e h0 = 2 M2
ε – optimalna vrednost koraka h; M2
min | g ( h) − g (h0 )| = 2 εM 2 .
Dakle, optimalna vrednost h0 koraka h
h
je h0 = 2
Sl. 1 a najmanja greška je
ε , M2
2 ε ⋅ M2 . ▲
2.
NUMERIČKO DIFERENCIRANJE FUNKCIJA VIŠE NEZAVISNIH PROMENLJIVIH
Numeričko diferenciranje funkcija više nezavisnih promenljivih razmotrićemo na primeru funkcije dveju nezavisnih promenljivih z = f ( x, y ) . Neka su 104
zadate vrednosti zij = f ( xi , y j ) funkcije z = f ( x, y ) u čvorovima pravougaone mreže ω = {( xi , y j ); xi = x0 + ihx , i = 0, n, y j = y0 + jhy , j = 0, m} . Zadatak numeričkog diferenciranja može se rešiti, analogno rešavanju zadatka numeričkog diferenciranja funkcije jedne nezavisne promenljive, polazeći od odgovarajuće interpolacione formule. Pokažimo to na primeru primene prve Njutnove interpolacione formule s konačnim razlikama. Dakle, poñimo od interpolacione formule 1 1 z = z00 + p∆1+ 0 z00 + q∆ 0+1 z00 + p ( p − 1)∆ 2+ 0 z00 + 2 pq∆1+1 z00 + 1! 2! 1 + q (q − 1)∆ 0+ 2 z00 + p ( p − 1)( p − 2)∆ 3+ 0 z00 + 3 p ( p − 1)q∆ 2+1 z00 + 3! 1+ 2 +3 pq ( q − 1) ∆ z00 + q (q − 1)(q − 2)∆ 0+3 z00 + ⋯ , gde je p =
y − y0 x − x0 , q= i ∆ k +l z00 = ∆ kxk+yl l z00 . hx hy
Kako je
∂z ∂z dq 1 ∂z ∂z ∂z dp 1 ∂z i = = , to je = = ∂x ∂p dx hx ∂p ∂y ∂q dy hy ∂q
∂z 1 1+ 0 1 = ∆ z00 + (2 p − 1)∆ 2+ 0 z00 + 2q∆1+1 z00 + 2! ∂x hx 1 2 + (3 p − 6 p + 2)∆ 3+ 0 z00 + 3! + (6 pq − 3q) ∆ 2+1 z00 + (3q 2 − 3) ∆1+ 2 z00 + ⋯ ,
{
(1)
}
∂z 1 0+1 1 = ∆ z00 + 2 p∆1+1 z00 + (2q − 1)∆ 0+ 2 z00 + ∂y hy 2! 1 + (3 p 2 − 3)∆ 2+1 z00 + 3!
{
(2)
}
+ (6 pq − 3 p ) ∆1+ 2 z00 + (3q 2 − 6q + 2) ∆ 0+ 3 z00 + ⋯ .
Na potpuno isti način se računaju izvodi višeg reda.
Primer 1. Funkcija z = f ( x, y ) zadata je tablicom x y 0.0 0.3 0.6 Izračunati
0.0
0.2
0.4
0.6
0.000 3.780 15.120
1.080 5.580 17.640
4.320 9.540 22.320
9.720 15.660 29.160
∂z ∂z i za x = 0.1 i y = 0.2. ∂x ∂y
105
Rešenje. Formirajmo sledeće tablice konačnih razlika: x 0.0
f ( x, 0.0) 0.000
0.2
1.080
∆1+0zi0
∆2+0zi0
∆3+0zi0
1.080 2.160 3.240 0.4
4.320
0.000 2.160
5.400 0.6
9.720
x 0.0
f ( x, 0.3) 3.780
0.2
5.580
0.4
9.540
0.6
15.660
x 0.0
f ( x, 0.6) 15.120
0.2
17.640
∆1+0zi0
∆2+0zi0
∆3+0zi0
1.800 2.160 3.960
0.000 2.160
6.120
∆1+0zi0
∆2+0zi0
∆3+0zi0
2.520 2.160 4.680 0.4
22.320
0.000 2.160
6.840 0.6 y 0.0
f (0.0, y ) 0.000
29.160
∆0+1z1j
∆0+2z1j
y 0.0
f (0.2, y ) 1.080
3.780 0.3
3.780 15.120
y 0.0
f (0.4, y ) 4.320
7.560
0.3
9.540
∆0+1z1j
0.3
5.580
0.6
17.640
∆0+2z1j
y 0.0
f (0.6, y ) 9.720
7.560
0.3
15.660
106
∆0+1z2j
∆0+2z2j
5.940
12.780 22.320
7.560 12.060
5.220
0.6
∆0+2z2j
4.500
11.340 0.6
∆0+1z2j
7.560 13.50
0.6
29.160
Dalje računamo: ∆1+1 z00 = ∆1+ 0 z01 − ∆1+ 0 z00 = 1.800 − 1.080 = 0.720 = = ∆ 0+1 z10 − ∆ 0+1 z00 = 4.500 − 3.780, ∆1+ 2 z00 = ∆ 0+ 2 z10 − ∆ 0+ 2 z00 = 7.560 − 7.560 = 0.000, ∆ 2+1 z00 = ∆ 2+ 0 z01 − ∆ 2+ 0 z00 = 2.160 − 2.160 = 0.000 Kako je y − y0 0.2 − 0.0 2 x − x0 0.1 − 0.0 1 i q= = = , p= = = hx 0.2 2 hy 0.3 3 to primenom formula (1) i (2) nalazimo: 1 1 1 2 1.080 + 2 ⋅ − 1 ⋅ 2.160 + 2 ⋅ 0.720 = 0.2 2 2 3 x = 0.1, y = 0.2 1 = ⋅ 1.56 = 7.800, 0.2 ∂z 1 1 1 2 = 3.780 + 2 ⋅ ⋅ 0.720 + 2 ⋅ − 1 ⋅ 7.560 = ∂y x =0.1, y =0.2 0.3 2 2 3 1 = ⋅ 5.400 = 18.000. 0.3 ∂z ∂x
3.
=
NUMERIČKA INTEGRACIJA
Neka treba izračunati integral b
(1)
I = ∫ f ( x)dx . a
Nalaženje vrednosti integrala (1) naziva se mehanička kvadratura ili, kraće, kvadratura (u slučaju dvostrukog integrala – mehanička kubatura ili, kraće, kubatura). Izračunavanje odreñenog integrala (1) na osnovu niza poznatih, izračunatih vrednosti yi = f ( xi ) , gde čvorovi xi ∈ [a, b] , i = 0, n , podintegralne funkcije ili integranda f ( x) naziva se približna ili numerička integracija. Mogu se konstruisati različite formule za približno nalaženje integrala (1) – kvadraturne formule. Najčešće se te formule dobijaju na sledeći način. Funkcija f ( x) se zameni (na odsečku [a, b] ili na njegovim delovima) drugom, od nje jednostavnijom funkcijom F ( x) , koja je u nekom smislu bliska funkciji f ( x) . Na primer, zahteva se da se funkcije F ( x) i f ( x) poklapaju u čvorovima, tj. zahteva se da je F ( xi ) = f ( xi ) i = 0, n . U svojstvu funkcije F ( x) uzimaju se ili algebarski polinomi ili trigonometrijski polinomi ili racionalne funkcije, itd, što najčešće zavisi od zadatka. Ako je interval integracije konačan i f ( x) na njemu nema singulariteta, onda se može postići visoka tačnost sa polinomima relativno niskog stepena. U protivnom se zadatak komplikuje. 107
Kvadraturne formule su najčešće sledećeg oblika b
n
I = ∫ f ( x)dx ≈ ∑ Ak f ( xk ) , xk ∈ [a, b] ,
(2)
k =0
a
gde se Ak nazivaju koeficijentima a xk čvorovima kvadraturne formule. Prirodn
no,
∑ Ak f ( xk )
se naziva kvadraturnom sumom. Očigledno je da (2) sadrži
k =0
2n + 3 parametara: n, Ak i xk ( k = 0, n ) i oni se biraju tako da bi formula (2) davala što je moguće tačnije rezultate pri integraciji funkcija odreñene klase. Smisao parametra n je očigledan: što je veće n, to se po pravilu može dostići veća tačnost odgovarajućim izborom Ak i xk . Prema tome, smatraćemo da je n fiksirano i razmotrićemo zadatak izbora Ak i xk (nekada ni xk ne možemo birati, na primer ako je podintegralna funkcija data tablično, onda su xk fiksirani, pa se mogu birati samo Ak ). Neka su čvorovi xk ( k = 0, n ) kvadraturne formule (2) na bilo koji način izabrani. Pozabavimo se pitanjem odreñivanja koeficijenata Ak . Konstruišimo interpolacioni polinom Ln ( x) za funkciju f ( x) sa
čvorovima xk ( k = 0, n ). Dakle, Π n +1 ( x) f ( xk ) , k = 0 ( x − xk )Π ′n +1 ( xk ) gde je Π n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) . Sada imamo n
Ln ( x) = ∑
f ( x) = Ln ( x) + Rn ( x) .
(3)
Zamenom (3) u (1) dobija se b
b
b
I = ∫ f ( x) dx = ∫ Ln ( x)dx + ∫ Rn ( x)dx . a
a
a
Imajući u vidu (2) imamo b
b
I = ∫ f ( x)dx ≈ ∫ Ln ( x) dx = a
a
b
n
∑
k =0
f ( xk ) ∫ a
Π n +1 ( x) dx , ( x − xk )Π ′n +1 ( xk )
dakle b
∫
(4)
a
f ( x) dx ≈
n
∑ Ak f ( xk ) ,
k =0
gde se koeficijenti kvadraturne formule računaju po formuli b
(5)
Ak = ∫ a
Π n +1 ( x) dx , k = 0, n . ( x − xk )Π ′n +1 ( xk )
Primetimo da za dati raspored čvorova koeficijenti Ak ne zavise od funkcije f ( x) . 108
Greška kvadraturne formule (4) je b
b
Rn ( f ) = ∫ Rn ( x) dx = ∫
(6)
a
a
f ( n +1) (ξ) Π n +1 ( x) dx , (n + 1)!
a odavde je | Rn ( f )| ≤
(7)
M n +1 b | Π n +1 ( x)| dx , ( n + 1)!a∫
gde je | f ( n +1) ( x)| ≤ M n +1 < ∞ , x ∈ [a, b] . Ako je f ( x) = Pm ( x) i m ≤ n , onda je Rn ( x) ≡ 0 . Ako su granice integracije a i b ujedno i čvorovi kvadraturne formule, onda je kvadraturna formula (4) zatvorenog tipa a u suprotnom slučaju je otvorenog tipa.
4.
NJUTN–KOTESOVE KVADRATURNE FORMULE
Neka treba izračunati integral b
I = ∫ f ( x) dx .
(1)
a
Neka su čvorovi x0 , x1 , ..., xn , ekvidistantni, tj. neka je interval integracije podeljen na n jednakih delova dužine b−a h= , n odnosno, neka su tačke xk = a + kh ( k = 0, n) čvorovi interpolacije. Tada je kvadraturna formula b
n
I = ∫ f ( x)dx ≈ ∑ Ak f ( xk ) a
k =0
sledećeg oblika b
n
I = ∫ f ( x)dx ≈ (b − a ) ∑ Ckn f (a + kh) ,
(2)
a
k =0
gde je (3) a
Ckn =
Ak Π n +1 ( x) 1 b dx , = ∫ b − a b − a a ( x − a − kh)Π ′n +1 ( a + kh)
Π n +1 ( x) = ( x − a )( x − a − h)( x − a − 2h)⋯ ( x − a − nh) .
Ako uvedemo smenu x = a + th (0 ≤ t ≤ n), onda se dobija: Π n +1 ( x) = Π n +1 (a + th) = h n +1t (t − 1)⋯ (t − n), x − a − kh = th − kh = h(t − k ),
109
Π ′n +1 (a + th) = ( xk − x0 )⋯ ( xk − xk −1 )( xk − xk +1 )⋯ ( xk − xn ) = = (−1) n − k ⋅ h n ⋅ k !( n − k )!,
pa je Ckn =
1 n h n +1t (t − 1)⋯ (t − n) h dt b − a ∫0 h(t − k )( −1) n − k ⋅ h n k !( n − k )!
ili (4)
h (−1) n − k n t (t − 1)… (t − n) ⋅ dt , k = 0, n . b − a k !( n − k )! ∫0 t −k Na taj način dobijamo kvadraturne formule Ckn =
b
n
∫ f ( x)dx ≈ (b − a)k∑=0 Ck f (a + kh)
(5)
n
a
sa čvorovima: a = x0 , x1 = x0 + h, ... , xk = x0 + kh, ..., xn = b i koeficijentima Ckn =
(6)
1 (−1) n − k n t (t − 1)⋯ (t − n) ⋅ dt , k = 0, n , n k !( n − k )! ∫0 t −k
koje se nazivaju Njutn–Kotesovim (Roger Cotes, 1682–1716) kvadraturnim formulama. n
Dokazuje se da je: 1)
∑ Ckn = 1
k =0
i 2) Ckn = Cnn− k .
Budući da koeficijenti Ckn ne zavise od funkcije f ( x) a zavise samo od k i n, možemo ih izračunati i napraviti tablicu koeficijenata: k n 1 2 3 4 5 6 7 ⋮
0
1
001 001 001 007 019 041 751 ⋮
0004 0003 0032 0075 0216 3577 ⋮
2
0012 0050 0027 1323 ⋮
3
0272 2989 ⋮
...
...
00002 00006 00008 00090 00288 00840 17280 ⋮
U poslednjoj koloni tablice su imenioci koeficijenata, a zbog n simetričnosti koeficijenata uneti su samo koeficijenti sa indeksom k ≤ . 2 Za različite vrednosti n dobijaju se različite Njutn–Kotesove kvadraturne formule, a neke od njih zbog specifičnog značenja češće se koriste i nose posebne nazive. Ako u relaciji f ( x) = Ln ( x) + Rn ( x) umesto Lagranževog interpolacionog polinoma 110
Π n +1 ( x) f ( xk ) , k = 0 ( x − xk )Π ′n +1 ( xk ) Π n +1 ( x) = ( x − x0 )( x − x1 )⋯ ( x − xn ) , uzmemo bilo koji drugi interpolacioni polinom, dobićemo, po pravilu, istu kvadraturnu formulu. Meñutim, te formule mogu biti, u odreñenom smislu, praktičnije. Pokažimo to na primeru primene nekih interpolacionih polinoma s konačnim razlikama. Integralimo li prvi Njutnov interpolacioni polinom u granicama od x0 do x0 + nh , odnosno od 0 do n, imaćemo n
Ln ( x) = ∑
x0 + nh
u (u − 1) 2 u (u − 1)(u − 2) 3 ∆ y0 + ∆ y0 + 2! 3! 0 x0 u (u − 1)(u − 2)(u − 3) 4 u (u − 1)(u − 2)(u − 3)(u − 4) 5 + ∆ y0 + ∆ y0 + 4! 5! u (u − 1)(u − 2)(u − 3)(u − 4)(u − 5) 6 + ∆ y0 + … du , 6!
I=
(7)
∫
n
ydx = h ∫ ( y0 + u ∆ y0 +
ili x0 + nh
∫
x0
n3 n 2 ∆ 2 y0 n2 ydx = h ny0 + ∆y0 + − + 2 2 2! 3 n4 ∆ 3 y0 n5 3n 4 11n3 ∆ 4 y0 + − n3 + n 2 + − + − 3n 2 + 2 3 4 3! 5 4!
(8)
n6 ∆ 5 y0 35n 4 50n3 + − 2n 5 + − + 12n 2 + 4 3 6 5! 6 n7 15n6 225n 4 274n3 5 2 ∆ y0 + − + 17 n − + − 60n + ⋯ . 6 4 3 7 6!
Integralimo li Stirlingov interpolacioni polinom u granicama od x0 − h do x0 + h , odnosno od –1 do 1, imaćemo I=
h
∫
−h
1 ∆y + ∆y0 u 2 f ( x)dx = h ∫ y0 + u −1 + ∆y−1 + 2 2 −1
+
u (u 2 − 1) ∆ 3 y−2 + ∆ 3 y−1 u 2 (u 2 − 1) 4 + ∆ y−2 + 3! 2 4!
+
u (u 2 − 1)(u 2 − 4) ∆ 5 y−3 + ∆ 5 y−2 u 2 (u 2 − 1)(u 2 − 4) 6 + ∆ y−3 + ⋯ du = 5! 2 6!
1 2 1 1 2 1 4 = h 2 y0 + ∆ 2 y−1 + − ∆ 4 y−2 + − 1 + ∆ 6 y−3 + ⋯ = 3 24 5 3 720 7 3
111
1 1 4 1 = 2h y0 + ∆ 2 y−1 − ∆ y−2 + ∆ 6 y−3 + ⋯ . 6 180 1512
Ova formula daje približnu vrednost integrala u granicama od x0 − h do x0 + h . Ako uvedemo smenu: x = t − h , onda imamo približnu vrednost integrala u granicama od x0 do x0 + 2h . Označimo li tu vrednost sa I 02 , imaćemo: 1 1 4 1 I 02 = 2h y1 + ∆ 2 y0 − ∆ y−1 + ∆ 6 y−2 + ⋯ . 6 180 1512
Približne vrednosti I 24 , I 46 , ..., I nn− 2 računaju se po formulama: 1 1 4 1 I 24 = 2h y3 + ∆ 2 y2 − ∆ y1 + ∆ 6 y0 + ⋯ , 6 180 1512 1 1 4 1 I 46 = 2h y5 + ∆ 2 y4 − ∆ y3 + ∆ 6 y2 + ⋯ , 6 180 1512 ………………………………………………………… 1 1 4 1 I nn− 2 = 2h yn −1 + ∆ 2 yn − 2 − ∆ yn − 3 + ∆ 6 yn − 4 + ⋯ . 6 180 1512 Sada dobijamo I 0n = =
x0 + nh
∫
ydx = I 02 + I 24 + I 46 + ⋯ + I nn− 2 =
x0 x0 + 2 h
+
∫
∫
x0 + 2 h
x0
(9)
x0 + 4 h
+
x0 + 6 h
x0 + nh
+⋯ +
∫
x0 + 4 h
=
∫
x0 + ( n − 2) h
1 = 2h [ ( y1 + y3 + y5 + ⋯ + yn −1 ) + (∆ 2 y0 + ∆ 2 y2 + ⋯ + ∆ 2 yn − 2 ) − 6 1 4 4 4 − ( ∆ y−1 + ∆ y1 + ∆ y3 + ⋯ + ∆ 4 yn −3 ) + 180 1 + (∆ 6 y−2 + ∆ 6 y0 + ∆ 6 y2 + ⋯ + ∆ 6 yn − 4 ) + ⋯ . 1512
Integralimo li Beselov interpolacioni polinom u granicama od x0 do 1 1 1 1 x0 + h , odnosno od v = u − = − do v = u − = , imaćemo 2 2 2 2 1 x0 + h 2 v 2 − 14 ∆ 2 y + ∆ 2 y y +y −1 0 I 01 = ∫ f ( x) dx = h ∫ 0 1 + v∆y0 + + 2 2 2 x0 − 12 2 1 v v −4 3 v 2 − 14 v 2 − 94 ∆ 4 y + ∆ 4 y −2 −1 + ∆ y−1 + + 3! 4! 2
(
(
112
)
(
)(
)
)
+
(
)(
v v 2 − 14 v 2 − 94
)∆ y
−2 + 5! v 2 − 14 v 2 − 94 v 2 − 2.5 ∆ 6 y−3 + ∆ 6 y−2 4 + + ⋯) dv = 6! 2 y + y1 1 ∆ 2 y−1 + ∆ 2 y0 11 ∆ 4 y−2 + ∆ 4 y−1 = h 0 − + − 12 2 720 2 2
(
−
)(
5
)(
)
191 ∆ 6 y−3 + ∆ 6 y−2 + ⋯ . 60480 2
Približne vrednosti I12 , I 23 , ..., I nn−1 računaju se po formulama: y + y2 1 ∆ 2 y0 + ∆ 2 y1 11 ∆ 4 y−1 + ∆ 4 y0 I12 = h 1 − + − 12 2 720 2 2 191 ∆ 6 y−2 + ∆ 6 y−1 − + ⋯ , 60480 2 y + y3 1 ∆ 2 y1 + ∆ 2 y2 11 ∆ 4 y0 + ∆ 4 y1 I 23 = h 2 − + − 12 2 720 2 2 191 ∆ 6 y−1 + ∆ 6 y0 − + ⋯ , 60480 2 ………………………………………………………… y + yn 1 ∆ 2 yn − 2 + ∆ 2 yn −1 11 ∆ 4 yn −3 + ∆ 4 yn − 2 I nn−1 = h n −1 − + − 2 12 2 720 2 191 ∆ 6 yn − 4 + ∆ 6 yn −3 − + ⋯ . 60480 2
Sada dobijamo
(10)
x0 + nh
y y =h 0 + y1 + y2 + ⋯ + yn −1 + n − 2 2 x0 x0 x1 x2 xn−1 2 2 ∆ yn −1 1 ∆ y−1 − + ∆ 2 y0 + ∆ 2 y1 + ⋯ + ∆ 2 yn − 2 + + 12 2 2 ∆ 4 yn − 2 11 ∆ 4 y−2 4 4 4 + + ∆ y + ∆ y + ⋯ + ∆ y + − −1 0 n −3 720 2 2 ∆ 6 yn − 3 191 ∆ 6 y−3 − + ∆ 6 y−2 + ∆ 6 y−1 + ⋯ + ∆ 6 yn − 4 + + ⋯ . 60480 2 2
I 0n =
∫
x1
x2
x3
y dx = ∫ + ∫ + ∫ + ⋯ +
xn
∫
113
Kako po definiciji konačnih razlika imamo: ∆ 2 y−1 = ∆y0 − ∆y−1 , ∆ 2 y0 = ∆y1 − ∆y0 , ……………………… ∆ 2 yn −1 = ∆yn − ∆yn −1 , ∆ 4 y−2 = ∆ 3 y−1 − ∆ 3 y−2 , ∆ 4 y−1 = ∆ 3 y0 − ∆ 3 y−1 , ……………………… ∆ 4 yn − 2 = ∆ 3 yn −1 − ∆ 3 yn − 2 , ∆ 6 y−3 = ∆ 5 y−2 − ∆ 5 y−3 , ∆ 6 y−2 = ∆ 5 y−1 − ∆ 5 y−2 , ……………………… ∆ 6 yn −3 = ∆ 5 yn − 2 − ∆ 5 yn −3 , i tako dalje,
to formulu (10) možemo zapisati i na sledeći način:
(11)
y y 1 ∆y + ∆y0 I 0n = h 0 + y1 + y2 + ⋯ + yn −1 + n + −1 2 12 2 2 11 ∆ 3 y−2 + ∆ 3 y−1 191 ∆ 5 y−3 + ∆ 5 y−2 − − + 720 2 2 60480 1 ∆y + ∆yn 11 ∆3 yn − 2 + ∆3 yn −1 − n −1 − + 12 2 2 720 191 ∆ 5 yn −3 + ∆ 5 yn − 2 − + ⋯ , 60480 2
−
ili y y I 0n = h 0 + y1 + y2 + ⋯ + yn −1 + n − 2 2
−
1 ∆yn −1 + ∆yn ∆y−1 + ∆y0 − 12 2 2
+
11 ∆ 3 yn − 2 + ∆ 3 yn −1 ∆ 3 y−2 + ∆ 3 y−1 − − 720 2 2
−
191 ∆ 5 yn −3 + ∆ 5 yn − 2 ∆ 5 y−3 + ∆ 5 y−2 − 60480 2 2
(12)
114
+
+ ⋯ .
5.
TRAPEZNA KVADRATURNA FORMULA
Iz (3.5) i (3.6) za n = 1 dobija se: b
I = ∫ f ( x)dx ≈
(1)
a
b−a [ f ( a ) + f (b)] , 2
1 (−1)1− 0 1 t (t − 1) 1 1 (−1)1−1 1 t (t − 1) 1 1 , C01 = ⋅ dt = C = ⋅ dt = . 1 ∫ ∫ 1 0!(1 − 0)!0 t − 0 2 1 1!(1 − 1)!0 t − 1 2
Formula (1) se zove trapezna kvadraturna formula; geometrijski smisao je sledeći – površina koja je odreñena integralom I se aproksimira površinom trapeza (sl. 2), odnosno, f ( x) odsečkom prave linije P1 ( x) koja sadrži tačke (a, f (a )) i (b, f (b)) . y R1( f )
f(x)
P1(x)
f(a) 0
b–a [f(a) + f(b)] 2
f(b) b
a
x
Sl. 2 Greška metode – formule (1) je prema (2.3) i (2.6) b
R1 ( f ) = ∫ f ( x)dx − a
b−a 1 b [ f (a ) + f (b)] = ∫ ( x − a )( x − b) f "(ξ ) dx , ξ ∈ (a, b) 2 2!a
ili, posle integracije, (2)
R1 ( f ) = −
(b − a )3 f "(ξ ) , ξ ∈ (a, b) . 12
Formula za grešku trapezne kvadraturne formule može se dobiti i na sledeći način. Pretpostavimo da f ( x) ∈ C 2 [a, b] . Posmatrajmo grešku kao funkciju koraka h, tj. x0 + h h R ( h) = ∫ f ( x) dx − [ f ( x0 ) + f ( x0 + h)] . 2 x0 Diferencirajući R (h) dva puta po h dobijamo 1 h R′(h) = f ( x0 + h) − [ f ( x0 ) + f ( x0 + h)] − f ′( x0 + h) = 2 2 1 h = [ f ( x0 + h) − f ( x0 )] − f ′( x0 + h), 2 2
115
1 1 h h f ′( x0 + h) − f ′( x0 + h) − f ′′( x0 + h) = − f ′′( x0 + h), 2 2 2 2 Osim toga je R (0) = 0 i R′(0) = 0 . Integrišući po h i koristeći teoremu o srednjoj vrednosti nalazimo: h h 1h 1 R′(h) = R′(0) + ∫ R′′(t ) dt = − ∫ t f ′′( x0 + t ) dt = − f ′′(ξ1 ) ∫ t dt = 20 2 0 0 2 h =− f ′′(ξ1 ), ξ1 ∈ ( x0 , x0 + h), 4 h h 1h 1 R ( h) = R (0) + ∫ R′(t ) dt = − ∫ t 2 f ′′(ξ1 ) dt = − f ′′(ξ) ∫ t 2 dt = 40 4 0 0 3 h =− f ′′(ξ), ξ ∈ ( x0 , x0 + h). 12 Dakle, greška osnovne trapezne kvadraturne formule je h3 R ( h) = − f ′′(ξ), ξ ∈ ( x0 , x0 + h) . 12 R′′( h) =
Iz (2) je očigledno da greška bitno zavisi od dužine b – a odsečka [a, b]. Zbog toga, a da bismo dobili tačniji rezultat, podelimo odsečak [a, b] na n b−a jednakih delova dužine h = . Dalje, ako se uoči odsečak [a + kh, a + n + (k + 1) n] i na njemu primeni formula (možemo je nazvati osnovnom) (1), onda se dobija a + ( k +1) h
∫
a + kh
h f ( x)dx ≈ [ f k + f k +1 ] + Rk ( f ) , 2
gde je f j = f ( a + jh) ( j = k , k + 1) , a greška je Rk ( f ) = −
h3 f ′′(ξ k ) , ξ k ∈ (a + kh, a + (k + 1) h) . 12
Kako je a+h
b
∫ f ( x)dx = ∫ a
f ( x) dx +
a +2h
∫
a +h
a
f ( x) dx + ⋯ +
b
∫
f ( x) dx ,
a + ( n −1) h
to je b
h
∫ f ( x)dx = 2 [ f0 + 2 f1 + ⋯ + 2 f n −1 + f n ] + R( f ) ,
a
gde je R ( f ) = R0 + R1 + ⋯ + Rn −1 = −
116
h3 [ f "(ξ 0 ) + f "(ξ1 ) + ⋯ + f "(ξ n −1 )] = 12
=−
b − a 2 f "(ξ 0 ) + f "(ξ1 ) + ⋯ + f "(ξ n −1 ) ⋅h . 12 n
Ako je f "( x) neprekidna funkcija na [a, b], onda postoji tačka ξ ∈ (a, b) takva da je f "(ξ 0 ) + f "(ξ1 ) + ⋯ + f "(ξ n −1 ) = f "(ξ ) , n pa je definitivno greška uopštene trapezne kvadraturne formule b h (3) ∫ f ( x)dx ≈ 2 [ f0 + 2( f1 + ⋯ + f n −1 ) + f n ] a jednaka b−a 2 (4) R( f ) = − h f "(ξ ) , ξ k ∈ (a, b) . 12
Primer 1. Koristeći trapeznu kvadraturnu formulu izračunati 0.4 dx . I= ∫ 4 0 1+ x Rešenje. Izaberimo korak h = 0.1 i izračunajmo vrednosti integranda. Rezultati računanja su dati u sledećoj tabeli. x
x4
1 + x4
0.0 0.1 0.2 0.3 0.4
0.00000 0.00010 0.00160 0.00810 0.02560
1.00000 1.00010 1.00160 1.00810 1.02560
f ( x) Prema formuli (3) je 1.00000 0.1 IT = [1.00000 + 2(0.99990 + 0.99990 2 0.99840 +0.99840 + 0.99196) + 0.97504] = 0.99196 = 0.39778 0.97504
Procenimo grešku prema formuli (4). Redom računamo: 4 x 2 (5 x 4 − 3) − 4 x3 , , max | f ′′( x)| ≤ 0.7 , f '( x) = f "( x ) = x∈[0,0.4] (1 + x 4 ) 2 (1 + x 4 )3 pa je | R ( f )| ≤
0.4 ⋅ 0.12 ⋅ 0.7 = 0.00023… < 0.0003 12
i I = 0.3978 ± 0.0003. ▲ Ako bi u zadatku bila zadata tačnost ε, onda bismo iz uslova b−a | R ( f )| ≤ ⋅ M 2 h 2 ≤ ε , M 2 = max | f "( x)| x∈[ a , b ] 12 12ε prvo odredili korak h ≤ . (b − a ) M 2 117
Primer 2. Odrediti korak integracije h tako da greška približne vrednosti integrala 1
I = ∫ sin( x 2 )dx , 0
izračunata pomoću trapezne kvadraturne formule, ne bude veća od ε = 0.01. f ( x) = sin( x 2 ) , Rešenje. Redom imamo: f '( x) = 2 x cos( x 2 ) , f "( x) = 2 cos( x 2 ) − 4 x 2 sin( x 2 ) , f '''( x) = −4 x[3sin( x 2 ) + 2 x 2 cos( x 2 )] .
Kako je f '''( x) = [ f ''( x)]' = − 4 x[3sin( x 2 ) + 2 x 2 cos( x 2 )] < 0 za x ∈ (0.1) , to je f ''( x) na intervalu integracije opadajuća funkcija. Dalje, f ''(0) = 2 i f ''(1) = −2.285… , to je max | f ''( x)| = 2.285… < 2.29 = M 2 za x ∈ [0, 1] , pa je
h≤
12 ⋅ ε 12 ⋅ 0.01 = = 0.0524 = 0.2289… (b − a ) M 2 (1 − 0) ⋅ 2.29
i možemo uzeti h = 0.2. Tabelirajmo podintegralnu funkciju x 0.0 0.2 0.4 0.6 0.8 1.0
6.
f ( x) 0.0000 0.0400 0.1593 0.3523 0.5972 0.8415
Primenom trapezne kvadraturne formule dobijamo 1 2 2 2 2 1
0.2 ⋅ 3.1391 = 0.31391 ; 2 greška približne vrednosti I = 0.31 nije veća od 0.01. ▲ I=
SIMPSONOVA KVADRATURNA FORMULA
Iz (3.5) i (3.6) za n = 2 dobija se: b b−a a+b I = ∫ f ( x)dx ≈ f (a) + 4 ⋅ f + f (b) 6 2 a 2−0 2 1 (−1) t (t − 1)(t − 2) 1 C02 = ⋅ dt = , ∫ 2 0!(2 − 0)!0 t −0 6 (1) , 2 −1 2 1 (−1) t (t − 1)(t − 2) 4 C12 = ⋅ dt = , 2 1!(2 − 1)!0∫ t −1 6 2 2− 2 1 (−1) t (t − 1)(t − 2) 1 C22 = ⋅ dt = ; 2 2!(2 − 2)!0∫ t−2 6 a+b b−a budući da je b − a = 2h , a = x0 , =a+ = x0 + h = x1 i b = x0 + 2h = x2 , 2 2 to se formula (1) može zapisati u sledećem obliku 118
x2
I=
(2)
h f ( x)dx ≈ [ f ( x0 ) + 4 ⋅ f ( x1 ) + f ( x2 )] . 3
∫
x0
Formula (1), odnosno (2), se zove osnovna Simpsonova (T. Simpson, 1710– 1761) kvadraturna formula; geometrijski smisao je sledeći – površina koja je odreñena integralom I se aproksimira površinom koja je odreñena odsečkom ose Ox, odsečcima pravih x = a i x = b i odsečkom parabole y = P2 ( x) koja sadrži tačke ( x0 , y0 ) , ( x1 , y1 ) i ( x2 , y2 ) , dakle, za x ∈ [ x0 , x2 ] funkcija f ( x) se aproksimira odsečkom parabole (zbog toga se formula (1) ponekad zove pravilo parabole) (sl. 3). R2(f)
y +
P2(x)
– h [f(x )+4f(x )+f(x )] 0 1 2 3 0 x0 = a
f(x)
x2 = b x
x1 = a + b 2
Sl. 3 Greška metode – formule (1) je prema (2.3) i (2.6) b b−a a+b R2 ( f ) = ∫ f ( x)dx − f (a) + 4 ⋅ f + f (b) = 6 2 (3) a b 1 a+b = ∫ ( x − a) x − ( x − b) f '''(ξ )dx, ξ ∈ (a, b). 3!a 2 Iz načina izvoñenja Simpsonove kvadraturne formule neposredno sledi da je ona tačna za sve polinome drugog stepena P2 ( x) = a0 + a1 x + a2 x 2 .
Meñutim, Simpsonova formula je tačna i za sve polinome trećeg stepena P3 ( x) = a0 + a1 x + a2 x 2 + a3 x3 ,
što se jednostavno pokazuje. Naime, kako je P3 ( x) = P2 ( x) + a3 x3 , to je b
b
b
b
3 ∫ P3 ( x)dx = ∫ P2 ( x)dx + a3 ∫ x dx = ∫ P2 ( x)dx + a3 a b
∫ P2 ( x)dx = a
a
a
a
b4 − a 4 ; 4
b−a a+b P2 (a ) + 4 P2 + P2 (b) , R2 ( P2 ) ≡ 0 , 6 2
a 119
a3
b4 − a 4 b − a (a3 x3 ) x = a + 4( a3 x3 ) x = ( a + b )/2 + ( a3 x3 ) x =b , = 4 6
pa imamo b−a a+b P3 ( a ) + 4 P3 + P3 (b) , R3 ( P3 ) ≡ 0 . 6 2 a Formula za grešku Simpsonove kvadraturne formule može se dobiti i na sledeći način. Pretpostavimo da je f ( x) ∈ C 4 [ a, b] . Posmatrajmo grešku kao funkciju koraka h, tj. x1 + h h R( h) = ∫ f ( x)dx − [ f ( x1 − h) + 4 f ( x1 ) + f ( x1 + h) ] . 3 x1 − h b
∫ P3 ( x)dx =
Diferencirajući R (h) tri puta po h dobijamo: 2 4 h [ f ( x1 − h) + f ( x1 + h)] − f ( x1 ) − [ − f '( x1 − h) + f '( x1 + h)] ; 3 3 3 1 h R ''(h) = [ − f '( x1 − h) + f '( x1 + h) ] − [ f ''( x1 − h) + f ''( x1 + h) ] ; 3 3 h 2h 2 IV R '''(h) = − [ f '''( x1 + h) − f '''( x1 − h) ] = − f (ξ 3 ), 3 3 R '(h) =
gde smo primenili Lagranževu teoremu na [ x1 − h, x1 + h] , a ξ 3 ∈( x1 − h, x1 + h) . Osim toga je: R (0) = 0 , R '(0) = 0 , R ''(0) = 0 . Integrišući R '''(h) i koristeći teoremu o srednjoj vrednosti nalazimo: h
2 h 2 IV t f (ξ 3 )dt = 3 0∫ 0 h 2 2 = − f IV (ξ 2 ) ⋅ ∫ t 2 dt = − h3 f IV (ξ 2 ), 3 9 0
R ''(h) = R ''(0) + ∫ R '''(t ) dt = −
gde ξ 2 ∈ ( x1 − h, x1 + h) . Dalje je h
2 h 3 IV t f (ξ 2 )dt = 9 0∫ 0 h 2 1 = − f IV (ξ1 ) ⋅ ∫ t 3 dt = − h 4 f IV (ξ1 ), 9 18 0
R '(h) = R '(0) + ∫ R ''(t )dt = −
gde ξ1 ∈ ( x1 − h, x1 + h) . Na kraju je h
R ( h) = R (0) + ∫ R '(t ) dt = − 0
120
1 h 4 IV t f (ξ1 ) dt = 18 0∫
=−
h 1 IV h5 IV f (ξ) ⋅ ∫ t 4 dt = − f (ξ), 18 90 0
gde ξ ∈ ( x1 − h, x1 + h) . Dakle, greška osnovne Simpsonove kvadraturne formule (2) je h5 IV (4) R ( h) = − f (ξ) , ξ ∈ ( x1 − h, x1 + h) 90 ili 5 1 b − a IV (b − a ) ⋅ h 4 IV R ( h) = − f (ξ) = − f (ξ) , ξ ∈ (a, b) . 90 2 180 Ako se odsečak [a, b] podeli na paran broj n = 2m jednakih delova dužine b−a b−a h= = n 2m i ako se uoče dva susedna pododsečka [a + (k – 1) h, a + (k + 1) h] ( k = 1, n − 1) tada će Simpsonova kvadraturna formula na tom „dvointervalu“ biti a + ( k +1) h
∫
a + ( k −1) h
h f ( x) dx = [ f k −1 + 4 f k + f k +1 ] + Rk . 3
Kako je b
∫
f ( x) dx =
a
a +2h
∫
a
f ( x) dx +
a + 4h
∫
a + 2h
f ( x) dx + ⋯ +
b
∫
f ( x) dx ,
a + ( n − 2) h
to je uopštena Simpsonova kvadraturna formula b h ∫ f ( x) dx = 3 [ f0 + f n + 2( f 2 + f 4 + ⋯ + f n − 2 ) + 4( f1 + f3 + ⋯ + f n −1 ] + R( f ) , a gde je h5 R( f ) = [ f IV (ξ1 ) + f IV (ξ 2 ) + ⋯ + f IV (ξ m )] , 90 IV Ako je f ( x) neprekidna funkcija, onda postoji tačka ξ takva da je f IV (ξ1 ) + f IV (ξ 2 ) + ⋯ + f IV (ξ m ) = f IV (ξ) , ξ ∈ (a, b) , m pa je definitivno greška uopštene Simpsonove kvadraturne formule b
(5)
h
∫ f ( x) dx ≈ 3 [ f0 + f n + 2( f 2 + f 4 + ⋯ + f n − 2 ) + 4( f1 + f3 + ⋯ + f n −1 ]
a
jednaka (6)
R( f ) = −
m ⋅ h5 IV (b − a )h 4 IV ⋅ f (ξ) = − f (ξ) , ξ ∈ (a, b) . 90 180
121
Napomena. Simpsonova kvadraturna formula (5) se može dobiti i iz kvadraturnih formula (4.8) za n = 2. Primer 1. Koristeći Simpsonovu kvadraturnu formulu izračunati 1
I = ∫ e − x dx . 2
0
Rešenje. Izaberimo korak h = 0.1 i izračunajmo vrednosti integranda. Rezultati računanja su dati u sledećoj tabeli. k
xk
0 1 2 3 4 5 6 7 8 9 10
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 ∑
f ( x) k = 0 ili k = 10 k–neparno 0.00 1.00000 0.01 0.9905 0.04 0.09 0.91393 0.16 0.25 0.77880 0.36 0.49 0.61263 0.64 0.81 0.44486 1.00 0.36788 1.36788 3.74027 xk2
k–parno
0.96079 0.85214 0.69768 0.52729
3.03790
Prema formuli (5) je: 0.1 0.1 IS = [1.36788 + 2 ⋅ 3.03790 + 4 ⋅ 3.74027] = ⋅ 22.40476 = 0.74683 . 3 3 Procenimo grešku prema formuli (6). Kako je max | f (4) ( x)| = 12 za x ∈ [0, 1] , to je 1 | R ( f )| ≤ ⋅ 0.14 ⋅12 ≤ 0.000007 180 i I = 0.74683 ± 0.000007. Može se uočiti da je ocena (6) greške Simpsonove kvadraturne formule (5) (4) povezana s procenom max | f ( x)| za x ∈ [a, b] a to najčešće nije jednostavno učiniti. Navedimo zbog toga jedan praktičan način ocene greške Simpsonove kvadraturne formule. Pretpostavimo da se f (4) ( x) ne menja mnogo na [ a, b] . Grešku (6) možemo zapisati na sledeći način R = K ⋅ h4 , gde je K konstanta koja zavisi od funkcije f ( x) i intervala integracije (a, b). Neka su I h i I 2h približne vrednosti integrala I izračunate pomoću Simpsonove kvadraturne formule za korake h i 2h. Tada imamo
122
I = I h + M ⋅ h 4 i I = I 2 h + M ⋅ (2h) 4 ,
a odavde
| I h − I 2h | 15
|R|=
(7) i
| I h − I 2h | . 15 Ocena je poznata kao Rungeova ocena ili Rungeov princip ocene greške. I = Ih ±
Primer 2. Koristeći Simpsonovu kvadraturnu formulu izračunati 1
I = ∫ sin x 2 dx 0
1 s tačnošću ⋅ 104 . 2 Rešenje. Korak h se može odrediti iz uslova (b − a ) h< 4
h4 ⋅ M 4 < ε , odnosno 180
180ε , (b − a ) M 4
tj. korak h je reda 4 ε . Meñutim, procena max| f (4) ( x)| = M 4 nije baš jednostavna. Lakše je koristiti Rungeovu ocenu (7). Izračunajmo približnu vrednost I 0.5 integrala I, tj. uzmimo korak h jednak 0.5. Rezultati računanja su u sledećoj tablici. x 0.0 0.5 1.0
f ( x) 0.00000 0.24740 0.84147
0.5 [0.00000 + 4 ⋅ 0.24740 + 0.84147] = 3 = 0.30518
I 0.5 =
1 4 1
Uzmimo korak h jednak 0.5/2 = 0.25. Rezultati računanja su dati u sledećoj tablici. x 0.00 0.25 0.50 0.75 1.00
f ( x) 0.00000 0.62460 0.24740 0.53330 0.84147
1 4 2 4 1
I 0.25 =
0.25 ⋅ 3.71931 = 0.30994 3
Kako je | I 0.25 − I 0.5 | ⋅ 0.0003173 > 0.00005 , 15 to nije postignuta zadata tačnost.
Uzmimo korak h jednak 0.25/2 = 0.125. Rezultati računanja su dati u sledećoj tabeli. 123
x 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
7.
f ( x) 0.00000 0.01562 0.62460 0.14016 0.24740 0.38077 0.53330 0.69299 0.84147
1 4 2 4 2 4 2 4 1
I 0.25 =
0.125 ⋅ 7.44595 = 0.31025 3
Kako je | I 0.125 − I 0.5 | = 0.0000206 < 0.00005 , 15 to je I ≈ I 0.125 = 0.3102 . ▲
NJUTN–KOTESOVE FORMULE VIŠIH REDOVA
Iz (3.5) i (3.6) za n = 3 dobija se: b−a b−a b−a f (a) + 3 ⋅ f a + + 3⋅ f a + 2 ⋅ + f (b) , 8 3 3 a 1 3 3 1 C03 = , C13 = , C23 = , C33 = ; budući da je b − a = 3h , a = x0 , 8 8 8 8 b−a b−a a+ = x0 + h = x1 , a + 2 = x0 + 2h = x2 , b = x0 + 3h = x3 to se formula 3 3 (1) može zapisati u sledećem obliku x3 3h (2) I = ∫ f ( x) dx ≈ [ f ( x0 ) + 3 f ( x1 ) + 3 f ( x2 ) + f ( x3 ) ] . 8 x0 b
(1)
∫ f ( x) dx ≈
Formula (1), odnosno (2), se zove osnovna Njutnova kvadraturna formula „tri osmine“; geometrijski smisao formule je sledeći – na odsečku [a, b] funkcija f ( x) se aproksimira polinomom P3 ( x) čiji grafik sadrži tačke ( x0 , f ( x0 )) , ( x1 , f ( x1 )) , ( x2 , f ( x2 )) , ( x3 , f ( x3 )) , odnosno, površina koja je odreñena integralom I se aproksimira površinom koja je odreñena odsečkom ose 0x, odsečcima pravih x = x0 i x = x3 i odsečkom grafika polinoma trećeg stepena P3 ( x) = a0 + a1 x + a2 x 2 + a3 x3 izmeñu tačaka ( x0 , y0 ) i ( x3 , y3 ) . Greška metode – formule (1) je prema (2.3) i (2.6) 3 ⋅ h5 (4) (3) R3 ( x) = − f (ξ ) , ξ ∈ ( x0 , x3 ) . 80 Ako se odsečak [a, b] podeli na n = 3m (m ∈ N) jednakih delova dužine h = (b – a)/n = (b – a)/3m i ako se formula (1) primeni na odsečku [a + kh, a + + (k + 3) h] dužine 3h, tada će Njutnova kvadraturna formula na tom „trointervalu“ biti a + ( k + 3) h
(3)
∫
a + kh
124
f ( x) dx ≈
3h [ f k + 3 f k +1 + 3 f k + 2 + f k +3 ] + Rk +1 . 8
Na isti način kao kod Simpsonove kvadraturne formule dobijamo uopštenu Njutnovu kvadraturnu formulu b
3h [ f0 + f n + 2( f3 + f6 + ⋯ + f n −3 ) + 8 + 3( f1 + f 2 + f 4 + f 5 + ⋯ + f n − 2 + f n −1 ) ] + R( f ),
∫ f ( x) dx =
(4)
a
gde je R( f ) = −
(5)
b − a 4 (4) h f (ξ ) , ξ ∈ ( a , b ) 80
Primedba. Uporeñivanjem Simpsonove i Njutnove kvadraturne formule može se zaključiti sledeće. Ako je odsečak [a, b] podeljen na 6m (m ∈ N) delova, mogu se primeniti obe formule, ali je greška Njutnove formule veća oko dva puta; dakle, treba primeniti Simpsonovu formulu. Njutnovu formulu treba primeniti u slučaju neparnog broja čvorova (3m), kada se Simpsonova formula ne može primeniti. Navedimo samo još neke Njutn–Kotesove kvadraturne formule. One su zapisane samo za „osnovni interval“. x4
∫
(6) n = 4:
f ( x) dx =
x0
2h [7 f0 + 32 f1 + 12 f 2 + 32 f3 + 7 f 4 ] − 45 −
x5
∫
(7) n = 5:
(8) n = 6:
∫
ξ ∈ ( x0 , x4 );
5h [19 f0 + 75 f1 + 50 f 2 + 50 f3 + 75 f 4 + 19 f5 ] − 288 275 7 (6) − h f (ξ), ξ ∈ ( x0 , x5 ); 12096
f ( x) dx =
x0
x6
8h7 (6) f (ξ), 945
f ( x) dx =
x0
6h [ 41 f0 + 216 f1 + 27 f 2 + 272 f3 + 840
+ 27 f 4 + 216 f 5 + 41 f 6 ] + R( f ).
Ako stavimo n = 6 u kvadraturnu formulu (4.8), dobićemo x0 + 6 h
∫
ydx = h 6 y0 + 18∆y0 + 27 ∆ 2 y0 + 24∆ 3 y0 +
x0
+
i ako umesto koeficijenta
123 4 33 41 6 ∆ y0 + ∆ 5 y0 + ∆ y0 . 10 10 140
41 3 uz ∆ 6 y0 uzmemo , učinjena greška je 140 10 125
1 6 41 3 6 140 − 10 ∆ y0 = − 140 ∆ y0 i kvadraturna formula postaje znatno jedno stavnija x0 + 6 h 3h (9) ∫ y dx = 10 [ y0 + 5 y1 + y2 + 6 y3 + y4 + 5 y5 + y6 ] . x0
Za sledeći interval integracije od x6 do x12 imali bismo x12
∫
x0
y dx =
3h [ y6 + 5 y7 + y8 + 6 y9 + y10 + 5 y11 + y12 ] . 10
Na taj način se dobija kvadraturna formula x0 + nh 3h I = ∫ y dx = [ y0 + 5 y1 + y2 + 6 y3 + y4 + 5 y5 + 2 y6 + 5 y7 + y8 + 10 x0 + 6 y9 + y10 + 5 y11 + 2 y12 + ⋯ + (10) + 2 yn −6 + 5 yn −5 + yn − 4 + 6 yn −3 + yn − 2 + 5 yn −1 + yn ] = 3h n = ∑ ky, 10 0 gde je k = 1, 5, 1, 6, 1, 5, 2, 5, 1, 6, 1, 5, 2 i tako dalje. Kvadraturna formula (9) je osnovna a (10) uopštena Vidlova (Weddle T.) kvadraturna formula.
Primer 1. Funkcija y = f ( x) je zadata tablično x 0.0 0.2 0.4 0.6 0.8 1.0 1.2 y 0.00000 0.24428 0.59673 1.09327 1.78043 2.71828 3.98414 Izračunati približnu vrednost integrala funkcije f ( x) koristeći Simpsonovu i Njutnovu kvadraturnu formulu. Ako je tačna vrednost I = 1.66402, izračunati i uporediti greške dobijenih približnih vrednosti. Rešenje. Primenom Simpsonove kvadraturne formule dobijamo 0.2 IS = ⋅ 24.96178 = 1.66412 ; 3 primenom Njutnove kvadraturne formule dobijamo 3 ⋅ 0.2 IN = ⋅ 22.18984 = 1.66424 . 8 Očigledno je ( I − I S ) : ( I − I N ) = ( −0.00010) : ( −0.00022) = 5 :11 , dakle, I S je tačnija 2.2 puta. ▲
Primer 2. Izračunati približnu vrednost integrala 1.4
∫ (sin x − ln x + e
x
) dx
0.2
primenom: a) Simpsonove, b) Vidlove kvadraturne formule. 126
Rešenje. Podelimo interval integracije na dvanaest jednakih delova uzimajući h = 0.1. Vrednosti podintegralne funkcije date su u sledećoj tabeli. x y x y 0.2 3.02951 0.9 3.34830 0.3 2.84936 1.0 3.55975 0.4 2.79754 1.1 3.80007 0.5 2.82130 1.2 4.06984 0.6 2.89759 1.3 4.37050 0.7 3.01465 1.4 4.70418 0.8 3.16605 (a) Simpsonova kvadraturna formula: 0.1 IS = [3.02951 + 4.70418 + 4(20.20418) + 2(16.49077)] = 4.05106 . 3
(b) Vidlova kvadraturna formula: IW = 0.03[21.05841 + 5(13.58281) + 6(6.62137) + 2(3.16605)] = 4.05098 . Tačna vrednost integrala: I=
1.4
∫ (sin x − ln x + e
x
1.4
)dx = − cos x − x(ln x − 1) + e x
0.2
Greške su:
0.2
= 4.05095.
ES = −0.00011 , EW = −0.00003 . ▲
Greška Njutn–Kotesovih kvadraturnih formula s n + 1 ordinatom za dovoljno glatke funkcije y = f ( x) ima red n 2 +2
R = O (h 2 ) , n gde je n2 celi deo razlomka . (Videti, na primer, – Berezin, Židkov: 2 „Numerička analiza“, Beograd, 1963.)
8.
NJUTN–KOTESOVE KVADRATURNE FORMULE OTVORENOG TIPA
Prethodno posmatrane Njutn–Kotesove kvadraturne formule su kvadraturne formule zatvorenog tipa; integral se uzima u granicama od a do b (ili od x0 do xn ) a u same formule ulaze vrednosti podintegralne funkcije (integranda) na krajevima odsečka [a, b], tj. f (a ) i f (b) (odnosno, f 0 = f ( x0 ) i f n = f ( xn ) ). Osim ovih formula mogu se izvesti tzv. Njutn–Kotesove kvadraturne formule otvorenog tipa. One se razlikuju od prethodnih jer se kod njih ne pojavljuju vrednosti podintegralne funkcije na krajevima intervala integracije. Navedimo neke od njih: 127
x3
∫
(1)
f ( x) dx =
x0 x4
f ( x)dx =
∫
(2)
x0 x5
f ( x) dx =
∫
(3)
x0
3h 3h3 ( f1 + f 2 ) + f ''(ξ) , ( x0 < ξ < x3 ) ; 2 4
4h 14 (2 f1 − f 2 + 2 f 3 ) + h5 f (4) (ξ) , ( x0 < ξ < x4 ) ; 3 45
5h 95 5 (4) h f (ξ) , ( x0 < ξ < x5 ) . (11 f1 + f 2 + f3 + 11 f 4 ) + 24 144
Formula (1) se dobija kada se konstruiše interpolacioni polinom (prvog stepena) čiji grafik sadrži tačke ( x1 , f1 ) , ( x2 , f 2 ) i integrali od x0 do x3 . Prema tome, za integraciju se koriste ekstrapolacioni segmenti [ x0 , x1 ] i [ x2 , x3 ] . Dakle, kako je prvi Njutnov interpolacioni polinom koji sadrži tačke ( x1 , f1 ) i ( x2 , f 2 ) jednak x − x1 P1 ( x) = f1 + u ∆f1 , u = h to će biti x3
2
x0
−1
∫ P1 ( x) dx = h ∫ ( f1 + u ∆f1 ) du = 2
u2 1 = h f1u + ∆f1 = h 2 f1 + 2∆f1 + f1 − ∆f1 = 2 2 −1 3 3 3 = h 3 f1 + ∆f1 = h [ 2 f1 + ∆f1 ] = h( f1 + f 2 ). 2 2 2
Greška formule (1) je R ( h) ≈
x3
∫
x0
2 ∆ 2 f1 ∆ 2 f1 ⋅ ( x − x )( x − x ) dx = 1 2 ∫ 2 ⋅ hu ⋅ h(u − 1) ⋅ h du = 2!h 2 −1 2! h
u (u − 1) 2 h u3 u 2 = h∫ ⋅ ∆ f1 du = − 2 2 3 2 −1 2
2
⋅ ∆ 2 f1 = −1
h 2 3 3 ⋅ ∆ f1 ⋅ = h ⋅ ∆ 2 f1 ; 2 2 4
uzimajući da je ∆ f1 ≈ h f ''(ξ) dobijamo 3 R ≈ h3 f ''(ξ) , x0 < ξ < x3 . 4 2
9.
2
ČEBIŠOVLJEVA KVADRATURNA FORMULA
Neka treba izračunati integral b
(1)
I = ∫ f (t ) dt . a
128
Smenom
b−a a+b x+ 2 2 integral (1) se transformiše u sledeći integral t=
I=
1 a+bb−a b−a f x + dx = ∫ ∫ F ( x) dx , 2 2 −1 2 −1 1
pa opštost izlaganja neće biti smanjena ako budemo razmatrali integral 1
I = ∫ F ( x) dx .
(2)
−1
Potražimo kvadraturnu formulu u sledećem obliku 1
∫ F ( x) dx = A1 F ( x1 ) + A2 F ( x2 ) + ⋯ + An F ( xn ) ,
(3)
−1
gde su koeficijenti A1 , A2 , ..., An i apscise x1 , x2 , ..., xn neodreñeni parametri. Ako koeficijente Ai i apscise xi (i = 1, n) odredimo tako da budu ispunjeni uslovi: 1) svi koeficijenti su jednaki, tj. A1 = A2 = ⋯ = An ( = A) , 2) formula (3) je tačna za sve polinome x k , k = 0, n , onda se dobija Čebišovljeva kvadraturna formula. Dakle, formulu tražimo u obliku 1
n
−1
i =1
∫ F ( x) dx = A∑ F ( xi ) .
(4)
Ako je F ( x) ≡ 1 , onda je 1
n
1 ∫ 1 ⋅ dx = A∑ i =1
ili 2 = n ⋅ A ,
−1
pa je A =
2 i n 1
∫ F ( x) dx =
−1
2 n ∑ F ( xi ) . n i =1
Ako je F ( x) = x , k = 1, n , onda je k
1
∫
−1
x k dx =
2 n k ∑ xi , n i =1
ili n
∑ xik i =1
=
n 1 − (−1) k +1 ⋅ , k = 1, n , 2 k +1
odnosno 129
x1 + x2 + ⋯ + xn = 0, n x12 + x22 + ⋯ + xn2 = , 3 (5) …………………………………… n 1 − (−1) n +1 xn + xn + ⋯ + xn = ⋅ . n +1 2 Apscise Čebišovljeve kvadraturne formule se odreñuju iz sistema nelinearnih algebarskih jednačina (5). Za n = 1 se dobija kvadraturna formula 1
∫ F ( x) dx = 2 ⋅ F (0) ;
(6)
−1
za n = 2 imamo x1 + x2 = 0 , x12 + x22 =
odakle je x2 = − x1 = (7)
2 , 3
1 , pa je kvadraturna formula 3 1 1 1 ∫ F ( x) dx = F − 3 + F 3 ; −1
za n = 3 imamo x1 + x2 + x3 = 0 , x12 + x22 + x32 = 1 , x13 + x13 + x33 = 0 1 , pa je kvadraturna formula 2 1 1 2 1 (8) ∫ F ( x) dx = 3 F − 2 + F (0) + F 2 . −1 Za veće n dobijamo formule veće tačnosti. Navodimo tablicu apscisa Čebišovljeve kvadraturne formule za razne vrednosti n.
odakle je x2 = 0 , x3 = − x1 =
n 1 2 3
4
5
6
130
i 1 1,2 1,3 2 1,4 2,3 1,5 2,4 3 1,6 2,5 3,4
xi 0 K 0.577 350 269 1 K 0.707 106 781 2 0 K 0.794 654 472 3 K 0.187 592 474 1 K 0.832 497 487 0 K 0.374 541 409 6 0 K 0.866 246 818 1 K 0.422 518 653 8 K 0.266 635 401 5
n
7
9
i 1,7 2,6 3,5 4 1,9 2,8 3,7 4,5 6
xi K 0.883 861 700 8 K 0.529 656 775 3 K 0.323 911 810 5 0 K 0.911 589 307 7 K 0.601 018 655 4 K 0.528 761 783 1 K 0.167 906 184 2 0
Primećujemo da su apscise simetrično rasporeñene u odnosu na 0, središte odsečka [–1, 1], a za neparno n jedna je apscisa 0. Za n = 8 i n ≥ 10, kako je pokazao Bernštajn (С.Н. Бернштейн, 1880– 1968) tridesetih godina dvadesetog veka, sistem jednačina (5) nema realna rešenja; dakle, za n = 8 i n ≥ 10 ne postoji Čebišovljeva kvadraturna formula. To predstavlja suštinsko ograničenje za ovu formulu.
Primer 1. Koristeći Čebišovljevu kvadraturnu formulu za n = 3 i n = 5 izračunati 1 sin t Si (1) = ∫ dt . 0 t 1 1 x + ; tada imamo 2 2 1 sin 0.5(1 + x) Si (1) = ∫ dx . 1+ x −1 Izračunajmo vrednosti integranda u čvorovima x1 , x2 , x3 ; rezultati računanja su dati u sledećoj tabeli. Rešenje. Uvedimo novu promenljivu t =
i
xi
1 + xi
1 2 3
–0.707 107 0 –0.707 107
0.292 893 1 1.707 107
1 (1 + xi ) 2 0.146 447 0.500 000 0.853 554
Približna vrednost za n = 3 je Si (1) =
1 sin (1 + xi ) 2 0.145 924 0.479 425 0.753 621
F ( xi )
0.498 216 0.479 425 0.441 461 1.419 102
2 ⋅ 1.419102 = 0.946068 . 3
Na potpuno isti način formiramo sledeću tabelu. i
xi
1 + xi
1 2 3 4 5
–0.832 497 –0.374 541 0 –0.374 541 –0.832 497
0.167 503 0.625 459 1 1.374 541 1.832 497
1 (1 + xi ) 2 0.083 752 0.312 730 0.500 000 0.587 270 0.916 248
1 sin (1 + xi ) 2 0.083 654 0.307 637 0.479 425 0.634 429 0.793 323
F ( xi )
0.499 418 0.491 890 0.479 425 0.461 557 0.432 919 2.365 209
2 ⋅ 2.365209 = 0.946084 . Radi pore5 ñenja, tačna vrednost Si (1) = 0.946083 , gde su sve cifre sigurne u užem smislu. ▲ Približna vrednost za n = 5 je Si (1) =
Greška Čebišovljeve kvadraturne formule je za:
131
1 f ''(ξ) , 3 1 (4) n = 2 : R2 ( f ) = f (ξ) , 135 1 (4) n = 3 : R3 ( f ) = f ( ξ) , 360 2 n = 4 : R4 ( f ) = f (5) (ξ) , 42525 a ξ ∈ (−1,1) .
13 f (6) (ξ) , 544320 1 n = 6 : R6 ( f ) = f (8) (ξ) , 3969000 281 n = 7 : R7 ( f ) = f (8) (ξ) , 1959552000 74747 n = 9 : R9 ( f ) = f (10) (ξ) , 11200 ⋅ 9 ⋅ 11!
n = 1 : R1 ( f ) =
n = 5 : R5 ( f ) =
10. GAUSOVA KVADRATURNA FORMULA Neka treba izračunati integral b
I = ∫ f (t ) dt .
(1)
a
Smenom
b−a a+b x+ 2 2 integral (1) se transformiše u integral t=
1
I = ∫ F ( x) dx ,
(2)
−1
b−a a+bb−a , i opštost izlaganja neće biti smanjena. gde je F ( x) = f x+ 2 2 2
Potražimo kvadraturnu formulu u sledećem obliku (3)
I=
1
∫ F ( x) dx = A1 F ( x1 ) + A2 F ( x2 ) + ⋯ + An F ( xn ) ,
−1
gde su koeficijenti A1 , A2 , ..., An i apscise x1 , x2 , ..., xn neodreñeni parametri. Ako koeficijente Ai i apscise xi (i = 1, n) odredimo tako da kvadraturna formula (3) bude tačna za polinome što je moguće višeg stepena, onda se dobija Gausova kvadraturna formula. Kako u jednakosti (3) imamo 2n nepoznatih parametara (n koeficijenata Ai i n apscisa xi ), to ćemo uzeti da formula (3) bude tačna za sve polinome F ( x) = x k , k = 0, 2n − 1 . Dakle, imaćemo 2 = A1 + A2 + ⋯ + An , 0 = A1 x1 + A2 x2 + ⋯ + An xn ,
(4)
132
2 = A1 x12 + A2 x22 + ⋯ + An xn2 , 3 ⋮
2 = A1 x12 n − 2 + A2 x22 n − 2 + ⋯ + An xn2 n − 2 , 2n − 1 0 = A1 x12 n −1 + A2 x22 n −1 + ⋯ + An xn2 n −1.
Jasno je da se ovaj sistem od 2n jednačina sa 2n nepoznatih teško rešava; sistem je nelinearan po xi a linearan po Ai . Razmotrimo, za početak, način rešavanja sistema (4) za n = 1, 2, 3. Za n = 1 sistem (4) postaje 2 = A1 , 0 = A1 x1 , odakle je A1 = 2 i x1 = 0 . Prema tome, Gausova kvadraturna formula u ovom slučaju glasi 1
∫ F ( x) dx = 2 F (0) ;
−1
formula je tačna za sve polinome nultog i prvog stepena. Za n = 2 sistem (4) postaje A1 + A2 = 2, A1 x1 + A2 x2 = 0, 2 A1 x12 + A2 x22 = , 3 3 3 A1 x1 + A2 x2 = 0,
odakle se dobija A1 = A2 = 1 , x2 = − x1 =
1 . Prema tome, Gausova kvadraurna 3
formula u ovom slučaju glasi 1 1 + F ; −1 3 3 formula je tačna za sve polinome nultog, prvog, drugog i trećeg stepena. Za n = 3 sistem (4) postaje 1
∫ F ( x)dx = F −
A1 + A2 + A3 = 2, A1 x1 + A2 x2 + A3 x3 = 0, 2 , 3 A1 x13 + A2 x23 + A3 x33 = 0,
A1 x12 + A2 x22 + A3 x32 =
2 , 5 A1 x15 + A2 x25 + A3 x35 = 0.
A1 x14 + A2 x24 + A3 x34 =
Dokazano je (videti, na primer, Kaiser S. Kunz – Numerical analysis, London, 1957.) da su čvorovi xi simetrično rasporeñeni u odnosu na koordinatni 133
početak, tj. dokazano je da je xi = xn −i +1 , a u slučaju neparnog broja n = 2s – 1 xs = 0 . Iskoristivši ovo svojstvo sistem se svodi na A1 + A2 + A3 = 2, A1 x1 − A3 x1 = 0, 2 A1 x12 + A3 x12 = , 3 3 3 A1 x1 − A3 x1 = 0, 2 , 5 A1 x15 − A3 x15 = 0.
A1 x14 + A3 x14 =
Kako je x1 ≠ 0 , to se iz druge jednačine dobija A1 = A3 , a iz treće i pete se 5 8 3 . Zatim, imamo da je A1 = A3 = i A2 = . Prema tome, 5 9 9 Gausova kvadraturna formula u ovom slučaju glasi
dobija x3 = − x1 =
1
5
∫ F ( x) dx = 9 F −
−1
3 8 5 1 + F (0) + F , 5 9 9 3
formula je tačna za sve polinome x k , k ≤ 5. Da bismo rešili sistem jednačina (4) u opštem slučaju, navešćemo bez dokaza neke stavove o Ležandrovim (A. M. Legendre, 1752–1833) polinomima. Ležandrov polinom n–tog stepena je Ln ( x) =
(5)
1 dn ( x 2 − 1) n , n = 0, 1, 2, ... n n 2 n ! dx
Tako imamo:
L0 ( x) = 1, L1 ( x) = x, 1 L2 ( x) = (3 x 2 − 1), 2 1 L3 ( x) = (5 x3 − 3 x), 2 1 L4 ( x) = (35 x 4 − 30 x 2 + 3), 8 1 L5 ( x) = (63x5 − 70 x3 + 15 x), 8 1 L6 ( x) = (231x 6 − 315 x 4 + 105 x 2 − 5), ... 16 134
Za Ležandrove polinome važi: 1) Ležandrovi polinomi obrazuju na segmentu [–1, 1] ortogonalan sistem, tj. 0, m ≠ n, L ( x ) L ( x ) dx ⋅ = 2 m ∫ n −1 2n + 1 , m = n; 1
m, n = 0,1, 2, ...
2) Ležandrov polinom Ln ( x) za n ≥ 1 ima n različitih realnih korena xi ∈ (−1, 1) , i = 1, n ; 3) Za Ležandrove polinome važi rekurentna formula (6) ( n + 1) Ln +1 ( x) − (2n + 1) xLn ( x) + nLn −1 ( x) = 0 , n = 1, 2, … ; ⌢ 2n + 1 4) Normirani Ležandrovi polinomi Ln ( x) = Ln ( x) , n = 0, 1, 2, ... 2 obrazuju na segmentu [–1, 1] ortonormiran sistem polinoma, tj. 1 ⌢ ⌢ 0, m ≠ n ∫ Ln ( x) ⋅ Lm ( x) dx = 1, m = n . −1
5) Ako je Qk ( x) proizvoljan polinom stepena k < n, onda je 1
∫ Ln ( x) ⋅ Qk ( x) dx = 0 ;
−1
6) Nepoznate x1 , x2 , ..., xn sistema (4), odnosno čvorovi kvadraturne formule (3), su nule Ležandrovog polinoma Ln ( x) . Prema tome, imajući u vidu osobine 2) i 6), pri rešavanju sistema (4) najpre se iz jednačine Ln ( x) = 0 odrede koreni x1 , x2 , ..., xn , a zatim se rešava sistem jednačina (4) koji je linearan po koeficijentima Ai (i = 1, n) . Ako uzmemo prvih n jednačina sistema (4), dobićemo sistem od n linearnih algebarskih jednačina sa n nepoznatih Ai (i = 1, n) . Determinanta tog sistema je Vandermondova determinanta D=
∏
n ≥ i > j ≥1
( xi − x j ) ≠ 0 .
Dakle, koeficijenti kvadraturne formule (3) jednoznačno su odreñeni i jednaki su 2 1 − x2 Ai = 2 2 i , (i = 1, n) . n Ln −1 ( xi ) Greška Gausove kvadraturne formule je (videti, na primer, Kaiser S. Kunz – Numerical analysis, London, 1957.) 2
(7)
(n !) 2 (2 n ) 22 n +1 Rn ( F ) = F (ξ) (2n + 1)(2n)! (2n)!
(−1 < ξ < 1) .
135
Očigledno je da se Gausovom kvadraturnom formulom postiže velika tačnost i za relativno mali broj čvorova integracije. Na primer, za n = 5 je R5 ( F ) ≈ 8.08 ⋅ 10−10 F (10) (ξ) , a za n = 7 je R7 ( F ) ≈ 2.13 ⋅ 10−15 F (14) (ξ) . Meñutim, primena formule za grešku (7) je komplikovana jer je računanje vezano za izračunavanje izvoda visokih redova (naravno, ako izvodi podintegralne funkcije uopšte postoje). Navedimo tablicu čvorova i koeficijenata Gausove kvadraturne formule za razne vrednosti n. n i xi Ai 1 1 0 2 2 K 0.577 350 269 1 1,2 1 3 1,3 K 0.774 596 669 2 5/9 2 0 8/9 4 1,4 K 0.861 136 311 6 0.347 854 845 1 2,3 K 0.339 981 043 6 0.652 145 154 9 1,5 K 0.906 179 845 9 0.236 926 885 1 5 2,4 K 0.538 469 310 1 0.478 628 670 5 3 0 0.568 888 888 9 1,6 K 0.932 469 514 2 0.171 324 492 4 6 2,5 K 0.661 209 386 5 0.360 761 573 0 3,4 K 0.238 619 186 1 0.467 913 934 6 1,7 K 0.949 107 912 3 0.129 484 966 2 7 2,6 K 0.741 531 185 6 0.279 705 391 5 3,5 K 0.405 845 151 4 0.381 830 050 5 4 0 0.417 959 183 7 1,8 K 0.960 289 856 5 0.101 228 536 3 8 2,7 K 0.796 666 477 4 0.222 381 034 5 3,6 K 0.525 532 409 9 0.313 706 645 9 4,5 K 0.183 434 642 5 0.362 683 783 4
Primer 1. Koristeći Gausovu kvadraturnu formulu za n = 4 izračunati π/ 4 dt I= ∫ . 1 2 0 1 − sin t 4 π π Rešenje. Uvedimo novu promenljivu t = x + ; tada imamo 8 8
136
I=
π1 8−1∫
dx
. 1 2π π 1 − sin x + 4 8 8 Izračunajmo vrednosti integranda u čvorovima x1 , x2 , x3 , x4 ; rezultati računanja su dati u sledećoj tabeli. i
xi
ti = π8 ( xi + 1)
sin ti
sin 2 ti
1 2 3 4
–0.861136 –0.339981 –0.339981 –0.861136
0.054532 0.259189 0.526209 0.730866
0.054505 0.256297 0.502259 0.667514
0.002971 0.065688 0.252264 0.445575
1 1 − sin 2 ti 4 0.999257 0.983578 0.936340 0.888606
F ( xi )
1.000372 1.008314 1.033107 1.060829
π [0.347855(1.000372 + 1.060829) + 0.652145(1.008314 + 1.033107)] = 8 π = ⋅ 2.048301 = 0.804366. 8
I=
Primer 2. Neka je dat integral 1
I n = ∫ | x |n dx , n = 1, 2, ... −1
Izračunati približnu vrednost integrala koristeći trapeznu, Simpsonovu i Gausovu kvadraturnu formulu i uporediti tačnost dobijenih rezultata. Podintegralnu funkciju računati u tri tačke. Rešenje. Za n = 1 i h = 1 dobijamo: 1 1 2 I1T = (1 + 2 ⋅ 0 + 1) = 1, I1S = (1 + 4 ⋅ 0 + 1) = , 2 3 3 3 8 5 3 10 3 I1G = F − = 0.86066… + F + F (0) = 9 5 9 5 5 9 1
2 , to je za n = 1 I1 = 1 . n +1 0 Dakle, redom imamo | I1 − I1T | = 0 – trapeznom formulom dobijamo tačnu vred2 1 nost, | I1 − I1S | = 1 − = – greška rezultata dobijenog primenom Simpsonove 3 3 formule, | I1 − I1G | = 1 − 0.86066… = 0.1393… < 0.14 – greška rezultata dobijenog primenom Gausove formule.
Kako je tačna vrednost integrala I n = 2 ∫ x n dx =
Za n = 2 i h = 1 dobijamo: 1 I 2T = (1 + 2 ⋅ 0 + 1) = 1, 2
1 2 I 2 S = (1 + 4 ⋅ 0 + 1) = , 3 3
137
3 8 5 3 53 3 8 2 F − + F + F (0) = + + ⋅ 0 = . 9 5 95 5 9 3 5 9 2 Tačna vrednost integrala je I = ; greška trapezne formule je | I − I 2T | = 3 2 1 = − 1 = , a Simpsonovom i Gausovom formulom se dobija tačna vrednost. 3 3 1 2 Za n = 3 i h = 1 dobijamo: I 3 = , I 3T = 1 , I 3S = , I 3G = 0.5164 ; greške 2 3 su redom jednake 0.5, tj. rezultat je 100% pogrešan, 0.167 i 0.0164. 2 Za n = 4 tačna vrednost je I 4 = , trapezna formula daje rezultat s 5 2 3 2 2 greškom − 1 = = 0.6 , Simpsonova ima grešku jednaku − = 0.267 a 5 5 5 3 2 2 Gausova − = 0. ▲ 5 5 Ovo uporeñivanje pokazuje, izmeñu ostalog, da se ponekad trapeznom formulom mogu dobiti tačniji rezultati nego Simpsonovom i Gausovom formulom. To se dogaña kada podintegralna funkcija nije glatka, kada ima prekidne izvode. Za podintegralne funkcije koje imaju dovoljan broj neprekidnih izvoda Gausovom formulom se dobijaju znatno tačniji rezultati nego Simpsonovom, a ovom tačniji nego trapeznom. I 2G =
11. KVADRATURNA FORMULA LOBATOA Gausova kvadraturna formula (10.3), što se lako može uočiti, ne uključuje vrednosti integranda u krajnjim tačkama intervala integracije, dakle, formula je otvorenog tipa. Meñutim, u izvesnim problemima mogu se iskoristiti i te vrednosti jer su one često date. Lobato je modifikovao Gausovu kvadraturnu formulu uključujući i te vrednosti, a posmatrao je samo slučajeve kada je broj čvorova n neparan. Dakle, apscise ili čvorovi kvadraturne formule Lobatoa se odreñuju iz jednačine d n−2 ( x 2 − 1) n −1 = 0 , n = 3, 5, ... (1) n−2 dx Tako je, na primer, za n = 3 d ( x 2 − 1) 2 = 0 , dx odnosno, 4 x( x 2 − 1) = 0 , pa je x1 = −1 , x2 = 0 i x3 = 1 . Naravno, to smo unapred mogli znati: –1 i 1 se uključuju kao krajevi intervala integracije a 0 kao 138
središte tog intervala. Koeficijente A1 , A2 i A3 odreñujemo iz sistema jednačina (prema (9.4)) A1 + A2 + A3 = 2, − A1 + A3 = 0, 2 A1 . + A3 = 3 1 4 Iz ovog sistema dobijamo koeficijente A1 = A3 = i A2 = , pa je kva3 3 draturna formula Lobatoa za n = 3 1 1 ∫ F ( x)dx = 3 [ F (−1) + 4 F (0) + F (1)] . −1 Za n = 5 imamo d3 ( x 2 − 1) 4 = 0 , dx3 3 3 odnosno, x( x 2 − 1)(7 x 2 − 3) = 0 , pa je x1 = −1 , x2 = − , x3 = 0 , x4 = i 7 7 x5 = 1 . Koeficijente A1 , A2 , A3 , A4 i A5 odreñujemo iz sistema jednačina (prema (9.4)) A1 + A2 + A3 + A4 + A5 = 2, − A1 − A1 +
3 A2 + 7 3 A2 + 7 3
3 − A1 − A + 7 2 9 A1 + A2 + 49
3 A4 + A5 = 0, 7 3 2 A4 + A5 = , 7 3 3
3 A4 + A5 = 0, 7 9 2 A4 + A5 = . 49 5 1 49 Iz ovog sistema jednačina dobijamo: A1 = A5 = , A2 = A4 = i 10 90 32 , pa je kvadraturna formula Lobatoa za n = 5 A3 = 45 1 3 3 1 ∫ F ( x)dx = 90 9 F (−1) + 49 F − 7 + 64 F (0) + 49 F 7 + 9 F (1) . −1 Na potpuno analogan način se dobijaju kvadraturne formule Lobatoa za n = 7, 9, ... Kod primene kvadraturne formule Lobatoa računanje je nešto jednostavnije ali je tačnost manja od tačnosti odgovarajuće Gausove kvadraturne formule.
139
Primer 1. Koristeći kvadraturnu formulu Lobatoa za n = 5 izračunati 5 dt . I =∫ 2 ln t 3 7 x + ; tada imamo 2 2 1 3 dx I= ∫ . 7 2 −1 3 ln x + 2 2
Rešenje. Uvedimo smenu t =
Izračunajmo vrednosti podintegralne funkcije u čvorovima −1, − 3 , 1. Računanje je dato u sledećoj tabeli. 7 3 7 ln ti F ( xi ) ti = xi + i xi 2 2 1 –1 2 0.694147 1.442695 2 –0.654654 2.518019 0.923472 1.082870 3 0 7/2 1.252764 0.798235 4 0.654654 4.481981 1.500066 0.666637 5 1 5 1.609438 0.621335 Približna vrednost integrala je 3 1 I = ⋅ ⋅ 155.38914 = 2.58982 . ▲ 2 90
3 , 0, 7
Ai 9 49 64 49 9
12. RUNGEOV PRINCIP PRIBLIŽNE OCENE GREŠKE NUMERIČKE INTEGRACIJE Jedan od najvažnijih zadataka u numeričkoj analizi je svakako ocena greške dobijene približne vrednosti. Ovde ćemo razmatrati pitanje ocene greške numeričke integracije. Dakle, ako treba izračunati približnu vrednost integrala b
(1)
I = ∫ f ( x) dx a
primenom neke kvadraturne formule n
(2)
I n = ∑ Ai f ( xi ) , i =1
onda se postavlja pitanje ocene greške ∆ = I − I n ili apsolutne greške ∆I n = | I − I n | . Ocena razlike I − I n , kao što znamo, po pravilu sadrži izvode visokog reda podintegralne funkcije ili integranda f ( x) . Na primer, imamo: b−a 2 R ( h) = − ⋅ h f ''(ξ) , ξ ∈ (a, b) – kod trapezne kvadraturne formule, 12 140
b − a 4 IV ⋅ h f (ξ) , ξ ∈ (a, b) – kod Simpsonove kvadraturne formule, 180 (b − a ) 2 n +1 ( n !) 4 f (2 n ) (ξ) , ξ ∈ (a, b) – kod Gausove kvadraturne formule. Rn = [(2n)!]3 (2n + 1) Ocena tih izvoda najčešće je praktično nemoguća a i kada je moguća, često je vrlo gruba. Osim toga, nije redak slučaj kada analitički izraz funkcije f ( x) nije poznat, pa samim tim ni izvodi ne mogu biti poznati i ocenjeni. U praksi se koristi jedan vrlo jednostavan način približne ocene greške numeričke integracije. Neka se greška kvadraturne formule može zapisati na sledeći način (3) R ( h) = O( h k ) ili R ( h) = Mh k , gde je h zadata dužina odsečka integracije ili neki njegov deo, k je fiksiran broj a veličinu M za datu funkciju, dati odsečak integracije i datu kvadraturnu formulu možemo posmatrati kao konstantu. Tako, na primer, za trapeznu kvadraturnu formulu je R ( h) = M 2 ⋅ h 2 , za Simpsonovu kvadraturnu formulu je R ( h) = −
R ( h) = M 4 ⋅ h 4 ili, uopšte, za Njutn–Kotesove kvadraturne formule R ( h) = M n ⋅ h
2 n2 + 2
n n gde je najveći ceo broj koji nije veći od . Metoda se zasniva na izraču2 2 navanju približnih vrednosti integrala (1) za korak h i korak 2h. Dakle, imamo: I = I 2 h + R (2h) ≈ I 2 h + M (2h) k = I 2 h + M ⋅ 2k ⋅ h k , I = I h + R ( h) = I h + M ⋅ h k ,
odnosno I = I 2 h + 2k R (h), I = I h + R ( h). Izjednačavanjem desnih strana ovih jednakosti dobijamo I 2 h + 2 k R ( h) = I h + R ( h) , a odavde je: I −I (4) R ( h) ≈ h k 2 h , 2 −1 I −I (5) I = I h + R ( h) = I h + h k 2 h . 2 −1 Za k = 2 imamo za trapeznu kvadraturnu formulu I −I R ( h) ≈ h 2 h ; 3 za k = 4 imamo za Simpsonovu kvadraturnu formulu I −I R ( h) ≈ h 2 h . 15 141
Kako ovakav način ocene greške važi u svim slučajevima kada se greška može prikazati u obliku (3), i ne samo kod numeričke integracije, dakle, kako je ovo zakonitost opšteg karaktera, a zakonitosti opšteg karaktera predstavljaju principe, to je poznat pod nazivom Rugeov princip ocene greške (Runge, C.).
13. RIČARDSONOVA METODA EKSTRAPOLACIJE Ako je za kvadraturnu formulu b
n
I = ∫ f ( x)dx = ∑ Ai f ( xi ) + R[ f ]
(1)
i =0
a
poznat red greške R = R[ f ] = O(h ) , k ≥ 1, onda se za ocenu tačnosti približne vrednosti k
b
n
I = ∫ f ( x) dx ≈ ∑ Ai f ( xi ) i =1
a
može iskoristiti metoda izračunavanja približnih vrednosti integrala I h1 i I h2 za dva različita koraka integracije h1 i h2 . Specijalno za h1 = 2h2 . Dakle, neka je R = O(h k ) , k ≥ 1 , (2) b−a gde je h = . Tada je n (3) R = M ⋅ hk , gde je za zadatu podintegralnu funkciju f ( x) , zadati interval integracije [a, b] i korak h veličina M konstantna. Izaberimo dva različita koraka integracije b−a b−a (4) i h2 = , n2 > n1 . h1 = n1 n2 Neka su I n1 i I n2 odgovarajuće približne vrednosti integrala I. Tada je b−a Rn1 = I − I n1 = M n1
(5)
k
k
b−a i Rn2 = I − I n2 = M , n2
pa je 1 1 I n2 − I n1 = M ⋅ (b − a ) k ⋅ k − k n1 n2
,
a odavde je (6)
(7)
142
k n n I n − I n1 . M = 1 2 ⋅ k2 k b − a n2 − n1 Uvrstimo li (6) u (3), dobićemo k n n I n − I n1 R = M ⋅ h k = 1 2 ⋅ k2 k b − a n2 − n1
k k b − a n1n2 I n2 − I n1 . ⋅ = ⋅ k k n n n2 − n1
Ako uzmemo da je h = h2 , tj. n = n2 , onda ćemo imati n1k ⋅ ( I n2 − I n1 ) . n2k − n1k Kako je I = I n2 + Rn2 , to je tačnija približna vrednost integrala I jednaka Rn2 = I − I n2 =
(8)
n1k ( I n − I n1 ) . n2k − n1k 2 Postupak nalaženja tačnije približne vrednosti I n1 , n2 pomoću približnih I n1 ,n2 = I n2 +
vrednosti I n1 i I n2 , pomoću formule (8), naziva se Ričardsonova metoda ekstrapolacije (Richardson). Zašto se naziva metoda ekstrapolacije? Pokazuje se da je za I n1 ≠ I n2 tačnija približna vrednost I n1 ,n2 , dobijena pomoću formule (8), izvan segmenta čiji su krajevi I n1 i I n2 . Zaista, ako je I n2 > I n1 , onda iz (8) imamo n1k ( I n − I n1 ) > I n2 = max{I n1 , I n2 } , n2k − n1k 2 ∉ [ I n1 , I n2 ] ; ako je I n2 < I n1 , onda je I n1, n2 = I n2 +
tj. I n1, n2
I n1, n2 = I n2 +
n1k ( I n − I n1 ) < I n2 = min{I n1 , I n2 } , n2k − n1k 2
tj. I n1, n2 ∉ [ I n2 , I n1 ] . Ako je I n1 = I n2 , onda je I n1, n2 = I n1 = I n2 . Uvedemo li oznaku (9) gde je β =
n2 = α , α > 1 , imaćemo n1 I n1, n2 = I n2 + β( I n2 − I n1 ) ,
1 . Vrednosti β se mogu tabelirati za različite vrednosti α i k. α −1 k
Primetimo da je, na primer, kod trapezne kvadraturne formule k = 2, pa je za h1 = 2h2 I −I I1, 2 = I 2 + 1 2 , 3 a kod Simpsonove kvadraturne formule je k = 4 i za h1 = 2h2 I −I I1, 2 = I 2 + 1 2 . 15 Mogu se dobiti i tačnije formule: I n1 , n2 , n3 ili I n1 , n2 , ..., nm . 143
Primer 1. Zadat je integral 1
I = ∫ arctg (1 + x 2 ) dx . 0
Koristeći trapeznu kvadraturnu formulu za n1 = 2 i n2 = 4 Ričardsonovom metodom ekstrapolacije izračunati I 2, 4 . Računati sa šest značajnih decimala. Rešenje. f ( x) Za n1 = 2, tj. h1 = 0.5 : x 0.0 0.785398 1 0.5 0.896055 2 1.0 1.107149 1 Za n2 = 4, tj. h1 = 0.25 : x 0.00 0.25 0.50 0.75 1.0
f ( x) 0.785398 0.815692 0.896055 1.001483 1.107149
1 2 2 2 1
I2 =
0.5 ⋅ 3.684657 = 0.921164 ; 3
I4 =
0.25 ⋅ 7.319007 = 0.914876 ; 2
22 ( I 4 − I 2 ) = 0.912780 ∉ [0.914876, 0.921164] . 42 − 22 Dakle, I = 0.91278. ▲ I 2, 4 = I 4 +
Primer 2. Zadat je integral 1
I = ∫ ln(1 + x + x 2 ) dx . 0
Koristeći Simpsonovu kvadraturnu formulu za n jednako 2, 4 i 8 Ričardsonovom metodom ekstrapolacije izračunati: I 2, 4 , I 2, 8 i I 4, 8 . Računati sa šest značajnih decimala. Rešenje. f ( x) 0.5 Za n = 2, tj. x I2 = ⋅ 3.337076 = 0.556179 ; h = 0.5: 0.0 0.000000 1 2 0.5 0.559616 4 1.0 1.098612 1 za n = 4, tj. x h = 0.25: 0.00 0.25 0.50 0.75 1.00
144
f ( x) 0.000000 0.271934 0.559616 0.838329 1.098612
1 4 2 4 1
I4 =
0.25 ⋅ 6.658896 = 0.554908 ; 3
1 (0.554908 − 0.556179) = 15 = 0.554823 ∉ [0.554908, 0.556179]
I 2,4 = 0.554908 +
za n = 8, tj. x h = 0.125: 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
f ( x) 0.000000 0.131576 0.271934 0.415828 0.559616 0.700929 0.838329 0.971016 1.098612
0.125 ⋅ 13.315766 = 0.554824 ; 3 1 = 0.554824 + (0.554824 − 0.556179) = 255 = 0.554819 ∉ [0.554824, 0.556179]; I8 =
1 4 2 I 2,8 4 2 4 1 2 I 4,8 = 0.554824 + (0.554824 − 0.554908) = 15 4 = 0.554818 ∉ [0.554824, 0.554908]. 1
14. ROMBERGOVA METODA Rombergova metoda numeričke integracije omogućava dobijanje kvadraturnih formula veće tačnosti pomoću kvadraturnih formula manje tačnosti. Pokažimo to na primeru primene trapezne kvadraturne formule. Neka treba izračunati integral b
I = ∫ f ( x) dx .
(1)
a
Podelom segmenta [a, b] na n, n ∈ N, jednakih delova dužine b−a hn = n imamo na osnovu uopštene trapezne kvadraturne formule h I = n [ f ( x0 ) + 2 f ( x1 ) + ⋯ + 2 f ( xn −1 ) + f ( xn )] + R( hn ) , 2 odnosno I = Tn(0) + R ( hn ) ,
gde je Tn(0) približna vrednost integrala (1), a greška je R( hn ) = α 2 hn2 + α 4 hn4 + α 6 hn6 + ⋯ ,
tj. greška je reda hn2 . Ako udvostručimo broj delova, tj. ako uzmemo h2 n =
hn b − a = , onda 2 2n
imamo hn (0) I = T2(0) n + R ( h2 n ) = T2 n + R 2
,
145
gde je greška približne vrednosti T2(0) n integrala (1) jednaka h R( h2 n ) = R n 2
hn2 hn4 hn6 = α + α + α +⋯ . 2 4 6 4 16 64
Eliminacijom α 2 hn2 iz jednakosti: I = Tn(0) + α 2 hn2 + α 4 hn4 + α 6 hn6 + ⋯ , 2 4 I = 4 ⋅ T2(0) n + α 2 hn + α 4
hn4 h6 + α6 n + ⋯, 4 16
dobijamo (0) 4 ⋅ T2(0) n − Tn + β4 hn4 + β6 hn6 + ⋯ , 3
I=
odnosno 4 6 I = T2(1) n + β 4 hn + β6 hn + ⋯
Dakle, greška približne vrednosti T2(1) n =
(0) 4 ⋅ T2(0) n − Tn 3
je reda hn4 . Ako broj delova ponovo udvostručimo, tj. ako uzmemo korak h4 n = =
b−a , onda ćemo imati 4n I = T4(1) n + β4
hn4 h6 + β6 n + ⋯ . 16 64
Eliminacijom β4 hn4 iz jednakosti: 4 6 I = T2(1) n + β 4 hn + β6 hn + ⋯ , 4 16 I = 16T4(1) n + β 4 hn + β6
hn6 + ⋯, 4
dobijamo I=
(1) 16 ⋅ T4(1) n − T2 n + γ 6 hn6 + γ 8 hn8 + ⋯ , 15
odnosno 6 8 I = T4(2) n + γ 6 hn + γ 8 hn + ⋯
Dakle, greška približne vrednosti (1) 16 ⋅ T4(1) n − T2 n T4(2) = n 15 6 je reda hn . 146
h2 n = 2
Analognim rasuñivanjem dolazimo do Rombergovih formula 4m ⋅ T2(kmn−1) − T2(km−1−n1) (2) T2(kmn) = , 4m − 1 m = 1, 2, 3, ...; k = 1, 2, 3, ... Izračunavanje integrala (1) se svodi na formiranje tabele u čijoj se prvoj koloni nalaze približne vrednosti dobijene primenom uopštene trapezne kvadraturne formule za: n, 2n, 4n, ... delova. U drugoj, trećoj, ... koloni se nalaze približne vrednosti dobijene pomoću Rombergovih formula (2). Dakle, imamo sledeću tabelu Tn(0) T2(1) n T2(0) n
T4(2) n T4(1) n
T8(3) n
T4(0) n
T8(2) n T8(1) n
⋱ ⋮
T8(0) n
⋮ ⋮
⋮
Primer 1. Koristeći Rombergove formule, zasnovane na trapeznoj kvadraturnoj formuli, izračunati približnu vrednost integrala 1
I = ∫ sh( x 2 ) dx . 0
Računati sa šest decimala. Rešenje. Izaberimo početni korak h2 = 0.5 , tj. uzmimo n = 2. Tada imamo: h2 = 0.5:
h4 = 0.25:
x 0.0 0.5 1.0
f ( x) 0.000000 0.252612 1.175201
1 2 1
x 0.00 0.25 0.50 0.75 1.00
f ( x) 0.0000000 0.0625407 0.2526120 0.5926360 1.1752010
1 2 2 2 1
T2(0) =
0.5 ⋅ 1.680425 = 0.420106 . 2
0.25 ⋅ 2.9907784 = 0.373847 ; 2 4 ⋅ 0.373847 − 0.420106 = = 0.358427 ; 3
T4(0) = T4(1)
Formirajmo tabelu. (Poloveći korak integracije tabelu ćemo dopunjavati.) 147
n=2
T(0) 0.420106
2n
0.373847
T(1)
T(2)
T(3)
...
0.358427 0.357916 0.357948 4n
0.361923
8n !
0.358918
0.357914 0.357914
0.357916
h8 = 0.125:
h16 = 0.0625:
x 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
f ( x) 0.0000000 0.0156256 0.0625407 0.1410890 0.2526120 0.4006350 0.5926360 0.8426470 1.1752010
1 2 2 2 2 2 2 2 1
0.125 ⋅ 5.7907716 = 0.361923; 2 4 ⋅ 0.361923 − 0.373847 T8(1) = = 0.357948; 3 16 ⋅ 0.357948 − 0.358427 T8(2) = = 0.357916; 15 T8(0) =
f ( x) x 0.0625 (0) 0.0000 0.00000000 1 T16 = 2 ⋅ 11.48537012 = 0.358918; 0.0625 0.00390626 2 4 ⋅ 0.358918 − 0.361923 (1) = 0.357916; 0.1250 0.01562560 2 T16 = 3 0.1875 0.03516350 2 16 ⋅ 0.357916 − 0.357948 (2) = 0.357914; 0.2500 0.06254070 2 T16 = 15 0.3125 0.09781150 2 64 ⋅ 0.357914 − 0.357916 = 0.357914. 0.3750 0.14108900 2 T32(3) = 63 0.4375 0.19257700 2 0.5000 0.25261200 2 0.5625 0.32171200 2 0.6250 0.40063500 2 0.6875 0.49045300 2 0.7500 0.59263600 2 0.8125 0.70916200 2 0.8750 0.84264700 2 1 0.9375 0.99651400 2 Dakle, I = ∫ sh( x 2 ) dx ≈ 0.35791 ▲ 1.0000 1.17520100 1 0 Razmotrimo sada primenu Simpsonove kvadraturne formule. Podelom segmenta [a, b] na n, n je paran broj, jednakih delova dužine b−a hn = n imamo na osnovu uopštene Simpsonove kvadraturne formule
148
h I = [ f ( x0 ) + 4 f ( x1 ) + 2 f ( x2 ) + ⋯ + 4 f ( xn −1 ) + f ( xn )] + R( hn ) , 3 odnosno I = S n(0) + R ( hn ) ,
gde je S n(0) približna vrednost integrala (1), a greška je R(hn ) = β4 hn4 + β6 hn6 + β8 hn8 + ⋯ ,
tj. greška je reda hn4 . Ako udvostručimo broj delova, tj. ako uzmemo h2 n =
hn b − a , onda će= 2 2n
mo imati hn (0) I = S 2(0) n + R ( h2 n ) = S 2 n + R 2
,
(0) gde je greška približne vrednosti S 2n integrala (1) jednaka
h R ( h2 n ) = R n 2
hn4 hn6 hn8 = β + β + β +⋯ 4 6 8 16 64 256
Eliminacijom β4 hn4 iz jednakosti: I = S n(0) + β4 hn4 + β6 hn6 + β8 hn8 + ⋯ 4 16 I = 16 S 2(0) n + β 4 hn + β6
hn6 h8 + β8 n + ⋯ 4 16
dobijamo I=
(0) 16 S 2(0) n − Sn + γ 6 hn6 + γ 8 hn8 + ⋯ , 15
odnosno I = S 2(1)n + γ 6 hn6 + γ 8 hn8 + ⋯
Dakle, greška približne vrednosti S 2(1)n =
(0) 16 S 2(0) n − Sn 15
je reda hn6 . Ako broj delova ponovo udvostručimo, tj. ako uzmemo korak h4 n = =
b−a onda ćemo imati 4n I = S 4(1)n + γ 6
h2 n = 2
hn6 h8 + γ8 n + ⋯ 64 256
149
Eliminacijom hn6 iz jednakosti: I = S 2(1)n + γ 6 hn6 + γ 8 hn8 + ⋯ , 64 I = 64 S 4(1)n + γ 6 hn6 + γ 8
hn8 +⋯ 4
dobijamo I=
64 S 4(1)n − S 2(1)n + δ8 hn8 + δ10 hn10 + ⋯ , 63
odnosno 8 10 I = S 4(2) n + δ8 hn + δ10 hn + ⋯ . Dakle, greška približne vrednosti 64 S 4(1)n − S 2(1)n = S 4(2) n 63 8 je reda hn . Analognim rasuñivanjem dolazimo do Rombergovih formula 4m +1 S 2( kmn−1) − S 2( km−1−n1) (3) , S 2( kmn) = 4m +1 − 1 m = 1, 2, 3, ...; k = 1, 2, 3, ... Izračunavanje integrala (1) svodi se na formiranje tabele u čijoj se prvoj koloni nalaze približne vrednosti dobijene primenom uopštene Simpsonove kvadraturne formule za: n, 2n, 4n, ... delova. U drugoj, trećoj, ... koloni se nalaze približne vrednosti dobijene pomoću Rombergovih formula (3). Dakle, imamo sledeću tabelu Sn(0)
S 2(1)n S2(0) n
S 4(2) n S 4(1)n
S8(3) n
S4(0) n
S8(2) n S8(1)n
⋱ ⋮
S8(0) n
⋮ ⋮
⋮
Primer 2. Koristeći Rombergove formule, zasnovane na Simpsonovoj kvadraturnoj formuli, izračunati približnu vrednost integrala 1
I = ∫ ch( x 2 ) dx . 0
Računati sa šest decimala. 150
Rešenje. Izaberimo početni korak h2 = 0.5, tj. uzmimo n = 2. Tada imamo: h2 = 0.5:
h4 = 0.25:
x 0.0 0.5 1.0
f ( x) 1.000000 1.031413 1.543081
1 4 1
x 0.00 0.25 0.50 0.75 1.00
f ( x) 1.000000 1.001954 1.031413 1.162419 1.543081
1 4 2 4 1
S2(0) =
0.5 ⋅ 6.668733 = 1.111456 ; 3
0.25 ⋅ 13.263399 = 1.105283 ; 3 16 ⋅ 1.105283 − 1.111456 = = 1.104871 ; 15
S4(0) = S 4(1)
Formirajmo tabelu. (Poloveći korak integrracije tabelu ćemo dopunjavati.) n=2
S(0) 1.111456
2n
1.105283
S(1)
S(2)
S(3)
1.104871 1.104739 1.104741 4n
1.104775
8n
1.104740
1.104738 1.104738
1.104738 h8 = 0.125:
h16 = 0.0625:
x 0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000
f ( x) 1.000000 1.000122 1.001954 1.009904 1.031413 1.077269 1.162419 1.307691 1.543081
1 0.125 4 S8(0) = ⋅ 26.514597 = 1.104775; 3 2 4 S (1) = 16 ⋅ 1.104775 − 1.105283 = 1.104741; 8 15 2 4 (2) 64 ⋅ 1.104741 − 1.104871 S = = 1.104739; 2 8 63 4 1
x 0.0000 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375
f ( x) 1.000000 1.000008 1.000122 1.000618 1.001954 1.004772 1.009904 1.018374
1 4 2 4 2 4 2 4
0.0625 ⋅ 53.027537 = 1.104740; 3 16 ⋅ 1.104740 − 1.104775 S16(1) = = 1.104738; 15 64 ⋅ 1.104738 − 1.104741 S16(2) = = 1.104738; 63 256 ⋅ 1.104738 − 1.104738 = 1.104738. S16(3) = 255 S16(0) =
151
0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1.0000
1.031413 1.050475 1.077269 1.113797 1.162419 1.225933 1.307691 1.411751 1.543081
2 4 2 4 2 4 2 4 1
1
Dakle, I = ∫ ch( x 2 ) dx = 1.10474 . ▲ 0
Ako bismo uporedili tačnost Rombergovih formula (2) i (3), onda bismo mogli zaključiti da su formule (3) tačnije od formula (2) – formule (3) su „za jedan korak“ ispred formula (2). Napomenimo da se Rombergove formule mogu izvesti polazeći i od drugih kvadraturnih formula.
15. IZRAČUNAVANJE PRIBLIŽNIH VREDNOSTI NESVOJSTVENIH INTEGRALA Poznato je da je integral b
I = ∫ f ( x) dx
(1)
a
svojstven ako su ispunjeni uslovi: 1) interval integracije [a, b] je konačan, 2) podintegralna funkcija (integrand) f ( x) ∈ C[a, b] . U suprotnom slučaju integral (1) je nesvojstven ili singularan integral. Takvi integrali se često pojavljuju u zadacima praktičnog karaktera. Posmatrajmo nesvojstveni integral ∞
I = ∫ f ( x) dx ,
(2)
a
gde je donja granica a konačan broj a f ( x) ∈ C[a, ∞) . Ako postoji konačna granična vrednost b
lim ∫ f ( x) dx ,
(3)
b →∞
a
integral (2) je konvergentan i tada je ∞
b
def
I = ∫ f ( x) dx = lim ∫ f ( x) dx . a
b →∞
a
Ako ne postoji konačna granična vrednost (3), onda je integral (2) divergentan i njegovo izračunavanje nema smisla. Dakle, prvo je potrebno ispitati 152
konvergenciju integrala (2) koristeći poznate (iz kursa Analize) kriterijume konvergencije. Pretpostavimo da integral (2) konvergira. Zapišimo ga na sledeći način ∞
∞
b
I = ∫ f ( x) dx = ∫ f ( x) dx + ∫ f ( x) dx , a
a
b
gde b treba izabrati tako da bude | I2 | =
∞
∫ f ( x) dx
<
b
ε , 2
Integral b
I1 = ∫ f ( x) dx a
ε primenom neke kvadraturne for2
je svojstven i izračunavamo ga s tačnošću mule, tj. tako da je | I1 − I S | =
b
∫ f ( x) dx − I S
<
a
ε , 2
gde je I S odgovarajuća približna vrednost integrala I1 , a ε > 0 tražena tačnost. Očigledno je ε ε (4) I − I S = I1 + I 2 − I S ≤ I1 − I S + I 2 < + = ε . 2 2 Na potpuno sličan način se izračunavaju približne vrednosti integrala oblika ∞
b
∫
f ( x) dx i
−∞
∫
f ( x) dx ,
−∞
gde je f ( x ) neprekidna funkcija na intervalu integracije. Dakle, nesvojstveni integral se zamenjuje svojstvenim integralom s konačnim granicama, dovoljno širokim, tako da je vrednost „zanemarenog“ dela integrala znatno manja od tražene tačnosti. Inače, nesvojstveni integral s beskonačnom jednom ili obema granicama pogodnom smenom može se svesti na nesvojstveni integral s konačnim granicama ili čak na svojstven integral.
Primer 1. S tačnošću ε = 0.01 izračunati približnu vrednost integrala ∞
I=∫ 1
x3 − x 2 + 1 dx . x5 + x 2 + 1
Rešenje. Zapišimo dati integral na sledeći način b
I =∫ 1
∞ x3 − x 2 + 1 x3 − x 2 + 1 dx + dx = I1 + I 2 ∫ 5 2 x5 + x 2 + 1 b x + x +1
153
Integral I1 je svojstven i možemo ga izračunati s potrebnom tačnošću primenom neke, na primer Simpsonove kvadraturne formule. Integral I 2 treba oceniti. Kako je za x ∈ [1, ∞) 0<
x3 − x 2 + 1 x3/ 2 ≤ 5 = x −7 / 2 , x5 + x 2 + 1 x
to je ∞ β 2 2 1 2 0 < I 2 ≤ ∫ x −7 / 2 dx = lim − x −5/ 2 = b −5/ 2 = ⋅ . b β→∞ 5 5 b5 5 b
Iz
nejednakosti
4 b≥ 0.05
2 1 ε ⋅ ≤ = 0.005 5 b5 2
dobijamo
4 b≥ 5ε
2/ 5
,
tj.
2/ 5
= 5.77… , pa možemo uzeti da je b = 6. Za b = 6 je ∞
0 < I2 = ∫ 6
x3 − x 2 + 1 2 1 dx ≤ ⋅ = 0.004536… < 0.00454 . 5 2 5 65 x + x +1
Integral x3 − x 2 + 1 dx 5 2 1 x + x +1 izračunaćemo pomoću Simpsonove kvadraturne formule s tačnošću 0.01 – – 0.00454 = 0.00546. Grešku ćemo proceniti koristeći Rungeov princip ocene 6 −1 greške. Dakle, izračunaćemo približne vrednosti I h i I h / 2 uzimajući h = = 4 = 1.25 . Računanje je dato u sledećoj tabeli. 6
I1 = ∫
x x3 − x 2 + 1 1.000 001.0000 1.625 002.6504 2.250 007.3281 2.875 016.4980 3.500 031.6250 4.125 054.1738 4.750 085.6094 5.375 127.3965 6.000 181.0000
x3 − x 2 + 1 01.0000 01.6280 02.7070 04.0618 05.6236 07.3603 09.2525 11.2870 13.4536
I1 = 0.21 , odnosno I = 0.21. ▲
154
f ( x)
0.3333 0.1087 0.0425 0.0197 0.0104 0.0061 0.0038 0.0025 0.0017
h 1 4 2 4 1
h/2 1 4 2 4 2 4 2 4 1
0.625 1.25 ⋅ 0.5410 = 0.2254 i I1;0.625 = ⋅ 0.9964 = 0.2076 , to 3 3 | I1;1.125 − I1;0.625 | 0.0178 = = 0.00118… < 0.00546 i možemo uzeti 15 15
Kako je I1;1.25 = je greška
x5 + x 2 + 1 0003.0000 0014.9716 0063.7275 0205.6872 0538.4688 1212.3330 2441.6279 4516.2323 7813.0000
Primer 2. Izračunati približnu vrednost integrala ∞
I=∫ 1
1 1 sin 2 dx . 2 x x
Tačnost ε = 0.00005. 1 1 Rešenje. Uvedimo novu promenljivu smenom x = . Dakle, dx = − 2 dt , t t 0 1 x 1 ∞ 1 , I = ∫ t 2 (sin t 2 ) ⋅ − 2 dt = ∫ sin t 2 dt , što je svojstven integral. Izračut 1 0 t 1 0 najmo poslednji integral aproksimirajući integrand Tejlorovim polinomom (Taylor, B., 1685–1731): sin t 2 = t 2 −
1 2 3 1 2 5 1 2 7 (t ) + (t ) − (t ) +… 3! 5! 7! 1
t3 1 t7 1 t11 1 t15 ∫ sin t dt = 3 − 6 ⋅ 7 + 120 ⋅ 11 − 5040 ⋅ 15 + ⋯ = 0 0 1 1 1 1 = − + − + ⋯ = 0.310268… = 0.3103. 3 42 1320 75600 1
2
Neka je interval integracije [a, b] konačan, ali podintegralna funkcija f ( x) ima konačan broj tačaka prekida. Bez smanjenja opštosti izlaganja razmotrićemo slučaj kada funkcija ima samo jednu tačku prekida. Dakle, neka je c ∈ [a, b] tačka prekida funkcije f ( x) . Ako postoje konačne jednostrane granične vrednosti: lim f ( x) = f (c − 0) ,
x →c − 0
lim f ( x) = f (c + 0)
x →c + 0
tj. ako je c tačka prekida prve vrste, onda se integral b
I = ∫ f ( x) dx
(5)
a
svodi na zbir dva svojstvena integrala b
(6)
c
b
I = ∫ f ( x) dx = ∫ f1 ( x) dx + ∫ f 2 ( x) dx , a
a
c
gde je f (c + 0), x = c, f ( x), x ∈ [ a, c ) , f 2 ( x) = f1 ( x) = x ∈ ( c, b ]. f (c − 0), x = c, f ( x),
155
Primer 3. Izračunati približnu vrednost integrala I=
0.5
∫
− 0.5
dx . 2 − 21/ x
Rešenje. Podintegralna funkcija nije definisana za x = 0. Kako je 1 i lim f ( x) = 0 , lim f ( x) = x →+ 0 x →− 0 2 to ćemo posmatrati funkcije: 1 1/ x f1 ( x) = 2 − 2 1 , 2
x ∈ [ −0.5, 0 ) , x = 0,
x = 0, 0, f 2 ( x) = 1 1 2 − 21/ x , x ∈ 0, 2
i integrale I1 =
0
∫
f1 ( x) dx i I 2 =
− 0.5
0.5
∫
f 2 ( x) dx .
0
Izračunajmo ove integrale primenom Simpsonove kvadraturne formule. x –0.500 –0.375 –0.250 –0.125 –0.000
f1 ( x) 0.571429 1 0.542738 0.516129 4 0.500978 0.500000 1
1 4 2 4 1
x 0.000 0.125 0.250 0.375 0.500
f 2 ( x) –0.000000 1 –0.003937 –0.071429 4 –0.229906 –0.500000 1
1 4 2 4 1
0.250 ⋅ 3.315945 = 0.26132875 , 3 0.125 I1;0.125 = ⋅ 6.278551 = 0.261606291 , 3 | I1;0.250 − I1;0.125 | = 0.0000185… ⇒ I1 = 0.261606 . 15 0.250 I 2;0.250 = ⋅ ( −0.785716) = −0.065476333 , 3 0.125 I 2;0.125 = ⋅ (−1.578230) = −0.065759583 , 3 | I 2;0.250 − I 2;0.125 | = 0.00001888… ⇒ I 2 = −0.065760 . 15 I1;0.250 =
I = I1 + I 2 = 0.1958 ; greška nije veća od 0.00005 =
1 ⋅ 10−4 . ▲ 2
Neka je c ∈ [a, b] tačka prekida druge vrste funkcije f ( x) i neka su δ1 > 0 i δ 2 > 0 . Ako postoji granična vrednost (7) onda je integral 156
b c −δ1 lim ∫ f ( x) dx + ∫ f ( x) dx , δ1 → 0 c +δ2 a δ2 → 0
b
I = ∫ f ( x) dx a
konvergentan, a ako ne postoji, integral je divergentan. Neka postoji konačna granična vrednost (7). Tada pišemo b
I = ∫ f ( x) dx =
c −δ1
∫
a
f ( x) dx +
c +δ2
∫
c −δ1
a
b
f ( x) dx +
∫
f ( x) dx .
c +δ2
Veličine δ1 i δ 2 biramo tako da bude I2 =
c +δ2
∫
f ( x) dx <
c −δ1
ε , 3
a svojstvene integrale I1 =
c −δ1
∫
∫
f ( x) dx
c +δ2
a
izračunavamo s tačnostima
b
f ( x) dx i I 3 =
ε ε i primenom neke kvadraturne formule, tj. tako 3 3
da je I1 − I S1 =
c −δ1
∫
a
f ( x)dx − I S1 <
ε i 3
I 3 − I S3 =
b
∫
c +δ2
f ( x)dx − I S3 <
ε , 3
gde su I S1 i I S2 odgovarajuće približne vrednosti integrala I1 i I 3 . Očigledno je tada I − I S = I1 + I 2 + I 3 − I S1 − I S3 =
(8)
, ε ε ε + + =ε 3 3 3 a ε > 0 tražena tačnost približne vrednosti I S integrala I. = I1 − I S1 + I 2 + I 3 − I S3 <
Ako se tačka c poklapa s jednim od krajeva intervala integracije, izloženi postupak se primenjuje u neznatno izmenjenom obliku. Meñu metodama približnog izračunavanja nesvojstvenih integrala s konačnim granicama značajno mesto zauzimaju multiplikativna i aditivna metoda izdvajanja singulariteta. Multiplikativna metoda sastoji se u sledećem. Neka treba izračunati nesvojstveni integral b
(9)
I = ∫ f ( x) dx , a
gde funkcija f ( x) ima jedan ili više singulariteta na konačnom odsečku [a, b]. Predstavimo podintegralnu funkciju u obliku proizvoda (10) f ( x) = p ( x) ⋅ ϕ( x) , 157
gde se p ( x) > 0 uzima za težinsku funkciju, a ϕ( x) je ograničena funkcija za x ∈[a, b] i ima na [a, b] dovoljan broj neprekidnih izvoda. Za približnu vrednost integrala (9) uzima se približna vrednost dobijena primenom kvadraturne formule izvedene za funkciju ϕ( x) s težinskom funkcijom p ( x) . Aditivna metoda sastoji se u sledećem. Podintegralna funkcija f ( x) integrala (9) predstavićemo u obliku zbira (11) f ( x) = ϕ( x) + ψ ( x) , gde funkcija ϕ( x) nema singulariteta i ima dovoljan broj neprekidnih izvoda, a ψ ( x) se može elementarno integraliti. Na taj način imamo b
b
b
I = ∫ f ( x) dx = ∫ ϕ( x) dx + ∫ ψ ( x) dx , a
a
a
pa integral b
I1 = ∫ ϕ( x) dx a
izračunavamo nekom od poznatih kvadraturnih formula a integral b
I 2 = ∫ ψ ( x) dx a
izračunavamo elementarno.
Primer 4. Izračunati približnu vrednost integrala 1 x e I =∫ dx . x 0 Rešenje. Predstavimo podintegralnu funkciju na sledeći način ex ex −1 − x 1 + x f ( x) = = + . x x x ex −1 − x Funkcija ϕ( x) = se može „dodefinisati“ u tački x = 0 graničnom x vrednošću ex − 1 − x lim =0. x →0 x Integral 1
I1 = ∫ ϕ1 ( x) dx , 0
gde je ϕ( x), x∈(0,1], ϕ1 ( x) = x = 0, 0, je svojstven i izračunavamo ga primenom neke, na primer, Simpsonove kvadra-
158
turne formule. x 0.00 0.25 0.50 0.75 1.00
ϕ1 ( x) 0.000000 1 0.068051 0.210324 4 0.423775 0.718282 1
0.50 ⋅ 1.559578 = 0.2599296… , 3 0.25 I1;0.25 = ⋅ 3.106234 = 0.2588528… , 3 | I1;0.50 − I1;0.25 | = 0.0000717… ⇒ I1 = 0.25885 . 15 I1;0.50 =
1 4 2 4 1
greška nije veća od 0.00008. Integral 1
I2 = ∫ 0
1+ x dx x
se može integraliti elementarno i dobija se: I 2 = I = I1 + I 2 = 0.25885 +
8 . Dakle, 3
8 = 2.9255 . ▲ 3
Nesvojstveni integrali se mogu izračunati metodom diferenciranja po parametru. Pokažimo to na sledećem primeru.
Primer 5. Metodom diferenciranja po parametru izračunati integral ∞ − x2 − 1 x2 e
I=∫
dx .
0
Rešenje. Neka je 2
∞ − x2 − t x2 e
I (t ) = ∫
dx ,
0
gde je t pozitivan parametar. Diferenciranjem dobijamo ∞
1 −x I '(t ) = −2t ∫ 2 e 0 x
2
−
t2 x2
dx .
Ako uvedemo novu promenljivu smenom y =
t , imaćemo x
2
∞ − y2 − t y2
I '(t ) = −2 ∫ e
dy = −2 I (t ) .
0
Dakle, dobili smo diferencijalnu jednačinu I '(t ) = −2 I (t ) . Njeno opšte rešenje je I (t ) = Ce −2t , gde je C proizvoljna konstanta. Kako je
159
∞
I (0) = ∫ e − x dx = 2
0
to je C =
π , 2
π i 2 I (t ) =
π −2t e . 2
Za t = 1 je: I (1) = I =
π −2 e = 0.1199378 . ▲ 2
16. OJLER–MAKLORENOVA KVADRATURNA FORMULA Izvoñenje Ojler–Maklorenove (Euler, L., 1707–1783; McLaurin, G. 1698– 1746) kvadraturne formule potpuno se razlikuje od izvoñenja Njutn–Kotesovih kvadraturnih formula i kvadraturnih formula Gansovog tipa. Za njeno izvoñenje potrebno je nešto reći o Bernulijevim brojevima i Bernulijevim polinomima (Bernoulli, J. 1654–1705). Posmatrajmo funkciju xetx (1) . ϕ(t , x) = x e −1 Funkcija ϕ(t , x) se može razviti u stepeni red po rastućim stepenima x, koji ravnomerno konvergira za | x | ≤ α < 2π . Dakle, koristeći poznato razlaganje 1 1 1 e x = 1 + x + x 2 + x3 + ⋯ , 1! 2! 3! odnosno 1 1 1 etx = 1 + (tx) + (tx) 2 + (tx)3 + ⋯ , 1! 2! 3! red koji odgovara funkciji (1) može se zapisati u obliku 1 1 1 x 1 + (tx) + (tx) 2 + (tx)3 + ⋯ ∞ tx Bn (t ) n xe 1! 2! 3! = (2) = x . ∑ x 1 1 1 e −1 2 3 n =0 n ! 1 + x + x + x + ⋯ − 1 2! 3! 1! Koeficijenti Bn (t ) , n = 0, 1, 2, ..., reda (2) se nazivaju Bernulijevi polinomi. Za t = 0 imamo ∞ B x f ( x) = x = ∑ n xn , (3) e − 1 n =0 n ! gde smo stavili da je Bn (0) = Bn . Koeficijenti Bn , n = 0, 1, 2, ..., reda (3) se nazivaju Bernulijevi brojevi. Odredimo koeficijente Bn , n = 0, 1, 2, ... 160
Za x = 0 imamo
B0 = f (0) = 1 . Odredimo ostale koeficijente: B1 , B2 , B3 , ... Na osnovu formule x x f ( x) = x = = 1 2 1 3 e −1 1 1 + x + x + x + ⋯ − 1 2! 3! 1! (5) ∞ B 1 1 = = ∞ = ∑ n xn 1 1 1 1 n! + x + x2 + ⋯ ∑ x n n =0 1! 2! 3! n = 0 ( n + 1)! dobijamo identitet
(4)
∞
1
∞
Bn n x ≡ 1. n =0 n !
∑ (n + 1)! x n ⋅ ∑
(6)
n =0
Pomnožimo li ove stepene redove i izjednačimo li koeficijente uz x s nulom, dobićemo sledeći beskonačni sistem linearnih jednačina Bn 1 B B 1 1 (7) ⋅ + n −1 +⋯ + 0 ⋅ = 0 , n = 1, 2, 3, ... , n ! 1! ( n − 1)! 2! 0! ( n + 1)! ili, posle množenja sa (n + 1)! i uzimajući u obzir da je ( n + 1)! = Cnn+−1k , k = 0,1, 2, ..., n + 1 , (n − k )!( k + 1)! imaćemo (8)
Cn1+1 ⋅ Bn + Cn2+1 ⋅ Bn −1 + ⋯ + Cnn+1 ⋅ B1 + 1 = 0 .
Ako uvedemo oznaku Bk = B k , onda (8) simbolički možemo zapisati na sledeći način ( B + 1) n +1 − B n +1 = 0 , n = 1, 2, 3, ... ,
ili, zamenjujući n + 1 sa n (9)
( B + 1) n − B n = 0 , n = 2, 3, 4, ... .
Stavljajući u formulu (9) redom n = 2, 3, 4, ... dobijamo beskonačni sistem linearnih jednačina 2 B1 + 1 = 0, 3B2 + 3B1 + 1 = 0, 4 B3 + 6 B2 + 4 B1 + 1 = 0, (10) 5 B4 + 10 B3 + 10 B2 + 5 B1 + 1 = 0, 6 B5 + 15 B4 + 20 B3 + 15 B2 + 6 B1 + 1 = 0, 7 B6 + 21B5 + 35 B4 + 35 B3 + 21B2 + 7 B1 + 1 = 0, …………………………………………………… 161
Iz sistema (10) redom nalazimo: 1 B1 = − , 2 1 B6 = , 42
1 B2 = , 6
1 , B5 = 0, 30 1 5 B7 = 0, B8 = − , B9 = 0, B10 = , 30 66 691 7 B11 = 0, B12 = − , B13 = 0, B14 = , B15 = 0, 2730 6 3617 43867 174611 B16 = − , B17 = 0, B18 = , B19 = 0, B20 = − , ... 510 798 330 B3 = 0,
B4 = −
Može se zaključiti: 1) Bernulijevi brojevi su racionalni brojevi, 2) B2 k +1 = 0 , k = 1, 2, 3, ... Dokažimo osobinu 2). Zaista, uzimajući u obzir da je B0 = 1 i B1 = − g ( x) = f ( x) − B1 x =
1 , imamo da je 2
∞ B x 1 + x = 1 + ∑ n xn e −1 2 n=2 n! x
a takoñe je x
−
x
x 1 x ex +1 x e 2 + e 2 x x g ( x) = x + x= ⋅ x = ⋅ x = ⋅ cth . x − 2 e −1 2 2 2 2 e −1 2 e −e 2
Kako je g (− x) = g ( x) , tj. kako je g ( x) parna funkcija, to se u njenom razvoju pojavljuju samo parni stepeni promenljive x, pa su Bn = 0 za n = 3, 5, 7, ... Funkcija f ( x) =
∞ B x 1 = 1 − x + ∑ 2k x2k 2 e −1 k = 2 (2 k )! x
se naziva generatrisa Bernulijevih brojeva. Koristeći simboličku oznaku Bk = B k generatrisa f ( x) može biti zapisana na sledeći, simbolički način f ( x) =
x = e Bx . e −1 x
Funkcija ϕ(t , x) =
xetx ex −1
naziva se generatrisa Bernulijevih polinoma Bn (t ) .
162
Nañimo eksplicitnu formulu za Bernulijeve polinome Bn (t ) , n = 0, 1, 2, ... Poñimo od izraza (2) i (3) kojima su definisani Bernulijevi polinomi i Bernulijevi brojevi: j ∞ t i xi ∞ B j x ∞ x n xetx = ⋅ Bn (t ) . =∑ ∑ ∑ e x − 1 i = 0 i ! j = 0 j ! n = 0 n !
Uporeñujući koeficijente uz x n na levoj i na desnoj strani poslednje jednakosti dobijamo n
1
1
∑ Bn −1 i !(n − i)! t i = n ! Bn (t ) , i =0
a odavde n n n! Bn −i t i = ∑ Bn −i t i , i = 0 i !( n − i )! i =0 i n
Bn (t ) = ∑
što znači da je Bernulijev polinom n–tog stepena jednak n n Bn (t ) = ∑ Bn −i t i . i =0 i
(11)
Nekoliko prvih Bernulijevih polinoma: B0 (t ) = 1, 1 1 1 B1 (t ) = B1t 0 + B0t1 = − + t , 2 0 1 2 2 2 1 B2 (t ) = B2t 0 + B1t1 + B0t 2 = − t + t 2 , 6 0 1 2 1 3 B3 (t ) = t − t 2 + t 3 , 2 2 1 B4 (t ) = − + t 2 − 2t 3 + t 4 , 30 1 5 5 B5 (t ) = − t + t 3 − t 4 + t 5 , … 6 3 2
Napomena. Formula (11) može se simbolički zapisati na sledeći način Bn (t ) = ( B + t ) n ,
gde u razvoju po binomnoj formuli simbolički stepen B i treba zameniti sa Bi . Bernulijevi brojevi i Bernulijevi polinomi primenjuju se u raznovrsnim zadacima matematike. Ovde ćemo iskoristiti Bernulijeve brojeve u Ojler–Maklorenovoj kvadraturnoj formuli. 163
Dakle, neka treba izračunati integral I=
(12)
xn
∫
f ( x) dx ,
x0
gde je funkcija f ( x) definisana za x ≥ x0 . Posmatrajmo operator konačne razlike ili diferencije ∆f ( x) = f ( x + h) − f ( x) , h > 0 i fiksirano.
(13)
Pod inverznim operatorom ∆ −1 podrazumevaćemo funkciju F ( x) koja zadovoljava konačno–diferencijsku jednačinu (14) ∆F ( x) = f ( x) , dakle F ( x ) = ∆ −1 f ( x ) .
(15)
Izračunajmo inverzni operator ∆ −1 f ( x) u slučaju kada je funkcija f ( x) zadata vrednostima f ( xi ) na skupu ekvidistantnih čvorova x0 , x1 , x2 , … , xn , … , ∆xi = xi +1 − xi = h , i = 0,1, 2, ...
Kako se nalazi inverzni operator? Posmatrajmo konačnu sumu i −1
(16)
S ( xi ) = ∑ f (x j ) , i = 0,1, 2, ... , j =0
gde ćemo uzeti da je S ( x0 ) = 0 . Očigledno je (17)
∆S ( xi ) = S ( xi +1 ) − S ( xi ) = f ( xi ) ,
a kako je, saglasno jednačini (14) (18) ∆F ( xi ) = f ( xi ) , to oduzimanjem jednakosti (17) od jednakosti (18) dobijamo ∆F ( xi ) − ∆S ( xi ) = ∆[ F ( xi ) − S ( xi )] = 0 , i = 0,1, 2, ...
Prema tome, razlika F ( xi ) − S ( xi ) ne zavisi od indeksa i, pa možemo staviti da je F ( xi ) − S ( xi ) = F ( x0 ) − S ( x0 ) = F ( x0 ) , odakle je F ( xi ) = F ( x0 ) + S ( xi ) ,
gde je F ( x0 ) proizvoljna konstantna veličina. Dakle, (19)
∆ −1 f ( xi ) = F ( x0 ) + S ( xi ) ,
što znači da je inverzni operator za konačnu razliku operator konačnog sumiranja. 164
Uvedimo operator diferenciranja na sledeći način df ( x) Df ( x) = . dx Pod inverznim operatorom D −1 podrazumeva se operator integracije x
D −1 f ( x) =
∫
f ( x) dx .
x0
Koristeći Tejlorov red nalazimo ∞ h k D k hk k D f ( x) = ∑ k =1 k ! k =1 k ! ∞
∆f ( x) = ∑
hD f ( x) = (e − 1) f ( x) ,
što znači da je operator ∆ = e hD − 1 ,
a inverzni operator je ∆ −1 =
(20)
1 e
hD
−1
.
Ako pomnožimo jednakost (20) sa hD, dobićemo hD ⋅ ∆ −1 =
(21)
hD . e −1 hD
Očigledno, na desnoj strani jednakosti (21) je generatrisa Bernulijevih brojeva, pa je hD ⋅ ∆ −1 =
∞
Bk k h D k =0 k !
∑
ili (22)
∞ B d −1 [∆ f ( x)] = ∑ k h k −1 D k f ( x) . dx k =0 k !
Integraleći jednakost (22) u granicama od x0 do xn , dobijamo ∆ −1 f ( xn ) − ∆ −1 f ( x0 ) =
∞ B 1 n f ( x ) dx + ∑ kk! h k −1[ f ( k −1) ( xn ) − f ( k −1) ( x0 )] h x∫0 k =1 x
ili n −1
F ( x0 ) + S ( xn ) − F ( x0 ) = S ( xn ) = ∑ f ( x j ) = j =0
=
∞ Bk k −1 ( k −1) 1 f ( x ) dx + h [f ( xn ) − f ( k −1) ( x0 )]. ∑ ∫ h x0 k =1 k !
xn
165
Uzimajući u obzir da je B1 = −
1 i B2 k +1 = 0 , k = 1, 2, 3, ... dobijamo kvad2
raturnu formulu xn
h f ( x) dx = [ f ( x0 ) + 2 f ( x1 ) + 2 f ( x2 ) + ⋯ + 2 f ( xn −1 ) + f ( xn )] − 2 x0 m B −∑ 2 k h 2 k [ f (2 k −1) ( xn ) − f (2 k −1) ( x0 )] + R2 m , k =1 (2k )!
I=
(23)
∫
gde je R2 m greška kvadraturne formule. Kvadraturna formula (23) je poznata kao Ojler–Maklorenova kvadraturna formula. U formuli (23) umesto beskonačnog reda uzeta je konačna suma. Naime, beskonačni red ne mora konvergirati, a u slučaju divergencije reda formula ne bi imala smisla. Ako uvrstimo vrednosti Bernulijevih brojeva, onda imamo I=
xn
∫
x0
(24)
h f ( x) dx = [ f ( x0 ) + 2 f ( x1 ) + 2 f ( x2 ) + ⋯ + 2 f ( xn −1 ) + f ( xn )] − 2
h2 h4 [ f '( xn ) − f '( x0 )] + [ f '''( xn ) − f '''( x0 )] − 12 720 h6 − [ f (5) ( xn ) − f (5) ( x0 )] + ⋯ − 30240 B − 2 m h 2 m [ f (2 m −1) ( xn ) − f (2 m −1) ( x0 )] + R2 m . (2m)! −
Greška Ojler–Maklorenove kvadraturne formule je R2 m = − n ⋅ h 2 m + 3 ⋅
(25)
B2 m + 2 f (2 m + 2) (ξ) , ξ ∈( x0 , xn ) (2m + 2)!
Ojler–Maklorenova kvadraturna formula (24) koristi se za približno izračunavanje integrala, a može se koristiti i za približno sumiranje vrednosti funkcije za ekvidistantne vrednosti argumenta. Zaista, iz formule (24) nalazimo n
∑ i =0
(26)
166
1 x 1 f ( x)dx + [ f ( x0 ) + f ( xn )] + ∫ h x0 2 m B + ∑ 2 k h 2 k −1[ f (2 k −1) ( xn ) − f (2 k −1) ( x0 )] + k =1 (2k )! B + n ⋅ h 2 m + 2 ⋅ 2 m + 2 f (2 m + 2) (ξ), ξ∈( x0 , xn ). (2m + 2)!
f ( xi ) =
Primer 1. Koristeći Ojler–Maklorenovu kvadraturnu formulu izračunati približnu vrednost integrala 1
I = ∫ e − x dx . 2
0
Računati sa šest decimala i uzeti korak h = 0.25. Rešenje. Vrednosti podintegralne funkcije u izabranim čvorovima su: x 0.00 0.25 0.50 0.75 1.00 f ( x) 1.000000 0.939413 0.778801 0.569783 0.367879 Imamo: 0.25 [1.000000 + 2(0.939413 + 0.778801 + 0.569783) + 0.367879] = 0.742984 2 Redom izvodi su: f '( x) = −2 xe − x , f '(0) = 0 , f '(1) = −2e −1 = −0.735759 ; 2
f ''( x) = (−2 + 4 x 2 )e − x ; 2
f '''( x) = (12 x − 8 x3 )e − x , f '''(0) = 0 , f '''(1) = 4e −1 = 1.471518 ; 2
f (4) ( x) = (12 − 48 x 2 + 16 x 4 )e − x ; 2
f (5) ( x) = (−120 x + 160 x3 − 32 x5 )e − x , 2
f (5) (0) = 0 , f (5) (1) = 8e −1 = 2.943036 .
Približna vrednost integrala je I = 0.742984 − +
(0.25) 2 (0.25) 4 [ −0.735759 − 0] + [1.471518 − 0] + 12 720
(0.25)6 [2.943036 − 0] = 0.746824. 30240
17. KONVERGENCIJA KVADRATURNIH PROCESA Kao što znamo, kvadraturne formule su sledećeg oblika b
(1)
n
n
i =1
i =1
I = ∫ f ( x) dx = ∑ Ai f ( xi ) + R[ f ] ≈ ∑ Ai f ( xi ) , a
gde su Ai koeficijenti, xi čvorovi (i = 1, n) a R[ f ] greške kvadraturne formule. Kvadraturne formule mogu se dobiti na razne načine: podintegralna funkcija f ( x) se aproksimira interpolacionim polinomom Ln ( x) , pa se umesto integracije funkcije f ( x) integrali polinom Ln ( x) ; podintegralna funkcija f ( x) se aproksimira Tejlorovim polinomom Tn ( x) , pa se umesto integracije 167
funkcije f ( x) integrali polinom Tn ( x) ; podintegralna funkcija se zamenjuje polinomima x k i zahteva se da kvadraturna formula bude tačna za sve polinome do odreñenog stepena, ... Koji način će se primeniti, to zavisi od načina zadavanja funkcije f ( x) , od osobina funkcije f ( x) , od tačnosti koja se želi postići, ... Ako se n povećava (broj koeficijenata i broj čvorova se povećava), onda se prirodno postavljaju pitanja: Da li se tačnost kvadraturne formule (1) povećava? Ako n → ∞ , da li greška kvadraturne formule teži nuli? Odgovoriti na ova i slična pitanja je važno ali vrlo teško. Primetimo, za početak, sledeće: s povećanjem broja koeficijenata i broja čvorova povećava se i obim računanja, pa se greške polaznih podataka prenose, transformišu i akumuliraju. Očekivano povećanje tačnosti ili se ne ostvaruje u potpunosti ili se uopšte ne ostvaruje. Zbog svega rečenog potrebno je razmotriti sledeće pitanje. Za funkcional b
(2)
L( f ) = ∫ f ( x) dx a
odrediti niz funkcionala n
(3)
Ln ( f ) = ∑ Ci( n ) f ( xi( n ) ) , i =1
gde su Ci( k ) elementi sledeće beskonačne trougaone matrice koeficijenata
(4)
C1(1) (2) C1 (3) C C= 1 ⋮ (k ) C1 ⋮
C2(2) C2(3)
C3(3)
C2( k )
C3( k )
, Ck( k )
(k ) a xi ∈ [a, b] su elementi sledeće beskonačne trougaone matrice čvorova
x1(1) (2) x1 (3) x X = 1 ⋮ (k ) x1 ⋮
x2(2) (3) (3) x2 x3 . (5) x2( k ) x3( k ) xk( k ) Koje uslove treba da zadovoljavaju koeficijenti Ci( k ) i čvorovi xi( k ) , elementi matrica C i X, da bi za proizvoljnu funkciju f ( x)∈C [a, b] bila tačna jednakost
168
b
lim Ln ( f ) = L( f ) = ∫ f ( x) dx ?
(6)
n →∞
a
Drugim rečima, koje uslove treba da zadovoljavaju koeficijenti Ci( k ) i čvorovi xi( k ) niza kvadraturnih formula (3) da bi kvadraturni proces konvergirao. Odgovor daje sledeća teorema.
Teorema. Da bi za proizvoljnu funkciju f ( x)∈C [a, b] bila tačna jednakost (6) potrebno je i dovoljno da jednakost važi za proizvoljan polinom i da je za proizvoljno n n
S n = ∑ | Ci( n ) | < M < ∞ . i =1
Dokaz. Dokažimo, prvo, da su uslovi dovoljni. Koristićemo, pri tome, poznatu Vajerštrasovu teoremu: za svaku funkciju f ( x)∈C [a, b] i proizvoljno maleno ε > 0 može se naći takav polinom P ( x) da bude ispunjeno | f ( x) − P ( x)| < ε za svako x∈[ a, b] . Dakle, b
b
L( f ) − Ln ( f ) = ∫ f ( x) dx − Ln ( f ) = ∫ [ f ( x) − P( x)] dx + a
(7)
a
b + ∫ P( x) dx − Ln ( P) − Ln ( f − P). a
Redom imamo: b
b
∫ [ f ( x) − P( x)]dx
b
≤ ∫ | f ( x) − P ( x)| dx ≤ ∫ εdx = ε(b − a ) ,
a
a
a
(koristili smo Vajerštrasovu teoremu); b
∫ P( x) dx − Ln ( P)
0.
Očigledno je n
n
i =1
i =1
Ln (ϕn ) = ∑ Ci( n ) ϕn ( xi( n ) ) = ∑ | Ci( n ) | ( = M n ) .
Uočimo neku od formiranih funkcija ϕn1 ( x) . Za ovu funkciju mora biti b
lim Ln (ϕn1 ) = ∫ ϕn1 ( x) dx .
n →∞
a
Meñutim, | ϕn1 ( x)| ≤ 1 za x ∈ [a, b] , pa je b
∫ ϕn ( x)dx 1
b
b
≤ ∫ | ϕn1 ( x)| dx ≤ ∫ 1 ⋅ dx = b − a
a
a
a
i | lim Ln (ϕn1 )| = n →∞
b
b
∫ ϕn1 ( x)dx ≤ ∫ | ϕn1 ( x)| dx ≤ b − a . a
a
Dakle, može se naći takav broj N1 da je za n > N1 | Ln (ϕn1 )| < e(b − a )
(e = 2.71828... je osnova prirodnih logaritama.) Dalje, može se naći takav broj n2 ≥ N1 da je M n2 > 2.2! Neka je funkcija ϕn2 ( x) jedna od konstruisanih funkcija. Posmatrajmo funkciju
ψ 2 ( x) =
170
1 1 ϕn1 ( x) + ϕn2 ( x) . 1! 2!
Ova funkcija je neprekidna i za nju mora važiti b
lim Ln (ψ 2 ) = ∫ ψ 2 ( x) dx ,
n →∞
a
odnosno b 1 1 1 1 lim Ln ϕn1 ( x) + ϕn2 ( x) = ∫ ϕn1 ( x) + ϕn2 ( x) dx . n →∞ 1! 2! 1! 2! a
Meñutim, | ϕn1 ( x)| ≤ 1 i | ϕn2 ( x)| ≤ 1 za x ∈ [a, b] , pa je b
b 1 1 b 1 1 ϕ ( x ) + ϕ ( x ) ≤ | ϕ ( x )| dx + | ϕn ( x)| dx ≤ n ∫ n1 ∫ n 2! 2 2!a∫ 2 1!a 1 a 1! 1 1 ≤ + (b − a ) < (e − 1)(b − a ) 1! 2!
i moguće je naći takav broj N 2 da je za n > N 2 1 1 Ln (ψ 2 ) = Ln ϕn1 ( x) + ϕn2 ( x) < e(b − a ) . 1! 2!
Postupak se može produžiti. Dakle, moguće je naći takav broj n3 > N 2 da je Mn3 > 3 ⋅ 3! Neka je ϕn3 ( x) jedna od konstruisanih funkcija. Posmatrajmo funkciju ψ 3 ( x) =
1 1 1 ϕn1 ( x) + ϕn2 ( x) + ϕn3 ( x) . 1! 2! 3!
Na analogan način se pokazuje da je 1 1 1 Ln (ψ 3 ) = Ln ϕn1 ( x) + ϕn2 ( x) + ϕn3 ( x) < e(b − a ) . 1! 2! 3!
Produžavajući ovaj postupak dobijamo red 1 1 1 ϕn1 ( x) + ϕn2 ( x) + ⋯ + ϕnk ( x) + ⋯ . 1! 2! k! Ovaj red je ravnomerno konvergentan, pa je njegova suma neprekidna funkcija. Označimo je sa f ( x) . Za proizvoljan broj k, k > 1, predstavimo ovu funkciju u obliku ∞ k −1 1 1 1 f ( x) = ∑ ϕni ( x) + ϕnk ( x) + ∑ ϕni ( x) k! i =1 i ! i = k +1 i !
i pri tome je (9)
1 k −1 1 ∞ 1 Lnk ( f ) = Lnk ∑ ϕni ( x) + Lnk ϕnk ( x) + Lnk ∑ ϕni ( x) . k! i =1 i ! i = k +1 i !
171
Ocenimo svaki od tri sabirka prethodne jednakosti. Kako je nk > N k −1 , to je ∞ 1 Lnk ∑ ϕni ( x) < e(b − a ) , i =1 i !
a kako je ∞
∞ 1 1 1 1 1 ϕni ( x) ≤ ∑ = + + ⋯ ≤ 1 + (k + 1)! k + 2 (k + 2)(k + 3) i = k +1 i ! i = k +1 i ! 1 1 1 1 1 ≤ + + ⋯ = ⋅ = 1 + 2 (k + 1)! k + 2 (k + 2) ( k + 1)! 1 − 1 k+2 1 k+2 k +1 , = < = (k + 1)!( k + 1) (k + 1)!k k ⋅ k !
∑
to je 1 ∞ 1 Lnk ∑ ϕni ( x) < ⋅ M nk i = k +1 i ! k ⋅k!
(11)
Funkcional srednjeg sabirka je 1 1 1 Lnk ϕnk ( x) = Lnk (ϕnk ( x)) = ⋅ M nk . k! k! k!
(12)
Koristeći (10), (11) i (12) na osnovu (9) dobijamo k −1 1 ∞ 1 1 Lnk ( f ) = Lnk ∑ ϕni ( x) + Lnk ϕnk ( x) + Lnk ∑ ϕni ( x) > i ! k ! i ! i =1 i = k +1 k −1 1 ∞ 1 1 > Lnk ϕnk ( x) − Lnk ∑ ϕni ( x) − Lnk ∑ ϕni ( x) > k! i =1 i ! i = k +1 i ! 1 1 1 1 > M nk − M n − e(b − a ) = M nk − − e(b − a ) > k! k ⋅ k! k k! k ⋅ k! 1 1 > k ⋅ k ! − − e(b − a ) = k − 1 − e(b − a ), k! k ⋅ k!
jer je M nk > k ⋅ k ! . Očigledno, desna strana poslednje nejednakosti teži beskonačnosti kada k → ∞ , pa Ln ( f ) ne može težiti ka
b
∫ f ( x) dx , što dokazuje da je i drugi uslov a
potreban. ■ 172
Koristeći dokazanu teoremu jednostavno se zaključuje da: Gausov kvadraturni proces uvek konvergira a Njutn–Kotesov kvadraturni proces ne konvergira n
– nije ispunjen uslov:
∑ | Ci( n ) | < M
za proizvoljno n.
i =1
Kako Čebišovljeve kvadraturne formule ne postoje za n = 8 i n ≥ 10, to se pitanje konvergencije ne može postaviti.
18. OPTIMIZACIJA KVADRATURNIH FORMULA Za izračunavanje približnih vrednosti integrala koriste se mnogobrojne kvadraturne formule, različite po obliku ili po načinu izvoñenja. Tako, na primer, neke kvadraturne formule uključuju vrednosti podintegralne funkcije ili integranda na krajevima intervala integracije i čine klasu kvadraturnih formula zatvorenog tipa a neke ne uključuju te vrednosti i čine klasu kvadraturnih formula otvorenog tipa. Klasa Njutn–Kotesovih kvadraturnih formula se dobija na sledeći način. Podintegralna funkcija se aproksimira nekim interpolacionim polinomom za zadati broj ekvidistantnih čvorova, pa se za približnu vrednost integrala uzima vrednost integrala interpolacionog polinoma. Kvadraturne formule Gausovog tipa se dobijaju na sledeći način. Čvorovi i koeficijenti kvadraturnih formula se odreñuju iz sistema jednačina koji se dobija na osnovu uslova da kvadraturna formula bude tačna za polinome što je moguće višeg stepena. Ojler–Maklorenova kvadraturna formula sadrži, osim vrednosti podintegralne funkcije u čvorovima integracije, i vrednosti izvodâ podintegralne funkcije u krajnjim čvorovima integracije. Ovo može biti izvesno ograničenje u primeni kvadraturne formule. Način izvoñenja, kao što je poznato, bitno je drugačije od načina izvoñenja prethodnih klasa kvadraturnih formula. Naravno, moguće je izvesti i drugačije kvadraturne formule polazeći od sličnih ili potpuno drugačijih zahteva. Meñutim, sledeće pitanje, pitanje koju kvadraturnu formulu primeniti u konkretnom slučaju ostaje bez odgovora. Značaj odgovora na postavljeno pitanje nije potrebno posebno naglašavati. Za numeričku matematiku, kao i za svaku praktičnu nauku, karakteristično je sledeće. Nove tipove zadataka treba rešavati postojećim ili novim metodama. U sledećoj etapi širi se i krug zadataka odreñenog tipa i broj metoda za njihovo rešavanje. Zatim se postavlja pitanje izbora najbolje, optimalne metode. Na kraju, rešavanje zadataka treba svesti na primenu odgovarajućih standardnih programa ili paketa programa. Naravno, čitav tok mora biti praćen teorijskim razmatranjima, pri tome se često postavljaju novi tipovi zadataka i novi problemi. Dakle, postoji izvesna unutrašnja logika razvoja svake nauke i svake oblasti odreñene nauke, pa i numeričke matematike. U numeričkoj matematici značajno mesto zauzima optimizacija rešavanja zadataka odreñenog tipa, odnosno izbor optimalne metode. Ovde postavljamo pitanje izbora optimalne metode numeričke integracije. Naravno, izbor zavisi od postavljenog kriterijuma optimalnosti. Kriterijum može biti: potreban broj 173
čvorova za postizanje zadate tečnosti, potrebno mašinsko vreme za rešavanje zadatka odreñenog tipa, ... Razmotrićemo pitanje izbora optimalne kvadraturne formule na odreñenim klasama funkcija. Neka treba izračunati približnu vrednost integrala (1) I ( f ) = ∫ p ( P) f ( P ) dP , Ω
gde je Ω oblast integracije a p ( P ) težinska funkcija. Pretpostavimo da podintegralna funkcija f ( P ) pripada zadatoj klasi funkcija F. Greška kvadraturne formule n
I ( f ) ≈ S n ( f ) = ∑ Ai f ( Pi )
(2)
i =1
na klasi funkcija F naziva se veličina (3) Rn ( F ) = sup | Rn ( f )| , f ∈F
gde je (4)
Rn ( f ) = I ( f ) − S n ( f ) .
Pod optimalnom ocenom greške kvadraturne formule na klasi F podrazumeva se donja granica (5) Wn ( F ) = inf Rn ( F ) . Ai , Pi
Ako postoji kvadraturna formula za koju je (6) Rn ( F ) = Wn ( F ) , onda takvu kvadraturnu formulu nazivamo optimalnom ili najboljom na posmatranoj klasi funkcija. Razmotrimo nekoliko primera klasa funkcija i odgovarajućih optimalnih kvadraturnih formula. Neka je f ∈ F = C1 ( A, [0, 1]) , gde C1 ( A, [0, 1]) predstavlja klasu neprekidnih funkcija sa deo po deo neprekidnim prvim izvorom koji zadovoljava uslov | f ′( x)| ≤ A , x ∈ [0, 1] . Dakle, treba izračunati integral 1
I ( f ) = ∫ f ( x) dx , f ∈C1 ( A, [0,1]) .
(7)
0
Kvadraturna formula je 1
(8)
n
I ( f ) = ∫ f ( x) dx ≈ S n ( f ) = ∑ Ai f ( xi ) , 0 ≤ x1 < x2 < … < xn ≤ 1 . 0
i =1
Pokazano je (Н. С. Бахвалов – Численные методы, I, Moskva, 1973, str. 140–146) da je optimalna kvadraturna formula n 2i − 1 (9) Sn ( f ) = ∑ f , 2n i =1 174
A . 4n Neka je f ∈C1(1) ( A, [0,1]) , gde C1(1) ( A, [0,1]) predstavlja klasu neprekidnih funkcija sa deo po deo neprekidnim prvim izvodom koji zadovoljava uslov a ocena greške je
1
∫ | f ′( x)| dx ≤ A . 0
Optimalna kvadraturna formula i u ovom slučaju je formula (9), ali ocena A greške je . 2n Važi uopšte: ako se koristi ograničenost izvoda f '( x) u bilo kom smislu, 1 ocena greške je O . n
19. NUMERIČKO IZRAČUNAVANJE VIŠESTRUKIH INTEGRALA Numeričko izračunavanje višestrukih integrala pokazaćemo na primeru izračunavanja dvostrukih integrala. Dakle, neka treba izračunati dvostruki integral I = ∫ ∫ f ( x, y ) dx dy .
(1)
G
Formule za numeričko izračunavanje dvostrukih integrala nazivaju se kubaturne formule. Jedan od načina izračunavanja približne vrednosti integrala (1) je uzastopna primena kvadraturnih formula. Pokazaćemo to na primeru primene Simpsonove kvadraturne formule. Neka je oblast integracije G pravougaonik R (sl. 4) odreñen nejednakostima a ≤ x ≤ b, c ≤ y ≤ d, tj. (2)
R{( x, y ); a ≤ x ≤ b, c ≤ y ≤ d } . y y2 = d
1
4
1
y1
4
16
4
y0 = c
1
4
1
x0 = a
x1
x2 = b
0
x
Sl. 4 175
Podelimo odsečke [a, b] i [c, d] na po dva jednaka dela dužina – koraka hx i hy : hx =
b−a 2
i hy =
d −c 2
Tačke podele označimo na sledeći način: x0 = a , x1 = x0 + hx , x2 = x1 + hx = x0 + 2hx = b , y0 = c , y1 = y0 + hy , y2 = y1 + hy = y0 + 2hy = d .
Na taj način smo oblast integracije – pravougaonik R aproksimirali mrežom čvorova ( xi , y j ) , i, j = 0, 1, 2 (3)
ωh = {( xi , y j ); xi = x0 + hx , i = 0,1, 2; yi = y0 + jhy , j = 0,1, 2} ,
Neka su zij = f ( xi , y j ) , i, j = 0,1, 2 , vrednosti podintegralne funkcije z = f ( x, y ) u čvorovima mreže (3). Sada imamo b d I = ∫ ∫ f ( x, y ) dx dy = ∫ ∫ f ( x, y ) dy dx . R a c
Primenom osnovne Simpsonove kvadraturne formule, prvo na „unutrašnji“ integral, pa onda na „spoljašnji“ dobijamo b h y I = ∫ [ f ( x, y0 ) + 4 f ( x, y1 ) + f ( x, y2 ) ] dx = a 3 b b hy b = ∫ f ( x, y0 ) dx + 4 ∫ f ( x, y1 ) dx + ∫ f ( x, y2 ) dx = 3 a a a h y hy = [ f ( x0 , y0 ) + 4 f ( x1 , y0 ) + f ( x2 , y0 ) ] + 3 3 hy + 4 ⋅ [ f ( x0 , y1 ) + 4 f ( x1 , y1 ) + f ( x2 , y1 ) ] + 3 hy + [ f ( x0 , y2 ) + 4 f ( x1 , y2 ) + f ( x2 , y2 ) ] = 3 hx hy = [( z00 + z20 + z02 + z22 ) + 16 z11 + 4( z10 + z01 + z21 + z12 )] = 9 hx hy = [σ0 + 4σ1 + σ2 ] , 9
gde smo, očigledno, koristili oznake: σ0 = z00 + z20 + z02 + z22 , σ1 = 4z11 i σ2 = 4( z10 + z01 + z21 + z12 ) .
176
Ako je oblast integracije – pravougaonik R velikih dimenzija, onda odsečke [a, b] i [c, d] delimo na 2n i 2m delova, odnosno uzimamo za korake hx =
b−a d −c , hy = . 2n 2m
Na taj način pravougaonik R aproksimiramo mrežom (sl. 5) (4)
ωh = {( xi , y j ); xi = x0 + ihx , i = 0, 2n; y j = y0 + jhy , j = 0, 2m} . Neka su zij = f ( xi , y j ) , i = 0, 2n , j = 0, 2m , vrednosti podintegralne
funkcije z = f ( x, y ) u čvorovima mreže (4). Odgovarajuća kubaturna formula – Simpsonova kubaturna formula je y d = y2m y2m – 1 y2m – 2 y2 y1 c = y0 0
a= x0
x1
x2n – 2 x2n – 1 x2n= b x
x2
Sl. 5 (5)
I = ∫ ∫ f ( x, y ) dx dy = R
hx hy 9
2n 2m
∑ ∑ Aij ⋅ zij , i =0 j =0
gde su koeficijenti Aij elementi sledeće matrice koeficijenata 1 4 2 4 2 4 16 8 16 8 2 8 4 8 4 A = ⋮ 2 8 4 8 4 4 16 8 16 8 1 4 2 4 2
… 4 2 4 1 … 16 8 16 4 … 8 4 8 2 . … 8 4 8 2 … 16 8 16 4 … 4 2 4 1
Umesto Simpsonove kvadraturne formule moguće je koristiti bilo koju drugu kvadraturnu formulu. 177
Ako je oblast integracije krivolinijska, onda prvo treba tu oblast aproksimirati pravougaonom oblašću (sl. 6), pa, zatim, posmatrati pomoćnu funkciju f ( x, y ), ( x, y )∈ R, f1 ( x, y ) = ( x, y )∈ R \ σ. 0, Na taj način bismo imali I = ∫ ∫ f ( x, y ) dx dy = ∫ ∫ f1 ( x, y ) dx dy . σ
R
Integral I = ∫ ∫ f1 ( x, y ) dx dy R
se izračunava primenom kubaturne formule (5). y
y
d
M2
0
x
b
a
MN
M3
R
c 0
(s)
M1
s
Sl. 6
x
Sl. 7
Drugi način dobijanja kubaturnih formula je sledeći. Neka je, dakle, podintegralna funkcija z = f ( x, y ) definisana i neprekidna u nekoj ograničenoj oblasti σ (sl. 7). Izaberimo u toj oblasti tačke Mi ( xi , yi ) , odnosno čvorove ( xi , yi ) , i = 1, N . Da bismo izračunali približnu vrednost dvostrukog integrala I = ∫ ∫ f ( x, y ) dx dy
(6)
σ
stavljamo da je N
(7)
I = ∫ ∫ f ( x, y ) dx dy = ∑ Ai f ( xi , yi ) + R[ f ] , σ
i =1
gde su Ai koeficijenti kubaturne formule koje treba odrediti, a R[ F ] je greška te formule. Koeficijente Ai odreñujemo iz uslova da formula (7) bude tačna za sve polinome (8) Pn ( x, y ) = ∑ ckl x k y l k +l ≤n
stepena ne većeg od n, tj. da bude greška R[ Pn ( x, y )] = 0 . Za to je potrebno i dovoljno da formula (7) bude tačna za sve polinome
178
xk yl , k + l ≤ n .
Dakle, ako u (7) uvrstimo f ( x, y ) = x k y l , dobićemo sistem linearnih algebarskih jednačina za odreñivanje koeficijenata Ai : n
∑ Ai xik yil = ∫ ∫ x k y l dx dy ,
(9)
i =1
k +l ≤n .
σ
Primer 1. Izračunati približnu vrednost integrala I=
0.6 0.4
∫ ∫ sin( x
2
+ y 2 ) dx dy .
0 0
Uzeti: hx = 0.3 i hy = 0.2 . Računati sa šest decimala. Rešenje. Izračunajmo vrednosti podintegralne funkcije f ( x, y ) = sin( x 2 + y 2 ) u čvorovima mreže ωh = {( xi , yi ); xi = 0 + i ⋅ 0.3, i = 0,1, 2; y j = 0 + j ⋅ 0.2, j = 0,1, 2} . Preglednosti radi rezultati računanja su dati u sledećoj tabeli. x y 0.0 0.2 0.4
0.0
0.3
0.000000 0.039989 0.159318
0.6
0.089879 0.352274 0.129634 16 0.389418 0.247404 0.496880
Tražena vrednost je 1 I = ⋅ 0.3 ⋅ 0.2 ⋅ 6.149376 = 0.040996 . ▲ 9 Na potpuno isti način, izvode se formule za približno izračunavanje integrala višestrukosti veće od dva. Neka, na primer, treba izračunati trostruki integral bd f
I = ∫ ∫ ∫ f ( x, y, z ) dx dy dz .
(10)
ac e
Oblast integracije – kvadar K = {( x, y, z ); a ≤ x ≤ b, c ≤ y ≤ d , e ≤ z ≤ f } aproksimirajmo mrežom ωh = {( xi , y j , zk ); x0 = a, x1 = b; y0 = c, y1 = d ; z0 = e, z1 = f } .
(11)
Neka su zijk = f ( xi , y j , zk ) , i, j , k = 0,1 , vrednosti podintegralne funkcije u čvorovima mreže (11). Primenimo osnovnu trapeznu kvadraturnu formulu I=
x1 y1 z1
∫∫∫
x0 y0 z0
y1 z1 f ( x, y, z ) dx dy dz = ∫ ∫ ∫ f ( x, y, z )dz dy dx = x0 y0 z0 x1
179
x1 y1 h = ∫ ∫ z [ f ( x, y, z0 ) + f ( x, y, z1 ) ] dy dx = x0 y0 2 x1 y y1 h 1 = ∫ z ∫ f ( x, y, z0 ) dy + ∫ f ( x, y, z1 ) dy dx = x0 2 y0 y0
hy hz hy [ f ( x, y0 , z0 ) + f ( x, y1 , z0 ) ] + [ f ( x, y0 , z1 ) + f ( x, y1 , z1 ) ] dx = 2 x0 2 2 x x x 1 1 1 h hy = z ⋅ ∫ f ( x, y0 , z0 ) dx + ∫ f ( x, y1 , z0 ) dx + ∫ f ( x, y0 , z1 ) dx + 2 2 x0 x0 x0 x1 h hy h + ∫ f ( x, y1 , z1 ) dx = z ⋅ z [ f ( x0 , y0 , z0 ) + f ( x1 , y0 , z0 ) ] + 2 2 2 x0 hx h + [ f ( x0 , y1 , z0 ) + f ( x1 , y1 , z0 ) ] + x [ f ( x0 , y0 , z1 ) + f ( x1 , y0 , z1 ) ] + 2 2 hx + [ f ( x0 , y1 , z1 ) + f ( x1 , y1 , z1 ) ] = 2 1 = ⋅ hx ⋅ hy ⋅ hz [ z000 + z100 + z010 + z110 + z001 + z101 + z011 + z111 ]. 8 =
x1
∫
Naravno, umesto trapezne kvadraturne formule može se primeniti bilo koja druga. Moguće je i kombinovati kvadraturne formule.
180
VI NUMERIČ KE METODE REŠAVANJA NELINEARNIH JEDNACINA JEDNAČ
0.
UVODNE NAPOMENE
Mnogobrojni su zadaci matematike i njenih primena koji se svode na rešavanje jednačina ili sistema jednačina. Svaka jednačina s jednom nepoznatom može se predstaviti u obliku (1) f ( x) = 0 gde je f ( x) funkcija, definisana u nekom konačnom ili beskonačnom intervalu X = {x; a < x < b}. Skup X ćemo zvati oblašću dopustivih vrednosti posmatrane jednačine. Rešenje ili koren jednačine (1) je ona vrednost x* ∈ X za koju je f ( x*) ≡ 0 (naravno, ako takva vrednost postoji). Rešiti jednačinu znači naći sva njena rešenja ili utvrditi da jednačina nema rešenja, ako ih, zaista, nema. Skup svih rešenja označićemo s Xr; dakle, X r = {x*; x* ∈ X ; f ( x*) ≡ 0} . Očigledno je Xr ⊆ X. U zavisnosti od toga kakve funkcije učestvuju u (1) jednačine se dele na dve osnovne klase jednačina: algebarske i transcendentne jednačine.
Primer 1. a) Sledeće jednačine su algebarske: Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , n ∈ N , ai ∈ R , i = 0, n , a0 ≠ 0 ; Rn ( x) ≡
a0 x n + a1 x n −1 + ⋯ + an = 0 , n ∈ N , m ∈ N , ai ∈ R , i = 0, n , a0 ≠ 0 , b0 x m + b1 x m −1 + ⋯ + am
bi ∈ R , i = 0, m , a0 ≠ 0 ;
x( x + 1) + 3 x + 2 + x + 6 = 0 ;
3x + 6 +
2x − 7 1+ x
−8 = 0
b) Sledeće jednačine su transcendentne: log a ( x 2 + 3 x + 9) = 10 ; e x + 3 − 6 x + 1 = 0 ; sin x + x = 11 ; x + arctg x + x = 2 ; log x + 3 = ecos x ; ln x 2 + 1 = x − 1 . ▲
Naći tačno rešenje jednačine (1) moguće je, kao što je poznato, samo u specijalnim slučajevima. Tako za rešavanje kvadratne jednačine x 2 + px + q = 0 koristi se poznata formula 181
x1,2 = −
p ± q
p2 −q . 4
Za rešavanje kubne jednačine x3 + px + q = 0
primenjuje se fomula x=3−
q q 2 p3 3 q q 2 p3 + + + − − + ; 2 4 27 2 4 27
primena ove formule je dosta komplikovana. Za rešavanje jednačine četvrtog stepena postoji takoñe formula, ali se zbog njene složenosti vrlo retko primenjuje. Dokazano je da ne postoji formula koja izražava rešenje algebarske jednačine Pn ( x) ≡ a0 x n + a1 x n −1 + ⋯ + an = 0 , n ∈ N , a0 ≠ 0 , n ≥ 5 ,
kao funkciju koeficijenata a0 , a1 , … , an pomoću aritmetičkih operacija i korenovanja. Ovu činjenicu dokazali su norveški matematičar Abel (Nils Abel, 1802–1829) i francuski matematičar Galoa (Everest Galois, 1811–1832). U mnogim slučajevima koeficijenti jednačina su približni brojevi, pa, zbog toga, o nalaženju tačnog rešenja nema smisla govoriti. Tačnost rešenja je ograničena tačnošću koeficijenata! Zbog toga su značajne metode za nalaženje približnih rešenja jednačine (1). Zadatak nalaženja rešenja smatra se rešenim, ako je rešenje izračunato s unapred zadatom tačnošću. Ako je x* tačno a x približno rešenje jednačine (1) s tačnošću ε (ε > 0), onda to znači da je | x* – x | ≤ ε. Za primenu većine metoda za nalaženje približnog rešenja jednačine (1) potrebno je prethodno utvrditi prirodu rešenja, a to znači utvrditi da li su rešenja realna ili kompleksna, zatim da li su jednostruka ili višestruka, itd. Sledeći posao je odreñivanje oblasti (odsečaka [a, b] ili krugova poluprečnika r) koji sadrže jedno i samo jedno rešenje jednačine (1). Približno rešenje x jednačine (1) nalazimo u dve etape: 1) odreñivanjem dovoljno male oblasti koja sadrži jedno i samo jedno tačno rešenje i 2) izračunavanjem približnog rešenja sa zadatom tačnošću.
1.
LOKALIZACIJA REŠENJA
Lokalizacija ili razdvajanje rešenja jednačine (1) sastoji se u odreñivanju odsečaka [a, b] u oblasti dopustivih vrednosti koji sadrže jedno i samo jedno rešenje te jednačine. (Imaćemo u vidu, ako drugačije ne naglasimo, samo realna rešenja.) Ako [a, b] sadrži jedno i samo jedno rešenje, onda ćemo reći da je to rešenje izolovano. Za dalje izlaganje biće nam potrebne sledeće, opšte poznate, teoreme. 182
Teorema 1. Ako je f ( x) ∈ C[a, b] i f (a ) ⋅ f (b) < 0 , onda jednačina f ( x) = 0 ima bar jedno rešenje x* ∈ ( a, b) (sl. 1).
y
y f(x)
0
a
x*1
b
x*2
f (x )
x
0
a
x* Sl. 2
Sl. 1
b
x
Teorema 2. Ako je f ( x) ∈ C[a, b] i monotona na [a, b] i ako je f (a ) ⋅ f (b) < 0 , onda jednačina f ( x) = 0 ima jedno i samo jedno rešenje x* ∈ ( a, b) (sl. 2). Teorema 2'. Ako je f ( x) ∈ C[a, b] , f (a ) ⋅ f (b) < 0 i ako postoji f '( x), x ∈ (a, b) i konstantnog je znaka, onda jednačina f ( x) = 0 ima jedno i samo jedno rešenje x* ∈ ( a, b) . Dokazi ovih teorema mogu se naći u svakom kompletnijem udžbeniku matematičke analize. Proces lokalizacije rešenja jednačine f ( x) = 0 počinjemo odreñivanjem znakova funkcije f ( x) na krajevima oblasti dopustivih vrednosti posmatrane jednačine. Zatim, odreñujemo znakove funkcije f ( x) u nizu tačaka x = a1 , a2 , … ∈ X . Ove tačke se biraju u zavisnosti od osobina funkcije f ( x) (monotonost, konkavnost, ...). Ako se pokaže da je f (ak ) ⋅ f (ak +1 ) < 0 , onda se na osnovu Teoreme 1. zaključuje da u intervalu ( ak , ak +1 ) jednačina f ( x) = 0 ima bar jedno rešenje. Da li je to rešenje izolovano ispituje se primenom Teoreme 2. ili Teoreme 2’. ili na neki drugi način. Često je praktično sužavanje intervala ( ak , ak +1 ) deleći ga na dva, četiri, ... jednakih delova (do nekog koraka) i utvrñivanjem znaka funkcije f ( x) u tačkama podele.
Primer 1. Lokalizovati rešenja jednačine f ( x) ≡ 8 x3 − 12 x 2 − 26 x + 15 = 0 . Rešenje. Sastavimo sledeću tabelu x znak f ( x)
–∞ –
–2 –
–1 +
0 +
1 –
2 –
3 +
+∞ + 183
Zaključujemo da jednačina ima tri realna rešenja; ta rešenja su u intervalima (–2, –1), (0, 1) i (2, 3). Koristeći poznatu činjenicu da algebarska, polinomijalna jednačina s realnim koeficijentima n–tog stepena ima n rešenja (računajući i njihovu višestrukost) zaključujemo da su intervali (–2, 1), (0, 1) i (2, 3) u isto vreme i intervali izolacije rešenja posmatrane jednačine. ▲
Primer 2. Lokalizovati rešenje jednačine f ( x) ≡ 2 x − 5 x − 3 = 0 . Rešenje. Oblast dopustivih vrednosti je X = (–∞, ∞). Budući da je f '( x) = 2 x ⋅ ln 2 − 5 , to iz f '( x) ≡ 2 x ⋅ ln 2 − 5 = 0 nalazimo da je nula prvog izvoda x = 2.85... Sastavimo sledeću tabelu uzimajući a1 = 2 < 2.85... < a3 = 3
x znak f ( x) znak f '( x)
2 –
–∞ + –
2.85... – 0
∞ +
3 – +
Zaključujemo da intervali (–∞, 2.85...) i (2.85..., ∞) sadrže po jedno i samo jedno rešenje date jednačine. Radi preciznijeg lokalizovanja rešenja sastavimo sledeću tabelu x –2 –1 0 1 2 3 4 5 6 znak f ( x) + + + – – – – – + Dakle, precizniji intervali izolacije rešenja su (–1, 0) i (4, 5). ▲ Sledeća teorema daje ocenu približnog rešenja.
Teorema 3. Neka je x* tačno a x približno rešenje jednačine f ( x) = 0 , pri čemu x* ∈ [ a, b] i x ∈ [a, b] . Ako je | f '( x) | ≥ m1 > 0 za x* ∈ [ a, b] , onda je | f (x ) | (2) . | x * −x | ≤ m1 Dokaz. Primenjujući Lagranževu teoremu o srednjoj vrednosti funckije dobijamo f ( x*) − f ( x ) = ( x * − x ) ⋅ f '(ξ ) , gde je ξ tačka izmeñu x* i x , dakle ξ ∈ [a, b] . Budući da je x* tačno rešenje, tj. f ( x*) = 0 , i | f (ξ ) |≥ m1 > 0 , to je | f ( x*) − f ( x ) | = | f ( x ) | ≥ m1 | x * − x |
a odavde dobijamo | x * −x | ≤
184
| f (x ) | .■ m1
Primer 3. Jednačina f ( x) ≡ 2 x − 5 x − 3 = 0 ima izolovano rešenje x* ∈ [–1, 0]. Ako za približno rešenje uzmemo x = −0.5 , proceniti grešku. Rešenje. Redom imamo: f ( x ) = f (−0.5) = 2−0.5 − 5( −0.5) − 3 = 0.2071068... , f '( x) = 2 x ln 2 − 5 , f ''( x) = 2 x (ln 2) 2 > 0 ,
pa je f '( x) rastuća funkcija na [–1, 0], a kako je f '( x) < 0 , to je | f '( x) | opadajuća funkcija. Na taj način zaključujemo da je za x ∈ [–1, 0] | f '( x) | ≥ | f '(0) |= 4.306852... > 4.30685 = m1 .
Konačno je
| x * − (−0.5) | ≤
0.207107... 1 = 0.0480877... < 0.5 = ⋅10−1 , 4.306852... 2
što znači da je približno rešenje x = −0.5 tačno na jednu decimalu u užem smislu. ▲
Napomena 1. Ocena (2) može dati grube rezultate, pa je nije uvek pogodno primenjivati. Naime, u relaciji f ( x*) − f ( x ) = ( x * − x ) ⋅ f '(ξ )
može se desiti da je: 1) | f ( x*) − f ( x ) | = ε , ε > 0 i maleno, a | x * − x | ≫ ε (sl. 3a), 2) | x * − x | = ε , ε > 0 i maleno, a | f ( x*) − f ( x ) | ≫ ε (sl. 3b). a)
b)
y
y
f (x )
f (x ) f (x )
0
x*
f (x ) x
ε x
0
x*
ε
x
x
Sl. 3 Očigledno, u prvom slučaju izvod f '( x) je blizak nuli a u drugom beskonačnosti. Dakle, ocena (2) je „neosetljiva” u tim graničnim slučajevima, pa je treba oprezno koristiti. 185
Napomena 2. Pouzdana ocena se dobija sužavanjem intervala izolacije (a, b) ∋ x * ; na taj način imamo (3) | x * −x | < b − a . Napomena 3. Približno rešenje x jednačine f ( x) = 0 ne može se oceniti direktnom zamenom. Naime, ako je f ( x ) = ε , ε maleno, ne mora x biti blisko tačnom rešenju x* (sl. 3a); isto tako, ako f ( x ) = ε nije malo, onda to ne znači da x nije blisko x* (sl. 3b). Naime, jednačina f ( x) = 0 , K ⋅ f ( x) = 0 , K je vrlo veliko, i k ⋅ f ( x) = 0 , k je vrlo maleno i različito od nule, ekvivalentne su meñu sobom. Sve tri jednačine identički zadovoljava tačno rešenje x*, a za približno rešenje x dobijamo redom f ( x ) = ε , K ⋅ f ( x ) = K ⋅ ε , k ⋅ f ( x ) = k ⋅ ε . 2.
METODA POLOVLJENJA ODSEČKA
Ideja ove metode sastoji se u sužavanju odsečka [a, b] koji sadrži izolovano rešenje x*. Neka je data algebarska ili transcendentna jednačina (1) f ( x) = 0 , gde je f ( x) ∈ C[a0 , b0 ] i f (a0 ) ⋅ f (b0 ) < 0 . Neka je x* ∈ [ a0 , b0 ] izolovano rešenje jednačine (1). Podelimo odsečak [ a0 , b0 ] na dva jednaka dela a0 , 12 (a0 + b0 ) i 12 (a0 + b0 ), b0 . Ako je f ( 12 (a0 + b0 ) ) = 0 , onda je 1 (a0 + b0 ) = x * traženo rešenje jednačine (1). (U opštem slučaju to se vrlo 2
retko može dogoditi.) Ako je f
( 12 (a0 + b0 ) ) ≠ 0 , onda biramo onaj od odsečaka
a0 , 12 (a0 + b0 ) i 12 (a0 + b0 ), b0 na čijim krajevima f ( x) ima različite znakove, tj. biramo onaj od odsečaka koji sadrži x*. Označimo taj odsečak sa [a1 , b1 ] . Podelimo odsečak [a1 , b1 ] na dva jednaka dela a1 , 12 (a1 + b1 ) i 12 (a1 + b1 ), b1 . Ako je f ( 12 (a1 + b1 ) ) = 0 , onda je 12 (a0 + b0 ) = x * traženo rešenje jednačine (1). (U opštem slučaju to se vrlo retko može dogoditi.) Ako je f ( 12 ( a1 + b1 ) ) ≠ 0 , onda biramo onaj od odsečaka a1, 12 (a1 + b1) i
12 ( a0 + b0 ), b0 na čijim krajevima f ( x) ima različite znakove, tj. biramo onaj odsečak koji sadrži x*. Označimo taj odsečak sa [ a2 , b2 ] . Postupak deljenja se nastavlja na isti način. Tako dobijamo beskonačan niz umetnutih (isčezavajućih) odsečaka [ a0 , b0 ] ⊃ [ a1 , b1 ] ⊃ [a2 , b2 ] ⊃ ... ⊃ [ak , bk ] ⊃ ... takvih da je 1 (2) f (ak ) ⋅ f (bk ) < 0 , x* ∈ [ak , bk ] , bk − ak = k (b0 − a0 ) , k = 0,1,... 2
186
Levi krajevi a0 , a1 , a2 ,..., ak ,... obrazuju monotono neopdajući i ograničeni niz, dakle, a0 ≤ a1 ≤ a2 ≤ ... ≤ ak ≤ ... < b0 , a desni nerastući i ograničeni niz, dakle, b0 ≥ b1 ≥ b2 ≥ ... ≥ bk ≥ ... > a0 .
Iz monotonosti i ograničenosti ovih nizova sledi lim ak = α i lim bk = β
k →∞
k →∞
i uz to je ak ≤ α ≤ β ≤ bk , k = 0, 1, 2,... Budući da je 1 (b0 − a0 ) = 0 , tj lim (bk − ak ) = 0 , k →∞ 2 k k →∞
lim (bk − ak ) = lim
k →∞
imamo da je lim ak = lim bk , tj. α = β = x * je jedinstvena tačka koja pripada k →∞
k →∞
umetnutim odsečcima [ ak , bk ] , k = 0, 1, 2,... Kako je f ( x) neprekidna funkcija, to prelaskom na limes u nejednakosti (2) dobijamo lim f (ak ) ⋅ f (bk ) = f (lim ak ) ⋅ f (lim bk ) = f ( x*) ⋅ f ( x*) = f ( x*) 2 ≤ 0 ,
k →∞
k →∞
k →∞
odnosno f ( x*) = 0 , što znači da je x* rešenje jednačine (1). Za približno rešenje možemo uzeti x = ak ili x = bk ; pri tome važi ocena greške 1 1 0 ≤ x * − ak ≤ k (b0 − a0 ) i 0 ≤ bk − x* ≤ k (b0 − a0 ) . 2 2 Meñutim, bolje je uzeti 1 x = xk = ( ak + bk ) ; (3) 2 tada je 1 1 (4) | x * − x |≤ (bk − ak ) = k +1 (b0 − a0 ) . 2 2 Ako x* nije izolovano (dakle, jedino u početnom odsečku) rešenje jednačine (1), onda primenom ove metode možemo odrediti jedno od tih rešenja jednačine (1). Metoda je veoma jednostavna, ali s povećanjem tačnosti povećava se znatno obim računanja. Zbog toga, ova metoda se primenjuje, po pravilu, kada se ne zahteva velika tačnost. Približna vrednost rešenja dobijena ovom metodom često se uzima za početnu aproksimaciju tačnog rešenja kod primene nekih drugih metoda. Nedostatak metode je, svakako, što je njeno uopštavanje na višedimenzione slučajeve (dakle, na sisteme jednačina) praktično nemoguće. 187
Primer 1. Metodom polovljenja odsečka rešiti jednačinu x 2 log 0.5 ( x + 1) = 1 . y 1 y = x1 Tačnost ε = ⋅ 10−2 . 2 Rešenje. Očigledno, x = 0 nije rešenje jednačine. Za x ≠ 0 napišimo jednačinu u obliku 1 log 0.5 ( x + 1) = 2 x x* 0 1 x i konstruišimo grafike funkcija (sl. 4) y = log 0.5(x + 1) 1 Sl. 4 y = log 0.5 ( x + 1) i y = 2 . x Jednačina ima jedno rešenje. Približna vrednost rešenja je –0.7. Iz sledeće tabele x –0.8 –0.6 znak f ( x) + – sledi x* ∈ [ −0.8, − 0.6] . Broj k odreñujemo iz sledeće nejednakosti 1 1 [−0.6 − (−0.8)] ≤ ⋅10−2 ; k +1 2 2 odavde dobijamo k ≥ 5 . Radi preglednosti računanje je dato u sledećoj tabeli. 2
ak bk xk k 0 –0.800 –0.600 1 –0.800 –0.700 2 –0.750 –0.700 3 –0.750 –0.725 4 –0.738 –0.725 5 –0.731 –0.725 6 –0.731 –0.728 Traženo približno rešenje je x = −0.73 . ▲
= 12 (ak + bk )
–0.700 –0.750 –0.725 –0.738 –0.731 –0.728 –0.730
znak f ( x) – + – + + –
Napomena. Radi jednostavnijeg izračunavanja vrednosti funkcije f ( x) = x 2 log 0.5 ( x + 1) − 1 pogodno je preći na dekadne logaritme log( x + 1) f ( x) = x 2 ⋅ −1 . log 0.5 3.
METODA SEČICE
Neka algebarska ili transcendentna jednačina (1) f ( x) = 0 , ima na odsečku [a, b] lokalizovano i izolovano rešenje (koren) x*; dakle, 188
f (a ) ⋅ f (b) < 0 i f ( x*) = 0 . Jedan od nedostataka, inače vrlo jednostavne metode polovljenja odsečka za rešavanje jednačine (1), je što se može desiti da je rešenje x* vrlo blisko jednom od krajeva početnog odsečka [a, b]. U tom slučaju umetnuti odsečci u početku imaju jedan kraj fiksiran (sl. 5): [ a, b] ⊃ [a1 , b] ⊃ [a2 , b] ⊃ ... , pa je konvergencija u početku nešto sporija. Bilo bi prirodnije početni odsečak (takoñe, i sledeće umetnute odsečke) deliti u razmeri različitoj od 1:1, na primer u razmeri f (a ) : f (b) .
y
y
B(b, f(b)) s0 s1
f (b ) a f(a)
0
a1 a2 f(a1)
a 0
a3 x* b x
x1
f (b )
x2 x*
f(a)
b x
A(a, f(a)) A1(x1, f (x1))
Sl. 5
Sl. 6
Neka, dakle, jednačina (1) ima izolovano rešenje x* ∈ [a, b] i neka je, odreñenosti radi, f (a ) < 0 i f (b) > 0 . Pretpostavimo da je f ( x) ∈ C 2 [a, b] . Ideja metode sečice (u literaturi se sreće i pod nazivima: metoda proporcionalnih delova, metoda linearne interpolacije i metoda pogrešnog pravila („regula falsi”)) sastoji se u tome da na odsečku [a, b] luk krive y = f ( x) aproksimiramo odgovarajućim odsečkom sečice s0 koja je odreñena tačkama A( a, f ( a )) i B (b, f (b)) (sl. 6). Za približnu vrednost rešenja x* uzimamo apscisu tačke u kojoj sečica s0 seče osu Ox . Neka je f '( x) > 0 i f ''( x) > 0 za x ∈ [a, b] . Jednačina sečice s0 , tj. sečice s AB je y − f (a) x−a . = f (b) − f (a ) b − a
Stavimo li y = 0 i x = x1 , dobićemo x1 = a −
f ( x) (b − a ) f (b) − f (a )
ili za x0 = a x1 = x0 −
f ( x0 ) (b − x0 ) . f (b) − f ( x0 )
Tačka x1 deli odsečak [a, b] u razmeri f (a ) : f (b) . Rešenje x* ∈ [ x1 , b] . Konstruišimo sečicu s1 koja je odreñena tačkama A1 ( x1 , f ( x1 )) i B (b, f (b)) . 189
Jednačina sečice s1 , tj. s A1B je y − f ( x1 ) x − x1 . = f (b) − f ( x1 ) b − x1 Stavimo li y = 0 i x = x2 , dobićemo f ( x1 ) x2 = x1 − (b − x1 ) . f (b) − f ( x1 ) Tačka x2 deli odsečak [ x1 , b] u razmeri f ( x1 ) : f (b) . Traženo rešenje x* ∈ [ x2 , b] . Produžimo li ovaj proces na isti način, dobićemo f ( xn ) (2) xn +1 = xn − (b − xn ) , x0 = a , n = 0,1, 2, ... f (b) − f ( xn ) Koristeći rekurentnu formulu (2) polazeći od x0 = a dobija se niz približnih rešenja (približavanja, aproksimacija, iteracija) (3) a = x0 < x1 < x2 < ... < xn < xn +1 < ... < x* < b . Niz (3) je monotono rastući i ograničen; tačka b je nepokretni kraj. Do istog rezultata se dolazi ako je f (a ) > 0, f (b) < 0, f '( x) < 0 i f ''( x) < 0 za x ∈ [a, b] ; za to je dovoljno posmatrati ekvivalentnu jednačinu − f ( x) = 0 (sl. 7). y f ′(x) < 0 y A(a, f(a)) f ′(x) < 0 A(a, f(a)) f ′′(x) > 0 f ′′(x) < 0
A1(x1, f(x1))
0
x0 = a
x1 x2
x*
B(b, f(b))
x
0
a x*
x2
x1
x0 = b x
B1 B(b, f(b))
Sl. 7 Sl. 8 Neka je sada f (a ) > 0, f (b) < 0, f '( x) < 0 i f ''( x) > 0 za x ∈ [a, b] (sl. 8). Na potpuno isti način dobija se sledeća rekurentna formula f ( xn ) (4) xn +1 = xn − ( xn − a ) , x0 = b , n = 0,1, 2,... f ( xn ) − f ( a ) i niz približnih rešenja (približavanja, aproksimacija, iteracija) a < x* < ... < xn +1 < xn < ... < x2 < x1 < x0 = b . (5) Niz (5) je monotono opadajući i ograničen; tačka a je nepokretni kraj. Do istog rezultata se dolazi ako je f (a ) < 0, f (b) > 0, f '( x) > 0 i f "( x) < 0 za x ∈ [a, b] ; za to je dovoljno posmatrati ekvivalentnu jednačinu − f ( x) = 0 (sl. 9). 190
Rekurentna formula se bira koristeći sledeće pravilo: 1) nepokretan je onaj kraj odsečka [a, b] za koji f ( x) i f ''( x) imaju isti B2 znak; 2) niz približnih vrednosti xn , x n = 0,1, 2,... je s one strane tačnog rešex* x0 = b 0 a x2 x 1 nja x* s koje f ( x) ima suprotan znak znaku f ''( x) . A(a, f(a)) Kako je niz približnih vrednosti xn , n = 0, 1, 2,... (bilo da je odreñen Sl. 9 relacijom (2) ili (4)) monoton i ograničen, to postoji lim xn = x * , a < x * < b .
y
f ′(x) > 0 f ′′(x) < 0 B1
B(b, f(b))
n →∞
Ako preñemo na limese, na primer, u relaciji (2), dobićemo f ( x *) x* = x * − (b − x *) , f (b) − f ( x *) odnosno f ( x *) = 0 . Kako jednačina f ( x) = 0 ima na [a, b] izolovano rešenje, to je x * = x * . Ako za približno rešenje uzmemo x = xn , onda tačnost možemo oceniti na sledeći način | f ( xn ) | | x * − xn | ≤ , m1 gde je 0 < m1 ≤ | f '( x) | za x ∈ [a, b] . Najčešće se uzima da je m1 = min | f '( x) | , x ∈ [ a, b] . Izvedimo još jednu ocenu tačnosti približnog rešenja xn . Pretpostavimo da: 1) f ( x) ∈ C1[a, b] ; 2) f '( x) ne menja znak; 3) [a, b] sadrži sve aproksimacije xn , n = 0,1, 2,... ; 4) važi nejednakost 0 < m1 ≤ | f '( x) | ≤ M 1 < ∞ . Poñemo li od rekurentne formule f ( xn −1 ) xn = xn −1 − ⋅ (b − xn −1 ) , n = 1, 2, 3,... , f (b) − f ( xn −1 ) imaćemo f (b) − f ( xn −1 ) − f ( xn −1 ) = ⋅ ( xn − xn −1 ) b − xn −1 i, budući da je f ( x*) = 0 , f (b) − f ( xn −1 ) (6) f ( x*) − f ( xn −1 ) = ⋅ ( xn − xn −1 ) . b − xn −1 191
Primenom Lagranževe teoreme na funkciju f ( x) na odgovarajućim odsečcima dobijamo (b − xn −1 ) ⋅ f '( xn −1 ) ( x * − xn −1 ) ⋅ f '(ξn −1 ) = ⋅ ( xn − xn −1 ) , b − xn −1 ξ n −1 ∈ ( xn −1 , x*) i xn −1 ∈ ( xn −1 , b) , odnosno ( x * − xn −1 ) ⋅ f '(ξn −1 ) = ( xn − xn −1 ) ⋅ f '( xn −1 ) .
Sada nalazimo x* = xn −1 + ( xn − xn −1 ) ⋅
f '( xn −1 ) f '(ξn −1 )
i
| f '( xn −1 ) − f '(ξ n −1 ) | ⋅ | xn − xn −1 | . | f '(ξ n −1 ) | Kako je 0 < m1 ≤ | f '( x) | ≤ M 1 < ∞ za x ∈ [a, b] , to je | x * − xn | =
| f '( xn −1 ) − f '(ξn −1 ) | ≤ M 1 − m1
i tražena ocena je
M 1 − m1 ⋅ | xn − xn −1 | . m1 Ako je M 1 ≤ 2m1 za x ∈ [a, b] , onda iz dobijene ocene (3) dobijamo
(7)
| x * − xn | ≤
| x * − xn | ≤ | xn − xn −1 | ,
odnosno, tačna je implikacija | xn − xn −1 | < ε ⇒ | x * − xn | < ε , gde je ε, ε > 0 , zadata tačnost. Kaže se da „važi kriterijum poklapanja dveju uzastopnih aproksimacija”. Napomenimo da se na dovoljno malom odsečku [a, b] uvek može postići da bude ispunjen uslov M 1 ≤ 2m1 . Inače, u opštem slučaju važi M 1 − m1 ⋅ | xn − xn −1 | < ε ⇒ | x * − xn | < ε . m1
Primer 1. Metodom sečice izračunati jedno rešenje jednačine f ( x) ≡ x3 − 3x − 1 = 0 . 1 Tačnost ε = ⋅ 10−4 . 2 Rešenje. Napišimo jednačinu u obliku x3 = 3x + 1 i konstruišimo u istom koordinatnom sistemu grafike funkcija y = x3 i y = 3 x + 1 (sl. 10). 192
Na osnovu sledeće tabele x –2 –1 0 1 2 znak f ( x) – + – – + zaključujemo da rešenja jednačine pripadaju odsečcima [–2, –1], [–1, 0] i [1, 2]. Izračunajmo rešenje x1* ∈ [1, 2] . Kako je f (1.5) = −2.125 < 0 , to x1* ∈ [1.5, 2] . Budući da je:
y
y = 3x + 11 y = x3
x*3 x*2 0 1x*1
x
f '( x) = 3 x 2 − 3 , f ''( x) = 6 x , M 1 = max | f '( x) | = f '(2) = 9 i m1 = min | f '( x) |= f '(1.5) = 3.75 Sl. 10 za x ∈ [1.5, 2] , to imamo da je M 1 = 9 ≤/ 2 ⋅ 3.75 = 7.5 = 2m1 , i ne važi „kriterijum poklapanja dveju uzastopnih aproksimacija”. Zbog toga ćemo koristiti ocenu greške | f ( xn ) | 1 | x * − xn | ≤ ≤ ⋅ 10−4 . m1 2 Primenimo metodu sečice na odsečku [1.5, 2]. Kako je f (2) = 1 > 0 i f "(2) = 12 > 0 , tj. f (2) ⋅ f '(2) > 0 , primenićemo formulu s fiksiranim krajem b = 2 , tj. f ( xn ) xn +1 = xn − ⋅ (b − xn ) , x0 = a = 1.5 , n = 0,1, 2,... f (b) − f ( xn ) Redom računamo f ( x0 ) f (1.5) ⋅ (b − x0 ) ili x1 = 1.5 − ⋅ (2 − 1.5) = 1.84000 , x1 = x0 − f (b) − f ( x0 ) f (2) − f (1.5) f (1.84000) x2 = 1.84000 − ⋅ (2 − 1.84000) = 1.87602 . I tako dalje. f (2) − f (1.84000) Radi preglednosti tok računanja je prikazan u sledećoj tabeli | f ( xn ) | 1 f ( xn )(b − xn ) | x * − xn | ≤ ≤ ⋅ 10−4 − xn f ( xn ) n m1 2 f (b) − f ( xn ) 0 1.50000 –2.125000 ne 0.34000 1 1.84000 –0.290500 ne 0.03602 2 1.87602 –0.025499 ne 0.00308 3 1.87910 –0.002166 ne 0.00026 4 1.87936 –0.000192 ne 0.00002 5 1.87938 –0.000040 da! Traženo približno rešenje je x1 = x5 = 1.8794 . Inače, tačno rešenje je x1 = 2cos 20 = 1.879385... ▲
193
Primer 2. Metodom sečice s tačnošću ε = 0.0005 izračunati rešenje jednačine f ( x) ≡ x − sin x − 0.25 = 0
koje pripada odsečku [0, π / 2] . Rešenje. Izvod je f '( x) = 1 − cos x , pa je M 1 = max | f '( x) | = 1 i m1 = min | f '( x) | = 0 za x ∈ [0, π / 2] . Očigledno, M 1 = 1 ≤/ 2 ⋅ 0 = 2m1 , pa ne možemo primeniti „kriterijum poklapanja dveju uzastopnih aproksimacija”. Da bismo mogli primeniti ovaj kriterijum, suzićemo odsečak izolacije rešenja primenjujući metodu polovljenja odsečka. Računanje je dato u sledećoj tabeli znak n
an
bn
f (an ) f (bn )
0 1 2 3
0.000 0.786 0.786 0.982
1.571 1.571 1.178 1.178
– – – –
+ + + +
M1
m1
M 1 ≤ 2m1
1.000 1.000 0.617 0.617
0.000 0.293 0.293 0.445
ne ne ne da!
an + bn 2 0.786 1.178 0.982
znak a +b f n n 2 – + –
Sada je M 1 = 0.617 < 2 ⋅ 0.445 = 0.890 = 2m1 , dakle, na odsečku [0.982, 1.178] je ispunjen uslov za primenu „kriterijuma poklapanja dveju uzastopnih aproksimacija”. Kako je f (0.982) = −0.099... < 0 , f ''( x) = sin x , f ''(0.982) = 0.831... > 0 , f (0.982) ⋅ f ''(0.982) < 0 , to za početnu aproksimaciju uzimamo x0 = 0.9820 i primenjujemo iterativnu formulu xn +1 = xn −
f ( xn ) ⋅ (1.178 − xn ) , n = 0,1, 2,... f (1.178) − f ( xn )
( f (0.982) ⋅ f ''(0.982) < 0 , b = 1.178 je fiksni kraj.) Rezultate računanja zapisujemo u sledećoj tabeli n 0 1 2 3
xn
f ( xn )
0.9820 –0.09961 1.1701 –0.00069 1.1712 –0.00014 1.1714
−
f ( xn )(b − xn ) f (b) − f ( xn ) 0.1881 0.0011 0.0002
| xn − xn −1 | < 0.0005
ne ne da!
Kako je | x3 − x2 | = 0.0002 < 0.0005 , traženo približno rešenje je x = x3 = 1.171 . ▲
194
4.
NJUTNOVA METODA
Neka je data algebarska ili transcendentna jednačina (1) f ( x) = 0 . Pretpostavimo da jednačina (1) ima izolovano tačno rešenje x*, x* ∈ [a, b] , f (a ) ⋅ f (b) < 0 i da je f ( x) ∈ C 2 [a, b] . Neka su f '( x) i f ''( x) za x ∈ [a, b] konstantnog znaka. Ako je na neki način izračunata n–ta aproksimacija xn ∈ [a, b] , n ≥ 0 , tačnog rešenja x*, onda se naredna aproksimacija nalazi na sledeći način. Stavimo x* = xn + hn , (2)
gde je popravka hn mala (jer je xn blisko tačnom rešenju x). Primenom Tejlorove (Brook Taylor, 1685–1731) formule dobijamo h h2 0 = f ( x*) = f ( xn + hn ) = f ( xn ) + n f '( xn ) + n f ''( xn ) + ... 1! 2! ili, budući da je hn malo, uzimajući samo prva dva člana (otuda i naziv metoda linearizacije) h 0 = f ( x*) = f ( xn + hn ) ≈ f ( xn ) + n f '( xn ) . 1! Pretpostavimo da je f '( xn ) ≠ 0 . Na taj način dobijamo popravku f ( xn ) hn = − . f '( xn ) Sada je sledeća, (n+1)–va aproksimacija tačnog rešenja x* jednaka xn +1 = xn + hn , tj. f ( xn ) xn +1 = xn − , n = 0,1, 2,... (3) f ′( xn ) Primenom iterativne metode (3) dobija se niz približnih rešenja (aproksimacija, približavanja, iteracija) x0 , x1 , x2 , ..., xn , xn +1 , ... koji pod odreñenim uslovima konvergira ka tačnom rešenju x*. (Metodu u ovom obliku je dao 1690. godine Rafson (Raphson), ali je Njutn (Isaac Newton, 1643–1727) nešto ranije predložio sličan postupak. U literaturi se sreće i pod nazivom Njutn–Rafsonova metoda. Inače, sličnim postupkom je Heron izračunao a , a > 0 .) Geometrijska interpretacija Njutnove metode je sledeća: u okolini tačke ( xn , f ( xn )) luk krive y = f ( x) zamenjujemo odsečkom tangente tn u toj tački (sl. 11). Za narednu aproksimaciju xn +1 rešenja x* jednačine (1) uzima se apscisa presečne tačke tangente tn i ose Ox (otuda i naziv metoda tangente). Odreñenosti radi pretpostavimo da je f ( a ) < 0 , f (b) > 0 i f ''( x) > 0 za x ∈ [a, b] . Izaberimo početnu aproksimaciju x0 = b . Primetimo da je f ( x0 ) ⋅ f ''( x0 ) > 0 . 195
Konstruišimo tangentu t0 na grafik krive y = f ( x) u tački B0 ( x0 , f ( x0 )) . Jednačina tangente t0 je jednaka t0 : y − f ( x0 ) = f '( x0 )( x − x0 ) .
y
B1 B2
t0
0
a
x*
A0
t 2 x 3 t 1 x2
x1 x1t x0 = b
x
0
Sl. 11 Stavimo li y = 0 i x = x1 dobićemo f ( x0 ) x1 = x0 − , f '( x0 ) ≠ 0 . f '( x0 ) Konstruišimo tangentu t1 na grafik krive y = f ( x) u tački B1 ( x1 , f ( x1 )) . Jednačina tangente t1 je jednaka t1 : y − f ( x1 ) = f '( x1 )( x − x1 ) .
Stavimo li y = 0 i x = x2 dobićemo f ( x1 ) , f '( x1 ) ≠ 0 . f '( x1 ) Produžimo li ovaj proces na isti način dobićemo formulu (3). Ako bismo za početnu aproksimaciju izabrali x0 = a , onda bismo imali f ( x0 ) ⋅ f ''( x0 ) < 0 i tačka x1′ ∉ [a, b] , tj. x0 = a ne bi bila „dobra” početna aproksimacija (v. sl. 11). Pitanja izbora početne aproksimacije i konvergencije metode rešava sledeća teorema. x2 = x1 −
Teorema 1. Ako su ispunjeni sledeći uslovi: 1) funkcija f ( x) je definisana i neprekidna za svako x ∈ [a, b] , 2) f (a ) ⋅ f (b) < 0 , 3) postoje izvodi f '( x) i f ''( x) za svako x ∈ [a, b] pri čemu je f '( x) ≠ 0 , f '( x) i f ''( x) ne menjaju znak, 4) f ( x0 ) ⋅ f ''( x0 ) > 0 za x0 ∈ [ a, b] , onda Njutnov iterativni proces definisan formulom (3) konvergira ka tačnom rešenju x* ∈ [a, b] jednačine (1). Dokaz. Neka je, odreñenosti radi f ( a ) < 0 , f (b) > 0 , a izvodi f '( x) i f ''( x) su pozitivni za svako x ∈ [a, b] . (Ostali slučajevi se razmatraju na 196
potpuno isti način.) Izaberimo početnu aproksimaciju x0 = b . Očigledno je tada f ( x0 ) ⋅ f ''( x0 ) > 0 . Metodom matematičke indukcije dokažimo da je xn > x * , dakle, f ( xn ) > 0 za n = 0,1,... Za n = 0 imamo x0 = b > x * , jer je a < x* < b . Pretpostavimo da je za n = k , k ≥ 0, xk > x * , i dokažimo da je xk +1 > x * . Stavimo x* = xk + ( x * − xk ) i primenimo Tejlorovu formulu na funkciju f ( x) . Na taj način dobijamo 1 0 = f ( x*) = f ( xk + ( x * − xk )) = f ( xk ) + f '( xk )( x * − xk ) + f ''(ξ )( x * − xk ) 2 , 2 gde je ξ ∈ [ x*, x1 ] . Budući da je f ''( x) > 0 , to je f ( xk ) + f '( xk )( x * − xk ) < 0 , odnosno f ( xk ) xk +1 = xk − > x*. f '( xk ) Kako je nejednakost xn > x * tačna za n = 0 i iz pretpostavke da je tačna za n = k , k ≥ 0 , sledi da je tačna za n = k + 1 , to je na osnovu principa matematičke indukcije nejednakost tačna za n = 0,1,... Drugim rečima, niz x0 = b , x1 , x2 , ..., xn , ... je ograničen. Monotonost niza sledi iz činjenice da je f ( xn ) xn +1 = xn − < xn , n = 0,1,... f '( xn ) jer je f ( xn ) > 0 i f '( xn ) > 0 . Iz ograničenosti i monotonosti niza sledi da postoji lim xn = xɶ . n →∞
Prelazeći na limes u iterativnoj formuli (3) dobijamo f (lim xn ) f ( xɶ ) lim xn +1 = lim xn − n→∞ ili xɶ = xɶ − , n →∞ n →∞ f '(lim xn ) f '( xɶ ) n →∞
Dakle, f ( xɶ ) = 0 , što znači da je xɶ rešenje jednačine (1). Kako po pretpostavci jednačina (1) ima jedinstveno rešenje na odsečku [a, b], to je xɶ = x * , dakle lim xn = x * . n →∞
Za izbor početne aproksimacije x0 rešenja x* važi pravilo: za početnu aproksimaciju bira se onaj kraj odsečka [a, b] u kojem je sgn f ( x0 ) = sgn f ''( x0 ) , dakle, f ( x0 ) ⋅ f ''( x0 ) > 0 . Ako je funkcija f ( x) definisana i neprekidna za x ∈ (−∞, ∞) , f (a ) ⋅ f (b) < 0 , f '( x) ≠ 0 za x ∈ [a, b] , f ''( x) postoji svuda i konstantnog je znaka, onda je za početnu aproksimaciju moguće uzeti bilo koje x0 ∈ [ a, b] . Specijalno, uzima se x0 = a ili x0 = b . 197
Ako je u okolini rešenja x* f '( x) veliko, onda je popravka hn = − f ( xn ) / f '( xn ) mala. Ako je f '( x) malo, onda je popravka hn velika i može doći do gubljenja tačnosti zbog deljenja brojem koji je blizak nuli. Ako je f '( x) praktično jednako nuli (jednako nuli u granicama u kojim se računa ili stvarno jednako nuli), onda je izračunavanje nemoguće. Za ocenu tačnosti približnog rešenja x = xn može se koristiti opšta formula | f ( xn ) | (4) , m1 = min | f '( x) | . | x * − xn | ≤ x∈[ a , b ] m1 Izvedimo formulu za ocenu greške približnog rešenja x = xn u zavisnosti od dveju uzastopnih aproksimacija xn −1 i xn . Stavimo xn = xn −1 + ( xn − xn −1 ) i primenimo Tejlorovu formulu na funkciju f ( x) . Na taj način dobijamo f ( xn ) = f ( xn −1 + ( xn − xn −1 )) = (5) 1 = f ( xn −1 ) + f '( xn −1 )( xn − xn −1 ) + f ''(ξ )( xn − xn −1 ) 2 , 2 gde ξ ∈ ( xn −1 , xn ) . Budući da je iz f ( xn −1 ) xn = xn −1 − f '( xn −1 ) f ( xn −1 ) + f '( xn −1 )( xn − xn −1 ) = 0 , to je 1 1 | f ( xn ) | = f ''(ξ )( xn − xn −1 ) 2 ≤ M 2 ( xn − xn −1 ) 2 , 2 2 gde je M 2 = max | f ''( x) | za x ∈ [a, b] . Sada prema (4) dobijamo M (6) | x * − xn | ≤ 2 ( xn − xn −1 ) 2 . 2m1 Ako Njutnov iterativni proces konvergira, onda xn − xn −1 → 0 kada n → ∞ , pa za n ≥ N , N dovoljno veliko, imamo nejednakost
y
x* 0
198
| x * − xn | ≤ | xn − xn −1 | , dakle, ako je | xn − xn −1 | < ε , ε > 0 i unapred zadata greška, onda je f (x ) | x * − xn | < ε , tj. važi „kriterijum poklapanja dveju uzastopnih aproksimacija”. Naglasimo da u opštem slučaju ovaj kriterijum ne važi, tj. u opštem slučaju nije tačna implikacija xn xn – 1 | xn − xn −1 | ≤ ε ⇒ | x * − xn | < ε , x što je ilustrovano na sl. 12. ε >ε Izvedimo formulu koja povezuje Sl. 12 apsolutnu grešku dveju uzastopnih
aproksimacija xn i xn +1 . Iskoristićemo, opet, Tejlorovu formulu za funkciju f ( x) . Na taj način iz jednakosti 0 = f ( x*) = f ( xn + ( x * − xn )) = f ( xn ) + f '( xn )( x * − xn ) +
1 f ''(ξ )( x * − xn ) 2 , 2
ξ ∈ ( x*, xn ) , dobijamo
x* = xn −
f ( xn ) 1 f ''(ξ ) − ( x * − xn ) 2 , f '( xn ) 2 f '( xn )
ili x* = xn +1 −
1 f ''(ξ ) ( x * − xn ) 2 , 2 f '( xn )
pa je tražena formula | x * − xn +1 | ≤
(7)
M2 ( x * − xn ) 2 . 2m1
Analizirajući formulu (7) zaključujemo da Njutnov iterativni proces brzo konvergira, ako je početna aproksimacija x0 izabrana tako da bude ispunjen uslov M2 | x * − x0 | ≤ q < 1 , 2m1 dakle, ako je početna aproksimacija x0 izabrana dovoljno blizo tačnom rešenju x*. (Naravno, teško je reći šta znači – dovoljno blizo.) Specijalno, ako je M 2 / 2m1 < 1 i | x * − xn | ≤ 10− m , onda je | x * − xn +1 | ≤ 10−2 m , tj. broj sigurnih cifara se udvostručuje na svakom koraku. Dakle, ako je | x * − xn | < ε , onda je | x * − xn +1 | < ε 2 .
Primer 1. Njutnovom metodom s tačnošću ε = 0.00005 rešiti jednačinu f ( x) ≡ x3 − 2 x − 5 = 0 .
Rešenje. Napišimo jednačinu u obliku x3 = 2 x + 5
i grafički predstavimo funkcije y = x3 i y = 2 x + 5 (sl. 13). Jednačina ima jedno realno rešenje x* ∈ [1.9, 2.1] ; f (1.9) = −1.941 < 0 i f (2.1) = 0.061 > 0 . Budući da je f '( x) = 3 x 2 − 2 , f ''( x) = 6 x , f ''(2.1) = 12.6 i f (2.1) ⋅ f ''(2.1) > 0 , uzećemo za početnu aproksimaciju x0 = 2.1 . Uzastopne aproksimacije računamo koristeći sledeću formulu f ( xn ) xn +1 = xn − , n = 0,1,... f '( xn ) 199
Rezultati računanja dati su u sledećoj tabeli. n
xn
f ( xn )
f '( xn )
0 1 2 3
2.10000 2.09457 2.09455 2.09455
–0.06100 –0.00021 –0.00002
11.23000 11.16167 11.16142
f ( xn ) f '( xn ) –0.00543 –0.00002 –0.00000
hn = −
Traženo približno rešenje je x = x3 = 2.0946 . ▲ Posmatrana jednačina nazivana je slavnom jednačinom. Rezlog je taj što je to bila prva jednačina na kojoj je izložena Njutnova metoda. (Valis (John Wallis, 1616–1703) – Algebra, 1685. str. 338.) Dugo se smatralo da je svaki nastavnik numeričke matematike obavezan da je uzme kao jedan od svojih primera. Inače je x = 2.094 551 481 542 326 591 482 386...
y
y = x3
y
y = 2x + 5
2
y=x –2
y = ln x 0 1 x*
x
1 –2
Sl. 13
0
x*
x
Sl. 14
Primer 2. S tačnošću ε = 0.0005 izračunati veće rešenje jednačine f ( x) ≡ ln x − x 2 + 2 = 0 . Rešenje. Koristeći grafičku metodu (sl. 14)nalazimo da jednačina ima dva rešenja. Veće rešenje se nalazi u [1, 2] , jer je f (1) > 0 a f (2) = −1.30685 < 0 . Metodom polovljenja odsečka dobijamo da x* ∈ (1.5625, 1.5664) i pri tome je f (1.5625) = 0.0048808 > 0 , f (1.5664) = −0.0048289 < 0 f ''(1.5664) = −2.4075629 . Za početnu aproksimaciju ćemo uzeti x0 = 1.5664 jer je f (1.5664) ⋅ f ''(1.5664) > 0 . Redom računamo: f (1.5664) −0.0048289 = 1.5664 − = 1.5664 − 0.0019 = 1.5645 , x1 = 1.5664 − f '(1.5664) −2.49439 200
f (1.5645) −0.0000942 = 1.5645 − = 1.5645 − 0.0000 = 1.5645 . f '(1.5645) −2.48991 Iz očigledne jednakosti x2 = x1 zaključujemo da je traženo približno rešenje x = x2 = 1.5645 . ▲ x2 = 1.5645 −
5.
MODIFIKACIJE NJUTNOVE METODE
Jedan nedostatak Njutnove metode f ( xn ) xn +1 = xn − , n = 0,1, ... f '( xn ) je što se može desiti da je f '( xn ) vrlo malo, pa tada zbog deljenja malim brojevima dolazi do gubljenja tačnosti. Taj nedostatak se može otkloniti sledećom modifikacijom Njutnove metode. Neka jednačina f ( x) = 0
(1) ima izolovano rešenje
x* ∈ [a, b] ,
f (a ) ⋅ f (b) < 0 , i neka je funkcija
f ( x) ∈ C [a, b] . Ako se izvod f '( x) malo menja na odsečku [a, b], tada se modifikacija sastoji u primeni iterativne formule f ( xn ) (2) , n = 0,1,... xn +1 = xn − f '( x0 ) 2
Geometrijska interpretacija ovako y B0(x0, f(x0)) modifikovane Njutnove metode data je na sl. 15. Tangente tn u tačkama Bn ( xn , f ( xn )) , n = 1, 2,... zamenjuju se B1 pravima pn , n = 1, 2,... , koje su paraB2 lelne tangenti t0 u tački B0 ( x0 , f ( x0 )) . B3 Niz x0 , x1 , ..., xn , xn +1 , ... konstruisan na x* 0 a x4 x3 x2 x1 ovaj način konvergira ka tačnom x 0= b x p 3 p2 p1 t0 rešenju x* pod pretpostavkom da f '( x) i f "( x) ne menjaju znak na odsečku Sl. 15 [a, b] i da je početna aproksimacija izabrana tako da je f ( x0 ) ⋅ f ''( x0 ) > 0 . Ova modifikacija se koristi i kada je izračunavanje f '( x) složenije.
Primer 1. Modifikovanom Njutnovom metodom izračunati približno rešenje jednačine f ( x) ≡ x 2 − 1 − e x = 0 . Tačnost ε = 10−5 . 201
Rešenje. Budući da je f (−2) = 2.865 > 0 i f (−1) = −0.368 < 0 , zaključujemo da odsečak [–2, –1] sadrži bar jedno rešenje jednačine. Budući da je f '( x) konstantnog znaka na odsečku [–2, –1], to odsečak [–2, –1] sadrži samo jedno rešenje jednačine. Metodom polovljenja odsečka nalazimo da x* ∈ ∈ (−1.125, − 1.25) . Kako je za x = −1.25 f ⋅ f " > 0 , uzećemo za početnu aproksimaciju x0 = −1.25 . Redom računamo: x1 = −1.25 −
f (−1.25) 0.275995 = −1.25 − = −1.25 + 0.09905 = −1.15095 , f '(−1.25) −2.78650
f (−1.15095) 0.0083498 = −1.15095 + 2.78650 −2.78650 = −1.15095 + 0.00300 = −1.14795.
x2 = −1.15095 −
Radi bolje preglednosti rezultate računanja zapisujemo u obliku sledeće tabele. n
xn
f ( xn )
0 1 2 3 4 5
–1.25000 –1.15095 –1.14795 –1.14777 –1.14776 –1.14776
0.2759950 0.0083498 0.0005026 0.0000322 0.0000061
f ( xn ) f '( x0 ) 0.09905 0.00300 0.00018 0.00001 0.00000
hn = −
Traženo približno rešenje je x = −1.14776 . ▲
y
B0 B1 B2 C1
0
x*
x2 t1
C0 A 0 x x1 x0 n n1 0 t0
Sl. 16
Jedna druga modifikacija Njutnove metode dobija se na sledeći način. Neka je, naime, t0 tangenta na grafik krive y = f ( x) u tački B0 ( x0 , f ( x0 )) , a n0 prava normalna na t0 iz tačke A0 ( x0 , 0) . Za narednu aproksimaciju x1 uzima se apscisa presečne tačke C0 tangente t0 i normale n0 (sl. 16). Dakle, iz t0 : y − f ( x0 ) = f '( x0 )( x − x0 ) , 1 n0 : y − 0 = − ( x − x0 ) f '( x0 )
dobijamo x1 = x0 −
202
f ( x0 ) f '( x0 ) . 1 + f '2 ( x0 )
Na potpuno analogan način dobijamo x2 = x1 −
f ( x1 ) f '( x1 ) 1 + f '2 ( x1 )
i u opštem slučaju xn +1 = xn −
f ( xn ) f '( xn ) , n = 0,1, 2,... 1 + f '2 ( xn )
Primer 2. S tačnošću ε = 10−5 izračunati približno rešenje jednačine f ( x) ≡ x + log x − 0.5 = 0 .
Rešenje. Iz f (0.5) = −0.30103 < 0 i f (1) = 0.5 > 0 sledi da x* ∈ [0.5,1] . Kako je f (0.5) ⋅ f ''(0.5) > 0 , to ćemo za početnu aproksimaciju uzeti x0 = 0.5 . Računanje je dato u sledećoj tabeli. n
xn
f ( xn )
f '( xn )
f '2 ( xn )
0 1 2 3 4 5 6 7 8 9
0.50000 0.62523 0.65969 0.66896 0.67146 0.67213 0.67232 0.67237 0.67238 0.67238
–0.301030 –0.078730 –0.020970 –0.005640 –0.001520 –0.000417 –0.000104 –0.000022 –0.000005
1.86859 1.69462 1.65833 1.64921 1.64679 1.64615 1.64596 1.64592 1.64591
3.49163 2.87174 2.75006 2.71989 2.71192 2.70981 2.70918 2.70905 2.70902
−
f ( xn ) f '( xn ) 1 + f '2 ( xn ) 0.12523 0.03446 0.00927 0.00250 0.00067 0.00019 0.00005 0.00001 0.00000
Traženo približno rešenje je x = −1.14776 . ▲
6.
KOMBINOVANA METODA SEČICE I TANGENTE
Metodom sečice i metodom tangente dobijaju se približna rešenja jednačine f ( x) = 0 koja su s različitih strana tačnog rešenja. Zbog toga se ove dve metode mogu primeniti kombinovano i na taj način imamo novu metodu, kombinovanu metodu. Proces približavanja tačnom rešenju je brži, a ocena greške je znatno jednostavnija i pouzdana. Neka jednačina f ( x) = 0 ima izolovano rešenje x* ∈ [ a, b] , f (a ) ⋅ f (b) < < 0 . Pretpostavimo da postoje izvodi f '( x) i f ''( x) i neka su konstantnog znaka na segmentu [a, b]. Moguća su sledeća četiri slučaja: 1) f '( x) > 0 , f ''( x) > 0 ; 2) f '( x) < 0 , f ''( x) < 0 ; 3) f '( x) > 0 , f ''( x) < 0 ; 4) f '( x) < 0 , f ''( x) > 0 . Razmotrimo detaljnije prvi slučaj: f '( x) > 0 , f ''( x) > 0 . Pretpostavimo da je f (a ) < 0 i f (b) > 0 . Ako bismo primenili metodu sečice, imali 203
bismo slučaj prikazan na sl. 17, a ako bismo primenili metod tangente (Njutnovu metodu), imali bismo slučaj prikazan na sl. 18.
y
f ′(x) > 0 f ′′(x) > 0
y = f(x)
B0
y
f ′(x) > 0 f ′′(x) > 0
B1
s0 x0=a
x1 x2
0 A1 A0
s1
A2
a x*
y = f(x) B0
b x
0
B2 x1 x x* x2 x =b 0 t0 t2 t1
A0
Sl. 17 Sl. 18 Naizmeničnom primenom metode tangente i metode sečice, dakle, primenom iterativnih formula f ( xn ) (1) xn +1 = xn − , x0 = b, n = 0,1, 2,... f '( xn ) f ( xn ) (2) x n +1 = x n − ( xn +1 − x n ) , f ( xn +1 ) − f ( x n ) dobijamo „gornji” niz približnih y vrednosti {xn } i „donji” niz približnih B0 vrednosti {x n } . Očigledno, prvo se B1 primenjuje metoda tangente (1), s0 x0=a x 1 x2 x1 x nezavisno od metode sečice. Zatim se 0 x* x2 x0=b primenjuje metoda sečice (2) na odsečku [ x n , xn +1 ] . Proces približavanja A1 t t0 1 tačnom rešenju x* je prikazan na sl. 19. A0 Tačno rešenje x* ∈ ... ⊂ [ x n , xn ] ⊃ ... ⊃ [ x1 , x1 ] ⊃ [ x 0 , x0 ] Sl. 19 i pri tome je f ( x n ) ⋅ f ( xn ) < 0 , n = 0,1, 2,... Dakle, imamo (3) 0 < x * − x n < xn − x n i 0 < xn − x* < xn − x n . Kombinovana metoda je vrlo pogodna za primenu zbog jednostavne ocene greške. Proces računanja se prekida kada se postigne da je | xn − x n | < ε , gde je ε > 0 unapred zadata greška i tada se uzima da je 1 x* ≈ xn = ( xn + x n ) . 2
Napomena. Ostali slučajevi se svode na razmatrani slučaj ako jednačinu f ( x) = 0 zamenimo njoj ekvivalentnim jednačinama: − f ( x) = 0 , ± f (− x) = 0 . 204
Primer 1. Kombinovanom metodom sečice i tangente s tačnošću ε = 0.0001 izračunati približno rešenje jednačine f ( x) ≡ x3 + 3 x 2 − 3 = 0 . Rešenje. Na osnovu sledeće tabele x –3 –2 sgn f ( x) – +
–1 –
0 –
1 +
zaključujemo da: x1* ∈ [0, 1] , x2 * ∈ [ −2, − 1] i x3 * ∈ [−3, − 2] . Izračunajmo približno rešenje x1* ∈ [0,1] . Redom imamo: f ( x) = x3 + 3 x 2 − 3 , f '( x) = 3 x 2 + 6 x , f ''( x) = 6 x + 6 , f (0) = −3 , f ''(0) = 6 , f (0) ⋅ f ''(0) = −3 ⋅ 6 = −18 < 0 , pa je x 0 = 0 i x0 = 1 . ( f (1) ⋅ f ''(1) = 1 ⋅ 12 = 12 > 0 .) Uvedimo oznake: f ( xn ) f ( xn ) i ∆ xn = − ∆xn = − ( xn +1 − x n ) , n = 0,1, 2,... f '( xn ) f ( xn +1 ) − f ( x n ) Radi preglednosti računanje je dato u sledećoj tabeli n
xn
xn
0 0.0000 1.0000 1 0.8678 0.8889 2 0.8794 0.8794
| xn − x n | f ( xn ) f '( xn ) 1.0000 0.0211 0.0000
∆xn
xn +1
f ( xn )
f ( x n +1 )
∆ xn
1.0000 9.0000 –0.1111 0.8889 –3.0000 0.072790 0.8678 0.07279 7.7038 –0.0094 0.8794 –0.08725 0.0001121 0.0116
Traženo približno rešenje je x1* ≈ x1 = 0.8794 . ▲
7.
METODA ITERACIJE
Može se primetiti da su prethodno razmatrane metode: metoda sečice, Njutnova metoda ili metoda tangente, modifikacije Njutnove metode sledećeg oblika xn +1 = F ( xn ) , n = 0,1, 2, ... , gde je x0 početna približna vrednost, početna aproksimacija tačnog rešenja x* jednačine f ( x) = 0 , a funkcija F ( x) u svakom od ovih slučajeva ima odreñeni oblik. Tako je: kod metode sečice f ( x) f ( x) F ( x) = x − (b − x) ili F ( x) = x − ( x − a) ; f (b) − f ( x) f ( x) − f (a) kod Njutnove metode f ( x) ; F ( x) = x − f '( x) 205
kod modifikacija Njutnove metode f ( x) ⋅ f '( x) f ( x) ili F ( x) = x − . F ( x) = x − 2 f '( x0 ) 1 + [ f '( x) ] Očigledno, funkcija F ( x) je odreñena pomoću funkcije f ( x) ili pomoću funkcije f ( x) i njenog izvoda f '( x) . Jednačine f ( x) = 0 i F ( x) = 0
su ekvivalentne jednačine. Zbog toga možemo postaviti sledeće, potpuno prirodno pitanje konstrukcije opšte metode ovakvog oblika, dakle, metode čiji bi prethodne metode bile njeni posebni, specijalni slučajevi. Takva metoda je metoda iteracije ili metoda uzastopnih, sukcesivnih aproksimacija. Suština metode se sastoji u sledećem. Neka je zadata jednačina f ( x) = 0 ,
(1)
gde je f ( x) ∈ C[a, b] i neka odsečak [a, b] sadrži tačno jedno rešenje x* jednačine (1). Zapišimo jednačinu (1) u ekvivalentnom obliku (2) x = F ( x) . Konstruišimo niz iteracija, niz približnih vrednosti {xn } rešenja x* koristeći rekurentnu relaciju (3) xn +1 = F ( xn ) , n = 0,1, 2, ... polazeći od početne iteracije, početne približne vrednosti x0 ∈ [ a, b] . Očigledno, da bismo izračunali član xk niza {xn } dovoljno je poznavati samo jedan, njemu prethodni član – kaže se da imamo iterativni proces dužine jedan i metodu zovemo metoda proste iteracije, kraće, metoda iteracije. Nije teško definisati složenije metode iteracije, metode dužine dva, tri, ... Mi ćemo se baviti samo metodom iteracije dužine jedan, tj. metodom proste iteracije. Ako niz iteracija konvergira, tj. ako postoji lim xn = x * , n →∞
onda prelaskom na limes u relaciji (3) dobijamo lim xn +1 = lim F ( xn ) , n →∞
n →∞
odnosno lim xn +1 = F (lim xn ) ,
n →∞
n →∞
tj. x* = F ( x*) ,
što znači da je x* rešenje jednačine (2), odnosno (1) i može biti izračunato s proizvoljnom, unapred zadatom tačnošću pomoću rekurentne formule (3). 206
Metoda iteracije ima jednostavnu geometrijsku interpretaciju. Konstruišimo u istom pravouglom koordinatnom sistemu Oxy grafike funkcija y = x i y = F ( x) (sl. 20). Tačno rešenje x* je apscisa presečne tačke tih grafika.
0 0 . Na sl. 22 je prikazan slučaj konstrukcije niza iteracija pomoću rekurentne formule (3) kada je F '( x) > 1 . Na osnovu ovih razmatranja može se zaključiti: Iterativni proces konvergira ako je | F '( x) | = q < 1 , q > 0 , što, naravno, treba dokazati. Da bismo utvrdili kada iterativni proces konvergira, uvešćemo pojam sažimajućeg preslikavanja, sažimajuće y funkcije ili kontrakcije. Dakle, neka je funkcija y = F (x) y = F ( x) b1 definisana na odsečku [а, b]. Svakoj tački x ∈ [a, b] odgovara tačka y na a1 ordinatnoj osi Oy – slika tačke x. Ako je F ( x) neprekidna funkcija na odsečku [а, b], onda se na taj način dobija a a1 0 b1 b x odsečak [a1 , b1 ] na ordinatnoj osi Oy – slika odsečka [а, b] i pri tome je a1 Sl. 23 najmanja a b1 najveća vrednost funkcije F ( x) (sl. 23) Ako ordinatnu osu Oy rotiramo za 90° u smeru kazaljke na satu tako da se ona poklopi s apscisnom osom Ox, odsečak [a1 , b1 ] će se preslikati takoñe na istu, apscisnu osu. Ako je [ a1 , b1 ] ⊂ [a, b] , onda kažemo da funkcija ili preslikavanje F ( x) preslikava odsečak [а, b] u samog sebe. Tako, na primer, 1 1 funkcija y = x preslikava odsečak , 4 u njegov deo , 2 . 4 2 Definicija. Funkcija (preslikavanje) y = F ( x) , koja odsečak [а, b] preslikava u samog sebe, je sažimajuća funkcija ili kontrakcija ako postoji broj q, 0 ≤ q < 1 , takav da je za bilo koje dve tačke x ' i x " odsečka [а, b] tačna nejednakost | F ( x ') − F ( x ") | ≤ q | x '− x " | . (4)
Primer 1. Funkcija y = x , x ≥ 0 je sažimajuća funkcija ili kontrakcija odsečka [1, 4]. Dokazati. Rešenje. Za proizvoljne vrednosti x ' i x " odsečka [1, 4] je
x' ≥1 i
x " ≥ 1 i zbog toga je | F ( x ') − F ( x ") | = | x ' − x " | =
| x '− x " | | x '− x " | 1 ≤ = | x '− x " | , 1+1 2 x ' + x"
što znači da je funkcija y = x kontrakcija odsečka [1, 4] i pri tome je q = Odsečak [1, 4] se preslikava u njegov deo [1, 2]. ▲ 208
1 . 2
Primer 2. Da li je funkcija y = 3 x kontrakcija odsečka [–8, 8]? Rešenje. Funkcija y = 3 x preslikava odsečak [–8, 8] u njegov deo [–2, 2]. Meñutim, ova funkcija nije kontrakcija odsečka [–8, 8]. Na primer, ako uzmemo x ' = −0.008 i x " = 0.008 , onda ćemo imati | x '− x " | = 0.016 i | F ( x ') − F ( x ") | = | 3 −0.008 − 3 0.008 | = 0.4 > 0.016 = | x '− x " | .
Dakle, funkcija y = 3 x nije kontrakcija odsečka [–8, 8]. ▲
Teorema 1. Neka je funkcija (2) sažimajuća ili kontrakcija odsečka [а, b], tj. neka je ispunjen uslov (4). Tada, ako za iterativni proces (3) sve iteracije xn ∈ [a, b] , n = 0,1, 2, ... , onda: 1) nezavisno od izbora početne iteracije x0 ∈ [ a, b] iterativni proces (3) konvergira, tj. postoji x* = lim xn ; n →∞
2) granična vrednosti x* je jedinstveno rešenje jednačine (2), odnosno (1) na odsečku [а, b]; 3) važi ocena greške qn | x * − xn | ≤ | x1 − x0 | . 1− q Dokaz. 1) Da bismo dokazali konvergenciju iterativnog procesa (3) primenićemo Košijev kriterijum konvergencije nizova. Dakle, | xn + p − xn | = | ( xn + p − xn + p +−1 ) + ( xn + p −1 − xn + p − 2 ) + ⋯ + ( xn +1 − xn ) | ≤ ≤ | xn + p − xn + p +−1 | + | xn + p −1 − xn + p − 2 | + ⋯ + | xn +1 − xn | . Ako iskoristimo uslov kontrakcije, za dve uzastopne iteracije imamo | xm +1 − xm | = | F ( xm ) − F ( xm −1 ) | ≤ q | xm − xm −1 | = | F ( xm −1 ) − F ( xm − 2 ) | ≤ ≤ q 2 | xm −1 − xm − 2 | ≤ … ≤ q m | x1 − x0 |,
Sada imamo | xn + p − xn | ≤ q n + p −1 | x1 − x0 | + q n + p − 2 | x1 − x0 | + ⋯ + q n | x1 − x0 | = = (q p −1 + q p − 2 + ⋯ + 1) ⋅ q n | x1 − x0 | =
1− q p n ⋅ q | x1 − x0 |, 1− q
Dakle, (5)
| xn + p − xn | ≤
1− q p n ⋅ q | x1 − x0 | 1− q
odnosno | xn + p − xn | ≤
qn | x1 − x0 | . 1− q
Kako je 0 ≤ q < 1 , to q n → 0 kada n → ∞ , pa na osnovu prethodne nejednakosti zaključujemo da za svako, proizvoljno maleno ε > 0 postoji broj 209
n0 = n(ε ) takav da za n > n(ε ) i p > 0 važi nejednakost | xn + p − xn | < ε ,
što znači da saglasno Košijevom kriterijumu konvergencije iterativni proces (3) konvergira, tj. postoji x* = lim xn . n →∞
2) Dokažimo da je x* rešenje jednačine (2), odnosno (1) na odsečku [а, b]. Kako je funkcija F ( x) neprekidna na odsečku [а, b], prelaskom na limes u rekurentnoj relaciji (3) xn +1 = F ( xn ) , n = 0,1, 2, ... , x0 ∈ [a, b] , dobijamo lim xn +1 = lim F ( xn ) ,
n →∞
n →∞
odnosno x* = F (lim xn ) , tj. x* = F ( x*) , n →∞
dakle, x* jeste rešenje jednačine (2), odnosno (1). Da bismo dokazali da je x* jedinstveno rešenje, pretpostavićemo suprotno, tj. pretpostavićemo da jednačina (2) ima na odsečku [а, b] dva rešenja: x* i x**, x* ≠ x ** , što znači da je x* = F ( x*) i x ** = F ( x **) . Oduzimanjem ovih dveju jednakosti i primenom Lagranževe teoreme o srednjoj vrednosti nalazimo x * − x ** = F ( x*) − F ( x **) = ( x * − x **) ⋅ F '(c) , gde c ∈ [a, b] , pa je | x * − x **| ≤ | x * − x **| ⋅ q
i
| x * − x ** | (1 − q ) ≤ 0 .
Kako je 1 − q > 0 , to zaključujemo da je x * − x ** = 0 što je protivrečno pretpostavci x* ≠ x ** . Na osnovu ove protivrečnosti zaključujemo da je x* jedinstveno rešenje jednačine (2), odnosno (1), na odsečku [а, b]. 3) Prelaskom na limes u nejednakosti (5) kada p → ∞ dobija se ocena greške qn | x * − xn | ≤ | x1 − x0 | . ■ 1− q Navedimo još jednu ocenu greške približne vrednosti xn tačnog rešenja x*. Potpuno analogno prethodnom slučaju imamo | xn + p − xn | = | ( xn + p − xn + p −1 ) + ( xn + p −1 − xn + p − 2 ) + ⋯ + ( xn +1 − xn ) | ≤ ≤ q p | xn − xn −1 | + q p −1 | xn − xn −1 | +⋯ + q | xn − xn −1 | =
210
= (q p + q p −1 + ⋯ + q ) | xn − xn −1 | = q⋅ | xn − xn −1 | (q p −1 + q p − 2 + ⋯ + 1) = 1− q p = q | xn − xn −1 | ⋅ , 1− q dakle, 1− qp . | xn + p − xn | ≤ q | xn − xn −1 | ⋅ 1− q Prelaskom na limes u poslednjoj nejednakosti kada p → ∞ dobijamo q (6) | x * − xn | ≤ ⋅ | xn − xn −1 | . 1− q 1 Ako je 0 ≤ q ≤ , onda iz (6) dobijamo da važi „kriterijum poklapanja 2 dveju uzastopnih iteracija”, tj. (7) | xn − xn −1 | ≤ ε ⇒ | x * − xn | ≤ ε .
y
y=x y = F (x)
F(xn–1) F(xn) xn
xn–1 x* 0 |x*–xn|>ε |xn–xn–1|=ε Sl. 24
x
Napomena 1. U opštem slučaju ne važi „kriterijum poklapanja dveju uzastopnih iteracija”, tj. u opštem slučaju implikacija (7) nije tačna. Naime, može se desiti da je veličina | xn − xn −1 | vrlo malena a da je veličina | x * − xn | vrlo velika. To se dogaña u slučaju kada je | F '( x) | blisko jedinici, što je ilustrovano na sl. 24: | xn − xn −1 | = ε , | x * − xn | > ε . Tačna je sledeća implikacija
1− q ⋅ ε ⇒ | x * − xn | ≤ ε , ε > 0 . 1 Primer 3. Metodom iteracije s tačnošću ε = 10−4 izračunati približno rešenje jednačine f ( x) ≡ 5 x3 − 20 x + 3 = 0 koje pripada odsečku [0, 1]. Rešenje. Jednačinu f ( x) = 0 treba zapisati u ekvivalentnom obliku x = F ( x) . To je moguće učiniti na bezbroj načina, na primer: | xn − xn −1 | ≤
1) x = x + (5 x3 − 20 + 3) ,
2) x = 5 x3 − 19 x + 3 ’
1 20 x − 3 4) x = 3 , ... (5 x3 + 3) , 5 20 Koju funkciju F ( x) treba koristiti za izračunavanje niza iteracija koji konvergira ka tačnom rešenju x*? F ( x) treba izabrati tako da na odsečku [a, b] 3) x =
211
bude ispunjen uslov | F '( x) | = q < 1 ; tada će iterativni proces konvergirati. U ovom slučaju uzećemo 1 F ( x) = (5 x3 + 3) , 20 jer je 3 3 max | F '( x) | = max x 2 = < 1 . x∈[ a , b ] x∈[0,1] 4 4 Na taj način imamo sledeći iterativni proces 1 xn +1 = (5 xn3 + 3) , n = 0,1, 2, ... , 20 a za početnu iteraciju moćemo uzeti bilo koju vrednost iz segmenta [0, 1], na 3 1 primer x0 = 0.5 . Kako je q = > , ne važi „kriterijum poklapanja dveju 4 2 uzastopnih iteracija”. Iz uslova q | x * − xn | ≤ | xn − xn −1 | ≤ ε 1− q imamo 1− q | xn − xn −1 | ≤ ⋅ε , q odnosno 1 − 0.75 | xn − xn −1 | ≤ ⋅ 0.0001 = 0.000033... , 0.75 pa proces iteracije treba prekinuti kada se postigne da je razlika dveju uzastopnih iteracija | xn − xn −1 | ≤ 0.00003 ; tada će biti postignuta zadata tačnost. Računanje je dato u sledećoj tabeli n 0 1 2 3 4
xn 0.50000 0.18125 0.15149 0.15087 0.15086
xn +1 = F ( xn ) 0.18125 0.15149 0.15087 0.15086
| xn − xn −1 | 0.31875 0.02976 0.00062 0.00001
Tražemo rešenje je x* ≈ x4 = 0.1509 . ▲
Napomena 2. Prilikom zaključivanja | xn − xn −1 | = | x4 − x3 | = | 0.15086 − 0.15087 | = 0.00001 < 0.00003 uzeli smo u obzir samo grešku metode a greška zaokrugljivanja je zanemarena, što se često čini. Naime, pretpostavlja se da uzimanjem | xn − xn −1 | ≤ 0.00003 umesto | xn − xn −1 | ≤ 0.000033... ima dovoljno „prostora” za zanemarivanje greške zaokrugljivanja. 212
Napomena 3. Zadatu jednačinu f ( x) = 0 moguće je zapisati, kao što je već rečeno, na bezbroj načina u ekvivalentnom obliku x = F ( x) . Izbor funkcije F ( x) ima veliki značaj: u nekim slučajevima | F '( x) | je maleno a u nekim veliko u okolini tačnog rešenja x*. Za primenu metode iteracije pogodan je onaj oblik za koji je | F '( x) | ≤ q < 1 za svako x iz odsečka [a, b] koji sadrži tačno rešenje x*. Konvergencija je brža ako je q, 0 < q < 1 , manje, a posebno je pogodno ako je 0 < q ≤ 0.5 . Neka je 0 < m1 ≤ f '( x) ≤ M 1 < ∞ , x ∈ [a, b] .
Specijalno možemo uzeti da je m1 = min f '( x) na odsečku [a, b], pri čemu se pretpostavlja da je f '( x) > 0 . Ako je f '( x) < 0 , onda umesto jednačine f ( x) = 0 možemo posmatrati ekvivalentnu jednačinu − f ( x) = 0 . Dalje, M 1 = max f '( x) , x ∈ [a, b] . Zamenimo jednačinu f ( x) = 0 njoj ekvivalentnom jednačinom x = x − λf ( x) , λ > 0 , dakle, F ( x) = x − λf ( x) . Parametar λ biramo tako da na odsečku [a, b], koji sadrži tačno rešenje x*, bude 0 ≤ F '( x) = 1 − λf '( x) ≤ q < 1 . Dakle, imamo 0 ≤ 1 − λM 1 ≤ 1 − λm1 ≤ q < 1 .
Prema tome, možemo uzeti 1 M1
λ=
i tada je q =1−
m1 0 , jednačina ima rešenje 2
9 39 x* ∈ [0,1] . Prvi izvod f '( x) = 5 x + 9 x + 6 = 5 x 2 + + > 0 za svako x, 10 20 pa je funkcija f ( x) monotono rastuća i, zbog toga, jednačina f ( x) = 0 ima samo jedno realno rešenje, odnosno x * je jedino realno rešenje. Na odsečku 4
2
213
[0, 1] min f '( x) = 6 > 0 a max f '( x) = 20 . Dakle, uzećemo λ =
1 i jednačinu 20
f ( x) = 0 zameniti njoj ekvivalentnom jednačinom 1 x = x − ( x5 + 3 x3 + 6 x − 7) . 20 Kako je 1 F '( x) = 1 − (5 x 4 + 9 x 2 + 6) 20 i m 6 7 max | F '( x) | = 1 − 1 = 1 − = = q < 1, M1 20 10 iterativni proces 1 xn +1 = xn − ( xn5 + 3 xn3 + 6 xn − 7) , n = 0,1, 2, ... 20 7 1 konvergira. Kako q =
View more...
Comments