algoritmi numericke analizeˇ · marko d. petkovi´c algoritmi numericke analizeˇ serija:...

21
Marko D. Petkovi´ c ALGORITMI NUMERI ˇ CKE ANALIZE Serija: udˇ zbenici Univerzitet u Niˇ su, Prirodno-Matematiˇ cki fakultet Niˇ s, 2013

Upload: others

Post on 08-Jul-2020

62 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

Marko D. Petkovic

ALGORITMI

NUMERICKE ANALIZE

Serija: udzbenici

Univerzitet u Nisu, Prirodno-Matematicki fakultet

Nis, 2013

Page 2: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

Izdavac:Prirodno-Matematicki fakultet u NisuVisegradska 33, 18000 Nis

Recenzenti:prof. dr Nebojsa Stojkovic, red. prof. Ekonomskog fakulteta u Nisuprof. dr Predrag Rajkovic, red. prof. Masinskog fakulteta u Nisuprof. dr Predrag Stanimirovic, red. prof. PMF-a u Nisu

Serija: Udzbenici

Odlukom Nastavno-Naucnog veca Prirodno-Matematickog fakulteta u Nisu broj 219/1-01od 27.02.2013. godine, rukopis je odobren za stampu kao univerzitetski udzbenik.

Obrada na racunaru: autor

Dizajn korica: Aleksandar Milenkovic

Stampa: Unigraf X-Copy

Tiraz: 100 primeraka

CIP - Каталогизација у публикацији

Народна библиотека Србије, Београд

519.61/.65(075.8)

ПЕТКОВИЋ, Марко, 1984-

Algoritmi numeričke analize / Marko

Petković. - Niš : Prirodno-matematički

fakultet, 2013 (Niš : Unigraf X-Copy). - 288

str. : graf. prikazi, tabele ; 24 cm. -

(Serija Udžbenici / Prirodno-matematički

fakultet, Niš)

Tiraž 100. - Napomene uz tekst. -

Bibliografija: str. 285-288.

ISBN 978-86-6275-015-0

a) Нумеричка анализа

COBISS.SR-ID 201584396

NAPOMENA: Zabranjeno je reprodukovanje, distribucija, objavljivanje, prerada ilidruga upotreba ovog autorskog dela ili njegovih delova u bilo kom obimu ili postupku,ukljucujuci fotokopiranje, stampanje ili cuvanje u elektronskom obliku, bez pisane dozvoleizdavaca. Navedene radnje predstavljaju krsenje autorskih prava.

Page 3: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

Predgovor

Numericka matematika (analiza) predstavlja osnovni aparat koji se koristiza analizu matematickih modela u svim prirodnim i tehnickim naukama, au poslednje vreme i u ekonomiji, sociologiji, itd. Na osnovu modela vrsi seproracun odgovarajucih velicina koje opisuju dati problem, na osnovu kog sekasnije izvode zakljucci. Da bismo konstruisali model, potrebno je da po-znajemo fundamentalne zakone koje odgovarajuce velicine moraju da zado-volje (fizicki zakoni, zakoni na berzi, itd.). Pomocu ovih zakona definisemomatematicki problem koji zatim resavamo primenom odgovarajuceg mate-matickog aparata. Dobijene jednacine, diferencijalne jednacine, itd. najcescenije moguce egzaktno resiti. U tim slucajevima, resenje se odreduje priblizno,pri cemu se trazi da je odstupanje manje od unapred zadatog ”malog” brojaǫ. Upravo je to zadatak numericke matematike.

Knjiga Algoritmi numericke analize prvenstveno je namenjena studentimaosnovnih i master studija prirodno-matematickih i tehnickih nauka, kao udzbe-nik za predmete iz numericke matematike. Knjiga moze biti od koristi i stude-ntima doktorskih studija kao i naucnicima i inzenjerima koji razvijaju odnosnokoriste numericke metode u praksi.

Ova knjiga predstavlja algoritamski pogled na oblast numericke mate-matike. Za vecinu metoda data je i precizna algoritamska formulacija uobliku pseudokoda. Na osnovu ovih pseudokodova, jednostavno se formiraodgovarajuca implementacija metoda (algoritma) u bilo kom programskomjeziku. Pored algoritamske formulacije, data je i analiza vremenske i prosto-rne slozenosti algoritma. Ove dve velicine daju uvid u brzinu rasta vremenaizvrsenja kao i memorijskih potreba odgovarajuce implementacije.

Uz svaki metod izlozena je teorija koja je potrebna da bi se dokazala ko-rektnost navedenog metoda. Teorijski rezultati formulisani su (i dokazani) uobliku teorema, lema i posledica, i ilustrovani kroz niz primera koji pomazucitaocu da bolje razume izlozenu materiju.

i

Page 4: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

ii Predgovor

Celokupna materija sadrzana u ovoj knjizi, podeljena je u osam glava.Svaka glava je podeljena na nekoliko manjih celina - odeljaka, koji su pode-ljeni na pododeljke. Za razumevanje i uspesno pracenje materije izlozene uovoj knjizi, pozeljno je poznavanje gradiva standardnih kurseva realne ana-lize, linearne algebre i osnovne teorije algoritama. Prva glava sadrzi osnovneteoreme i definicije iz ovih oblasti, koje mogu posluziti kao podsetnik.

Ovom prilikom zelim da se zahvalim svima koji su mi pomogli pri raduna ovoj knjizi. Primedbe i sugestije koje su dali recenzenti prof. dr NebojsaStojkovic, prof. dr Predrag Rajkovic i prof. dr Predrag Stanimirovic doprinelesu da tekst bude precizniji i razumljiviji, zbog cega im se posebno zahvalju-jem. Zahvalnost dugujem i studentima Prirodno-Matematickog fakulteta uNisu, cija su pitanja postavljana tokom predavanja i na konsultacijama, kaoi odgovori na ispitu, znacajno doprineli da delovi teksta budu jasniji i pri-stupacniji citaocu.

Kao osnova za pisanje ove knjige, posluzile su sada vec klasicne knjigeNumericka analiza I, II i III akademika prof. dr Gradimira V. Milovanovica,kao i knjige prof. dr Miodraga S. Petkovica i prof. dr Ljiljane D. Petkovic.Ovom prilikom autor posebno skrece paznju i na knjigu Numerical recipes -The art of scientific computing (autori W. Press, S. Teukolsky, W. Vetterlingi B. Flannery), u kojoj je dat algoritamski osvrt na gotovo sve, za prakticneprimene vazne numericke metode.

Kako je ovo prvo izdanje, verovatno postoje greske i propusti. Zato seautor unapred zahvaljuje svim citaocima koji mu na iste ukazu. Za sve ko-mentare, primedbe, sugestije, itd. koje su vise nego dobrodosle, citaoci mogukontaktirati autora putem e-maila na adresu [email protected].

U Nisu, AutorApril 2013.

Page 5: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

Sadrzaj

1 Osnovni pojmovi matematicke analize i teorije algoritama 1

1.1 Relacije, funkcije i nizovi . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Granicne vrednosti nizova i funkcija . . . . . . . . . . . . . . . 2

1.3 Izvodi funkcija jedne promenljive . . . . . . . . . . . . . . . . . 6

1.4 Integrali funkcija jedne promenljive . . . . . . . . . . . . . . . . 8

1.5 Taylorovi polinomi i redovi . . . . . . . . . . . . . . . . . . . . 11

1.6 Vektorske funkcije i funkcije vise promenljivih . . . . . . . . . . 13

1.7 Pojam algoritma i pseudokod notacija . . . . . . . . . . . . . . 16

1.8 Slozenost algoritma i asimptotske oznake . . . . . . . . . . . . . 18

1.9 Numericki algoritmi i stabilnost . . . . . . . . . . . . . . . . . . 20

2 Elementi teorije gresaka 21

2.1 Izvori greske kod numerickih postupaka . . . . . . . . . . . . . 21

2.2 Predstavljanje razlomljenih brojeva u racunaru . . . . . . . . . 22

2.3 Apsolutna i relativna greska broja . . . . . . . . . . . . . . . . 26

2.4 Prostiranje gresaka kod osnovnih racunskih operacija . . . . . . 29

2.5 Greska izracunavanja vrednosti funkcije . . . . . . . . . . . . . 31

3 Rekurentne jednacine i racunanje vrednosti funkcija 35

3.1 Konacne razlike . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2 Linearne diferencne jednacine . . . . . . . . . . . . . . . . . . . 37

3.3 Linearne diferencne jednacine sa konstantnim koeficijentima . . 39

3.3.1 Funkcija generatrise . . . . . . . . . . . . . . . . . . . . 41

3.3.2 Algoritam za brzo racunanje vrednosti yk za velike vre-dnosti indeksa k . . . . . . . . . . . . . . . . . . . . . . 43

3.4 Problem stabilnosti resenja linearnih diferencnih jednacina . . . 43

3.4.1 Izracunavanje vrednosti Besselovih funkcija . . . . . . . 44

3.4.2 Minimalno i dominantno resenje linearne diferencne jed-nacine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

iii

Page 6: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

iv Sadrzaj

3.4.3 Millerov metod . . . . . . . . . . . . . . . . . . . . . . . 493.5 Izracunavanje vrednosti elementarnih funkcija . . . . . . . . . . 51

3.5.1 Taylorov razvoj . . . . . . . . . . . . . . . . . . . . . . . 51

3.5.2 Asimptotski razvoj . . . . . . . . . . . . . . . . . . . . . 52

3.5.3 Izracunavanje vrednosti polinoma . . . . . . . . . . . . . 56

3.6 Sumiranje redova i ubrzavanje konvergencije . . . . . . . . . . . 58

3.7 Verizni razlomci . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.7.1 Konvergencija veriznih razlomaka . . . . . . . . . . . . . 63

3.7.2 Algoritam za racunanje veriznih razlomaka . . . . . . . 65

4 Numericko resavanje nelinearnih jednacina 71

4.1 Metricki prostori i norme . . . . . . . . . . . . . . . . . . . . . 72

4.2 Metod polovljenja intervala . . . . . . . . . . . . . . . . . . . . 75

4.3 Opsti iterativni metodi . . . . . . . . . . . . . . . . . . . . . . . 78

4.3.1 Konstrukcija iterativnih metoda . . . . . . . . . . . . . 81

4.3.2 Red i faktor konvergencije . . . . . . . . . . . . . . . . . 824.3.3 Izlazni kriterijum . . . . . . . . . . . . . . . . . . . . . . 84

4.3.4 Algoritamska formulacija opsteg iterativnog metoda . . 84

4.4 Newtonov metod . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.5 Newtonov metod i fraktali . . . . . . . . . . . . . . . . . . . . . 90

4.6 Metod secice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

4.7 Jos nekoliko iterativnih metoda . . . . . . . . . . . . . . . . . . 96

4.7.1 Metod regula falsi . . . . . . . . . . . . . . . . . . . . . 96

4.7.2 Halleyev metod . . . . . . . . . . . . . . . . . . . . . . . 98

4.7.3 Metod Steffensena . . . . . . . . . . . . . . . . . . . . . 984.7.4 Efikasnost iterativnih metoda i optimalni metodi . . . . 100

4.8 Aitkenov ∆2 metod za ubrzanje konvergencije . . . . . . . . . . 102

4.9 Metod Newton-Kantorovica za sisteme nelinearnih jednacina . 106

4.10 Metodi za odredivanje nula polinoma . . . . . . . . . . . . . . . 110

4.10.1 Nule polinoma sa kompleksnim koeficijentima . . . . . . 110

4.10.2 Lokalizacija nula polinoma . . . . . . . . . . . . . . . . 112

4.10.3 Bernoullijev metod . . . . . . . . . . . . . . . . . . . . . 113

4.10.4 Bairstowljev metod . . . . . . . . . . . . . . . . . . . . . 1184.10.5 Metodi za simultano racunanje svih nula polinoma . . . 120

5 Numericki metodi u linearnoj algebri 125

5.1 Norme vektora i matrica . . . . . . . . . . . . . . . . . . . . . . 125

5.2 Sistemi linearnih jednacina i inverzna matrica . . . . . . . . . . 134

5.3 Gaussov i Gauss-Jordanov metod . . . . . . . . . . . . . . . . . 1355.3.1 Gaussov metod . . . . . . . . . . . . . . . . . . . . . . . 136

Page 7: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

Sadrzaj v

5.3.2 Implementacija Gaussovog metoda . . . . . . . . . . . . 140

5.3.3 Gauss-Jordanov metod . . . . . . . . . . . . . . . . . . . 142

5.4 Stabilnost resenja sistema linearnih jednacina . . . . . . . . . . 145

5.5 LU faktorizacija i Cholesky faktorizacija . . . . . . . . . . . . . 146

5.5.1 LU faktorizacija . . . . . . . . . . . . . . . . . . . . . . 147

5.5.2 Cholesky faktorizacija . . . . . . . . . . . . . . . . . . . 152

5.6 Iterativni metodi . . . . . . . . . . . . . . . . . . . . . . . . . . 153

5.6.1 Metod proste iteracije . . . . . . . . . . . . . . . . . . . 153

5.6.2 Jacobijev metod . . . . . . . . . . . . . . . . . . . . . . 156

5.6.3 Metod Gauss-Seidela i varijanta Nekrasova . . . . . . . 158

5.6.4 Inverzija matrica . . . . . . . . . . . . . . . . . . . . . . 162

5.7 Izracunavanje sopstvenih vrednosti i sopstvenih vektora matrice 166

5.7.1 Lokalizacija sopstvenih vrednosti matrica . . . . . . . . 168

5.7.2 Metodi za odredivanje karakteristicnog polinoma . . . . 171

5.7.3 Metod stepenovanja za dominantne i subdominantne sop-stvene vrednosti . . . . . . . . . . . . . . . . . . . . . . 174

5.7.4 Jacobijev metod . . . . . . . . . . . . . . . . . . . . . . 177

6 Interpolacija 185

6.1 Polinomna interpolacija . . . . . . . . . . . . . . . . . . . . . . 187

6.1.1 Lagrangeova interpolacija . . . . . . . . . . . . . . . . . 188

6.1.2 Newtonova interpolacija . . . . . . . . . . . . . . . . . . 190

6.1.3 Newtonova interpolacija sa konacnim razlikama . . . . . 196

6.1.4 Nevilleov algoritam . . . . . . . . . . . . . . . . . . . . . 198

6.2 Hermiteova interpolacija . . . . . . . . . . . . . . . . . . . . . . 199

6.2.1 Rekurzivni algoritam . . . . . . . . . . . . . . . . . . . . 201

6.2.2 Formula slicna Lagrangeovoj interpolacionoj formuli . . 205

6.2.3 Formula slicna Newtonovoj interpolacionoj formuli . . . 205

6.3 Aproksimativna svojstva interpolacionih polinoma . . . . . . . 210

6.4 Uniformna aproksimacija funkcije polinomom . . . . . . . . . . 214

6.5 Racionalna interpolacija . . . . . . . . . . . . . . . . . . . . . . 220

6.5.1 Egzistencija i jedinstvenost resenja . . . . . . . . . . . . 221

6.5.2 Algoritam slican Newtonovom metodu za resavanje pro-blema racionalne interpolacije . . . . . . . . . . . . . . . 224

6.5.3 Reciprocne razlike . . . . . . . . . . . . . . . . . . . . . 229

6.5.4 Nevilleov algoritam za racionalnu interpolaciju . . . . . 231

6.5.5 Aproksimativna svojstva racionalne interpolacije . . . . 232

Page 8: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

vi Sadrzaj

7 Numericko diferenciranje i integracija 2357.1 Numericko diferenciranje . . . . . . . . . . . . . . . . . . . . . . 2357.2 Opsti oblik formula za numericko diferenciranje . . . . . . . . . 2387.3 Formule za numericko diferenciranje za ekvidistantne cvorove . 2427.4 Numericka integracija . . . . . . . . . . . . . . . . . . . . . . . 2457.5 Konstrukcija kvadraturnih formula . . . . . . . . . . . . . . . . 2477.6 Kvadraturne formule sa zadatim cvorovima . . . . . . . . . . . 2497.7 Kvadraturne formule sa ekvidistantnim cvorovima . . . . . . . 251

7.7.1 Trapezna formula . . . . . . . . . . . . . . . . . . . . . . 2527.7.2 Simpsonova formula . . . . . . . . . . . . . . . . . . . . 254

7.8 Uopstene kvadraturne formule . . . . . . . . . . . . . . . . . . . 2567.8.1 Uopstena trapezna formula . . . . . . . . . . . . . . . . 2567.8.2 Uopstena Simpsonova formula . . . . . . . . . . . . . . . 258

7.9 Metod za ocenu ostatka u kvadraturnim formulama . . . . . . . 260

8 Ponovljena Richardsonova ekstrapolacija i primene 2638.1 Definicija i osnovna svojstva . . . . . . . . . . . . . . . . . . . . 2638.2 Slucaj pk = 2k . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

8.2.1 Izracunavanje broja π . . . . . . . . . . . . . . . . . . . 2708.2.2 Primena na numericko diferenciranje . . . . . . . . . . . 272

8.3 Rombergov metod za numericku integraciju . . . . . . . . . . . 2738.4 Uopstenje za specijalan slucaj pk = p · k . . . . . . . . . . . . . 277

Page 9: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

Spisak algoritama

1 Izracunavanje maksimalnog elementa niza brojeva . . . . . . . 172 Sortiranje niza u neopadajuci poredak . . . . . . . . . . . . . . 193 Rekurzivno racunanje k-tog stepena matrice C . . . . . . . . . 444 Izracunavanje vrednosti polinoma p(x) u tacki x = x0 . . . . . 565 Paralelno izracunavanje vrednosti polinoma p(x) u tacki x0 . . 586 Modifikovani Lentzov algoritam . . . . . . . . . . . . . . . . . . 667 Metod polovljenja intervala . . . . . . . . . . . . . . . . . . . . 778 Opsti iterativni metod . . . . . . . . . . . . . . . . . . . . . . . 859 Racunanje nula polinoma p(x) . . . . . . . . . . . . . . . . . . 12010 Gaussov metod za resavanje sistema linearnih jednacina . . . . 14111 Croutov algoritam za LU faktorizaciju matrice A . . . . . . . . 15012 Croutov algoritam za Cholesky faktorizaciju matrice A . . . . . 15313 Leverrier-Faddeev metod za racunanje karakt. polinoma . . . . 17314 Jacobijev metod za sopst. vred. i vek. realnih sim. matrica . . 18315 Izracunavanje podeljenih razlika . . . . . . . . . . . . . . . . . . 19416 Nevilleov algoritam za polinomnu interpolaciju . . . . . . . . . 19817 Rekurzivni algoritam za Hermiteovu interpolaciju . . . . . . . . 20318 Izracunavanje inverznih podeljenih razlika . . . . . . . . . . . . 22719 Izracunavanje reciprocnih podeljenih razlika . . . . . . . . . . . 23120 Nevilleov algoritam za racionalnu interpolaciju . . . . . . . . . 23321 Ponovljena Richardsonova ekstrapolacija . . . . . . . . . . . . . 26722 Rombergov metod za numericku integraciju . . . . . . . . . . . 27523 Uopstena ponovljena Richardsonova ekstrapolacija . . . . . . . 279

vii

Page 10: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013
Page 11: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

210 Glava 6. Interpolacija

6.3 Aproksimativna svojstva interpolacionih poli-

noma

Do sada smo razmatrali problem nalazenja jedinstvenog polinoma pn(x)stepena manjeg ili jednakog n, koji zadovoljava pn(xk) = yk, gde su xk i yk datirealni ili kompleksni brojevi a k = 0, 1, 2, . . . , n. U ovom odeljku razmotricemoaproksimativna svojsva interpolacionog polinoma pn(x), tj. izvescemo izrazeza procenu greske aproksimacije funkcije f(x) odgovarajucim inteprolacionimpolinomom pn(x).

Teorema 6.3.1. Neka je f ∈ C(n+1)[a, b] i neka je pn(x) intepolacioni polinomza funkciju f(x) i cvorove interpolacije a ≤ x0 < x1 < . . . < xn ≤ b. Tada zasvako x ∈ [a, b] postoji tacka ξ ∈ [a, b] takva da je

f(x)− pn(x) =f (n+1)(ξ)

(n+ 1)!w(x), w(x) = (x− x0)(x− x1) · · · (x− xn).

Dokaz. Neka je x ∈ [a, b] proizvoljna tacka takva da je x 6= xi za svakoi = 0, 1, . . . , n i neka je

K =f(x)− pn(x)

w(x). (6.31)

Funkcija F (x) = f(x)−pn(x)−Kw(x) ima n+2 razlicite nule na segmentu [a, b](to su x, x0, x1, . . . , xn). Na osnovu Rolleove teoreme sledi da se izmedu svakedve uzastopne nule funkcije F (x) nalazi jedna nula funkcije F ′(x), odnosno daF ′(x) ima bar (n + 1)-nu razlicitu nulu. Daljom primenom Rolleove teoremei prethodnog razmatranja dobijamo da F (k)(x) ima bar n + 2 − k razlicitihnula, pa F (n+1)(x) ima bar jednu nulu ξ ∈ [a, b]. Tada je

F (n+1)(ξ) = f (n+1)(ξ)−K(n+ 1)! = 0 ⇒ K =f (n+1)(ξ)

(n+ 1)!.

Iz (6.31) sledi

f(x)− pn(x) = Kw(x) =f (n+1)(ξ)

(n+ 1)!w(x),

cime je teorema dokazana. �

Posmatrajmo sada slucaj ekvidistantnih cvorova xk = x0 + kh, gde jeh = x1 − x0. Pre nego sto izvedemo odgovarajucu posledicu Teoreme 6.3.1.

Page 12: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

6.3. Aproksimativna svojstva interpolacionih polinoma 211

Lema 6.3.2. Neka je n ∈ N i Hn(t) = |t(t−1) · · · (t−n)|. Maksimum funkcijeHn(t) za t ∈ [0, n] dostize na segmentu [0, 1], tj. vazi

maxt∈[0,n]

Hn(t) = maxt∈[0,1]

Hn(t).

Dokaz. Neka je

Hk(t) = |t(t− 1) · · · (t− k)|, Rk(t) = |(t− k)(t− k − 1) · · · (t− n)|

za k = 0, 1, . . . , n. Tada je Hn(t) = H2k(t)R2k+1(t). Primetimo dalje da vaziHn(t) = Hn(n−t) za svako t ∈ [0, n] kao i Hk(t) = Hk(k−t) za svako t ∈ [0, k].

Neka je t∗ ∈ (0, n/2) \ N0 tacka u kojoj se dostize maksimalna vrednostfunkcije Hn(t) i neka je k = ⌊t∗⌋. Ocigledno je t∗ ∈ (k, k + 1). Pretpostavimosuprotno, da se maksimum ne dostize na (0, 1), tj. da je k > 0.

Ideja je da pronademo tacku t′ na intervalu (k − 1, k) za koju je Hn(t′) >

Hn(t∗). Neka je t′ = 2k − t∗ ∈ (k − 1, k). Vec smo pokazali da vazi H2k(t

∗) =H2k(t

′). Medutim, funkcija R2k+1(t) je ocigledno opadajuca za t < 2k + 1 pavazi R2k+1(t

′) > R2k+1(t∗) sto implicira

Hn(t′) = H2k(t

′)R2k+1(t′) < H2k(t

∗)R2k+1(t∗) = Hn(t

∗).

Ovo je kontradikcija sa pretpostavkom da je t∗ maksimalna vrednost funkcijeHn(t). �

Na slici 6.2 dat je grafik funkcije Hn(t) iz Leme 6.3.2 za n = 6. Vidimo dase maksimum zaista dostize za t ∈ (0, 1) (i to za t = 0.321962).

20

40

60

80

1 2 3 4 5 6 t

H6(t)

Slika 6.2: Grafik funkcije H6(t) = |t(t− 1) · · · (t− 6)|.

Sada mozemo da dokazemo odgovarajucu posledicu Teoreme 6.3.1 kojadaje procenu greske kada su cvorovi ekvidistantni.

Page 13: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

212 Glava 6. Interpolacija

Posledica 6.3.3. Ako vaze uslovi Teoreme 6.3.1 i ako su cvorovi ekvidistantni,tada vazi sledeca nejednakost

|f(x)− pn(x)| ≤|h|n+1M

4(n + 1), M = max

x∈[x0,x0+nh]|f (n+1)(x)|.

Dokaz. Uvedimo smenu t = (x− x0)/h. Na osnovu Teoreme 6.3.1 je

|f(x)− pn(x)| =|f (n+1)(ξ)|(n+ 1)!

|t(t− 1) · · · (t− n)||h|n+1.

Primenom Leme 6.3.2 dobijamo

|f(x)− pn(x)| =|h|n+1|f (n+1)(ξ)|

(n+ 1)!Hn(t) ≤

|h|n+1M

(n+ 1)!maxq∈[0,n]

Hn(q)

=|h|n+1M

(n+ 1)!maxq∈[0,1]

Hn(q)

≤ |h|n+1M

(n+ 1)!maxq∈[0,1]

|q(q − 1)| maxq∈[0,1]

|(q − 2)(q − 3) · · · (q − n)|

≤ |h|n+1M

(n+ 1)!· 14· n!

Ovim je posledica dokazana. �

Primetimo da se u terminima podeljenih razlika, greska interpolacije mozezapisati u obliku

f(x)− pn(x) = (x− x0)(x− x1) · · · (x− xn)f [x0, x1, . . . , xn, x]. (6.32)

Da bismo ovo dokazali, posmatrajmo interpolacioni polinom pn+1(x) koji sedobija dodavanjem cvora x (x 6= xi za i = 0, 1, . . . , n) cvorovima x0, x1, . . . , xn.Tada je

f(x) = pn+1(x) = pn(x) + (x− x0)(x− x1) · · · (x− xn)f [x0, x1, . . . , xn, x]

odakle direktno dobijamo

f(x)− pn+1(x) = (x− x0)(x− x1) · · · (x− xn)f [x0, x1, . . . , xn, x].

U slucaju Hermiteovog interpolacionog polinoma hn(x) vazi sledeca teo-rema, koju navodimo bez dokaza.

Page 14: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

6.3. Aproksimativna svojstva interpolacionih polinoma 213

Teorema 6.3.4. Neka je f ∈ C(n+1)[a, b] i neka je hn(x) Hermiteov intepo-lacioni polinom za funkciju f(x) i cvorove interpolacije a ≤ x0 < x1 < . . . <xm ≤ b i date vrednosti f(xi), f

′(xi), . . . , f(ni−1)(xi). Tada za svako x ∈ [a, b]

postoji tacka ξ ∈ [a, b] takva da je

f(x)− hn(x) =f (n+1)(ξ)

(n+ 1)!(x− x0)n0(x− x1)n1 · · · (x− xm)nm .

Na kraju ovog pododeljka, razmotricemo na jednom primeru sta se desavasa greskom interpolacije kada se broj interpolacionih cvorova povecava. Iz Teo-reme 6.3.1 vidimo da greska interpolacije ne mora da obavezno da se smanjuje,s obzirom da u izrazu figurise vrednost f (n+1)(ξ) za koju nemamo garanciju dace opadati dovoljnom brzinom da anulira proizvod clanova x−xi (cak nemamogaranciju ni da ce uopste opadati).

Primer 6.3.1. (Rungeov primer) Posmatrajmo funkciju

f(x) =1

1 + x2

za x ∈ [−5, 5]. Neka je pn(x) interpolacioni polinom funkcije f(x) za ekvidis-

tantne cvorove x(n)k = −5 + 10

n , k = 0, 1, . . . , n. Moze se pokazati da vazisledeci, na prvi pogled totalno iznenadujuci rezultat

limn→+∞

max−5≤x≤5

|f(x)− pn(x)| = +∞.

Dakle, ne samo sto se sa povecanjem reda n aproksimacija ne poboljsava, negopostaje sve gora i gora. Na slici 6.3 dat je grafik funkcije f(x) kao i graficinekoliko interpolacionih polinoma pn(x).

x

y

f(x)p10(x)

p6(x)

Slika 6.3: Grafik funkcije f(x) = 1/(1 + x2) i njenih interpolacionih polinomap6(x) i p10(x) za ekvidistantne cvorove u intervalu [−5, 5].

Page 15: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

214 Glava 6. Interpolacija

Ovaj primer nam pokazuje da ekvidistantni izbor cvorova moze da budeveoma los u odredenim situacijama. Ujedno je i potvrdena pretpostavka dainterpolacioni polinomi nemaju uvek dobra aproksimativna svojstva. Medutim,ukoliko samo promenimo cvorove i umesto ekvidistantnih tacaka odaberemosledece:

x(n)k = 5cos

((2k + 1)π

2(n + 1)

)

, k = 0, 1, . . . , n

vidimo da rezultati postaju mnogo bolji (slika 6.4).

x

y

f(x) p10(x) p6(x)

Slika 6.4: Grafik funkcije f(x) i njenih interpolacionih polinoma p6(x) i p10(x)kada su cvorovi nule odgovarajuceg Cebisevljevog polinoma, skalirane na se-gment [−5, 5].

Ovi cvorovi predstavljaju nule Cebisevljevog polinoma

Tn+1(x) = cos((n+ 1) arccos x)

koje su skalirane na segment [−5, 5]. U sledecem odeljku pokazacemo da svakuneprekidnu funkciju na segmentu mozemo proizvoljno dobro aproksimiratipolinomom.

6.4 Uniformna aproksimacija funkcije polinomom

U prethodnom odeljku videli smo da interpolacioni polinomi nemaju uvekdobre aproksimativne osobine (Rungeov primer). Ova cinjenica nas navodida postavimo sledece pitanje: Da li je uopste moguce proizvoljno ”dobro”aproksimirati neku funkciju f(x) polinomom? Pre nego sto damo (pozitivan)odgovor na prethodno pitanje, definisacemo pojam ”dobre” aproksimacije iuvescemo definiciju modula neprekidnosti funkcije.

Page 16: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

6.4. Uniformna aproksimacija funkcije polinomom 215

Definicija 6.4.1. Niz polinoma pn(x) uniformno (ravnomerno) aproksimirafunkciju f(x) na segmentu [a, b] ako vazi

limn→+∞

supx∈[a,b]

|f(x)− pn(x)| = 0.

Drugim recima, potrebno je da maksimalno odstupanje funkcije f(x) odpolinoma pn(x) tezi nuli kada n tezi beskonacnosti.

Definicija 6.4.2. Funkcija f : [a, b] → R zadovoljava Lipschitzov uslov na[a, b] ako postoji konstanta L > 0 takva da za svako x, y ∈ [a, b] vazi

|f(x)− f(y)| ≤ L|x− y|

Podsetimo se da smo ovaj pojam vec definisali u (opstijem) slucaju funkcijedefinisane na metrickom prostoru. Sada cemo uvesti pojam modula nepreki-dnosti funkcije f : D → R na sledeci nacin:

ω(f, δ) = sup|x−y|<δx,y∈D

|f(x)− f(y)|.

Funkcija f je uniformno (ravnomerno) neprekidna na (nepraznom) skupuD ⊆R, ako vazi

(∀ǫ > 0)(∃δǫ > 0)(∀x, y ∈ D)(|x− y| < δǫ ⇒ |f(x)− f(y)| < ǫ).

Odavde direktno sledi da je

limδ→0

ω(f, δ) = 0.

Trivijalno vazi da je svaka ravnomerno neprekidna funkcija na nekom skupuD, ujedno i neprekidna. Medutim, ukoliko je D = [a, b] onda vazi i obrnuto,da je svaka neprekidna funkcija f ∈ C[a, b] 2 ujedno i uniformno neprekidna.Odgovarajuce tvrdenje ne vazi za bilo koji skup D (npr. za interval D =(a, b)).

Da bismo dokazali glavnu teoremu ovog odeljka, potrebno je definisati klasupolinoma poznatu pod nazivom Bernsteinovi polinomi.

2Tvrdenje moze da se uopsti na funkcije vise promenljivih i pritom se kao domen funkcijeuzima kompaktan skup K ⊂ Rn.

Page 17: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

216 Glava 6. Interpolacija

Definicija 6.4.3. Polinomi

bn,k(x) =

(n

k

)

xk(1− x)n−k, (6.33)

gde je n ∈ N a k = 0, 1, . . . , n, nazivaju se Bernsteinovi bazicni polinomi. Akoje f : [0, 1]→ R funkcija, onda se polinom

Bn(f ;x) =

n∑

k=0

f

(k

n

)

bn,k(x) (6.34)

naziva Bernsteinov polinom n-tog reda za funkciju f(x).

Iako su definisani u odnosu na funkciju f(x), Bernsteinovi polinomi nepredstavljaju interpolacione polinome n-tog funkcije f(x).

Lema 6.4.1. Bernsteinovi polinomi za funkcije 1, x, x2 jednaki su redom:

Bn(1;x) = 1,

Bn(x;x) = x,

Bn(x2;x) =

n− 1

nx2 +

1

nx.

Dokaz. Direktnom proverom dobijamo da tvrdenje leme vazi za n = 1, 2.Zato cemo pretpostaviti da je n ≥ 3.

Prva jednakost sledi direktno iz definicije Bernsteinovih polinoma (izraz(6.34)) i binomne teoreme

Bn(1;x) =

n∑

k=0

(n

k

)

xk(1− x)n−k = 1.

Takode, na osnovu definicionog izraza dobijamo

Bn(x;x) =

n∑

k=0

k

n

(n

k

)

xk(1− x)n−k

= x

n∑

k=1

(n− 1

k − 1

)

xk−1(1− x)n−k

= x

n−1∑

k=0

(n− 1

k

)

xk(1− x)n−1−k = x.

Page 18: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

6.4. Uniformna aproksimacija funkcije polinomom 217

U prethodnom izrazu, koristili smo da je

k

n

(n

k

)

=k

n· n!

k!(n − k)! =(n− 1)!

(k − 1)!(n − k)! =(n− 1

k − 1

)

(6.35)

za svako n ≥ 2 i k = 1, 2, . . . , n.Da bismo dokazali trecu jednakost, najpre definicioni izraz za Bn(x

2;x)razlazemo na dve sume na sledeci nacin:

Bn(x2;x) =

n∑

k=0

(k

n

)2(n

k

)

xk(1− x)n−k

=1

n

n∑

k=1

k

(n− 1

k − 1

)

xk(1− x)n−k

=1

n

n∑

k=1

(k − 1)

(n− 1

k − 1

)

xk(1− x)n−k +1

n

n∑

k=1

(n− 1

k − 1

)

xk(1− x)n−k.

Promenom granice sumiranja i koriscenjem izraza (6.35) dobijamo da je prvasuma jednaka

S1 =1

n

n−1∑

k=0

k

(n− 1

k

)

xk+1(1− x)n−1−k

=n− 1

n

n−1∑

k=1

(n− 2

k − 1

)

xk+1(1− x)n−1−k

=n− 1

nx2

n−2∑

k=0

(n− 2

k

)

xk(1− x)n−2−k =n− 1

nx2.

Na slican nacin racunamo i drugu sumu

S2 =1

nx

n−1∑

k=0

(n− 1

k

)

xk(1− x)n−1−k =1

nx.

Zamenom S1 i S2 dobijamo trazeni izraz za Bn(x2;x). �

Sledi glavna teorema ovog odeljka, cija direktna posledica daje pozitivanodgovor na pitanje da li za svaku funkciju f ∈ C[a, b] postoji niz polinoma kojiuniformno aproksimira tu funkciju.

Teorema 6.4.2. (Bernstein) Neka je f ∈ C[0, 1] proizvoljna funkcija. Tadaje

|f(x)−Bn(f ;x)| ≤9

(

f,1√n

)

.

Page 19: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

218 Glava 6. Interpolacija

Dokaz. Neka je xk = k/n za k = 0, 1, . . . , n i neka je δ > 0 proizvoljan broj.Na osnovu Leme 6.4.1 sledi:

f(x)−Bn(f ;x) = f(x)

n∑

k=0

bn,k(x)−n∑

k=0

f(xk)bn,k(x)

=n∑

k=0

(f(x)− f(xk))bn,k(x).

Razlikovacemo dva slucaja. Neka je |xk−x| ≤ δ. Tada je f(x)−f(xk) ≤ ω(f ; δ)pa vazi

S1 =

∣∣∣∣∣∣

|xk−x|≤δ

(f(x)− f(xk))bn,k(x)

∣∣∣∣∣∣

≤∑

|xk−x|≤δ

ω(f ; δ)bn,k(x)

≤ ω(f ; δ)n∑

k=0

bn,k(x) = ω(f ; δ).

Pretpostavimo sada da je |xk − x| > δ. Neka je p = ⌊(x − xk)/δ⌋. Neka sutacke c1, c2, . . . , cp ekvidistantno rasporedene izmedu tacaka x i xk, i neka jec1 najbliza tacki x a cp tacki xk. Razlika izmedu susedne dve tacke jednaka je|ci+1−ci| = (x−xk)/(p+1) < δ. Mozemo da procenimo razliku |f(x)−f(xk)|na sledeci nacin

|f(x)− f(xk)| ≤ |f(x)− f(c1)|+p−1∑

i=1

|f(ci+1)− f(ci)|+ |f(cp)− f(xk)|

≤ (p + 1)ω(f ; δ) ≤( |xk − x|

δ+ 1

)

ω(f ; δ).

Odgovarajuca suma je jednaka

S2 =

∣∣∣∣∣∣

|xk−x|>δ

(f(x)− f(xk))bn,k(x)

∣∣∣∣∣∣

≤ ω(f ; δ)∑

|xk−x|>δ

( |xk − x|δ

+ 1

)

bn,k(x)

≤ ω(f ; δ)[

n∑

k=0

|xk − x|δ

bn,k(x) +

n∑

k=0

bn,k(x)

]

≤ ω(f ; δ)[

n∑

k=0

(xk − x)2δ2

bn,k(x) + 1

]

.

Page 20: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

6.4. Uniformna aproksimacija funkcije polinomom 219

Ovde smo iskoristili cinjenicu da je |xk − x|/δ > 1, pa je

(xk − x)2/δ2 > |xk − x|/δ > 1.

Koriscenjem Leme 6.4.1 dobijamo sledecu ocenu

n∑

k=0

(xk − x)2bn,k(x) = x2 − 2x · x+n− 1

nx2 +

x

n=x(1− x)

n≤ 1

4n.

Zamenom dobijamo da je

S2 ≤ ω(f ; δ)[

1

4nδ2+ 1

]

odnosno

|f(x)−Bn(f ;x)| ≤ S1 + S2 ≤ ω(f ; δ)[

1

4nδ2+ 2

]

.

Ako stavimo δ = 1/√n, dobijamo tvrdenje teoreme. �

Bernsteinova teorema ostaje u vaznosti i ako je f ∈ C[a, b], samo sto umestoBn(f ;x) uzimamo polinom

Bn(f ; a, b;x) = Bn(f ; a+ (b− a)x), f(x) = f(a+ (b− a)x).

Kao direktnu posledicu Bernsteinove teoreme i cinjenice da je svaka nepreki-dna funkcija na [a, b] ujedno i uniformno neprekidna imamo sledecu teoremu.

Teorema 6.4.3. (Weierstrass) Za svaku funkciju f ∈ C[a, b] postoji nizpolinoma pn(x) koji uniformno aproksimira funkciju f(x).

Primer 6.4.1. Razmotrimo sada aproksimaciju Rungeove funkcije

f(x) =1

1 + x2.

Bernsteinovim polinomima Bn(x) = Bn(f ;−5, 5;x). Kao sto mozemo videtina grafiku, svaki sledeci polinom daje sve bolju i bolju aproksimaciju funkcijef(x).

Page 21: ALGORITMI NUMERICKE ANALIZEˇ · Marko D. Petkovi´c ALGORITMI NUMERICKE ANALIZEˇ Serija: udˇzbenici Univerzitet u Niˇsu, Prirodno-Matematiˇcki fakultet Niˇs, 2013

220 Glava 6. Interpolacija

x

y

f(x)

B6(x)

B100(x)

Slika 6.5: Aproksimacija Rungeove funkcije Bernsteinovim polinomima.

Medutim, konvergencija je prilicno spora, pa je za bilo koju ozbiljnijuaproksimaciju potrebno posmatrati Bernsteinov polinom stepena n ≥ 100sto je prakticno neizvodljivo. Napomenimo da je B100(x) u ovom primerugenerisan egzaktno (koeficijenti su racunati u obliku razlomka), sto nam jeomogucilo da verno nacrtamo grafik ovog polinoma. Ukoliko bi koristili ari-tmetiku pokretnog zareza, bila bi nam potrebna preciznost od najmanje 100znacajnih cifara.

Iako aproksimacija funkcije Bernsteinovim polinomima ima samo teorijskiznacaj, ovi polinomi su itekako vazni kad su u pitanju primene. Pomocu njih sekonstruisu Bezierove krive i povrsi koje su uspesno koriste u racunarskoj graficii dizajnu (animacije, fontovi, itd.). Vise o Bezierovim krivama i povrsima mozese naci npr. u [31, 35].

6.5 Racionalna interpolacija

Problem racionalne interpolacije sastoji se u odredivanju racionalne funkcije(racionalnog interpolanta):

rm,n(x) =p(x)

q(x)≡

m∑

j=0

pjxj

n∑

j=0

qjxj

(6.36)

tako da za razlicite realne brojeve x0, x1, . . . , xN vazi

rm,n(xi) = fi = f(xi), i = 0, 1, . . . , N, N = m+ n. (6.37)

Drugim recima, potrebno je pronaci koeficijente p0, p1, . . . , pm polinoma u bro-jiocu kao i koeficijente q0, q1, . . . , qn polinoma u imeniocu tako da su ispunjeni