U Z E N I C I U N I V E R Z I T E T U N I V E R S I TA S Z E N I C A E N S I S S T U D I O R U M. Univerzitet u Zenici.

Σχετικά έγγραφα
SISTEMI NELINEARNIH JEDNAČINA

3.1 Granična vrednost funkcije u tački

Osnovne teoreme diferencijalnog računa

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

(P.I.) PRETPOSTAVKA INDUKCIJE - pretpostavimo da tvrdnja vrijedi za n = k.

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

Pismeni ispit iz matematike GRUPA A 1. Napisati u trigonometrijskom i eksponencijalnom obliku kompleksni broj, zatim naći 4 z.

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

4 Numeričko diferenciranje

Riješeni zadaci: Limes funkcije. Neprekidnost

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

IZVODI ZADACI (I deo)

7 Algebarske jednadžbe

Zavrxni ispit iz Matematiqke analize 1

18. listopada listopada / 13

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

5 Ispitivanje funkcija

Matematička analiza 1 dodatni zadaci

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

Linearna algebra 2 prvi kolokvij,

Teorijske osnove informatike 1

4.7. Zadaci Formalizam diferenciranja (teorija na stranama ) 343. Znajući izvod funkcije x arctg x, odrediti izvod funkcije x arcctg x.

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

Cauchyjev teorem. Postoji više dokaza ovog teorema, a najjednostvniji je uz pomoć Greenove formule: dxdy. int C i Cauchy Riemannovih uvjeta.

1 Promjena baze vektora

Neka je a 3 x 3 + a 2 x 2 + a 1 x + a 0 = 0 algebarska jednadžba trećeg stupnja. Rješavanje ove jednadžbe sastoji se od nekoliko koraka.

Računarska grafika. Rasterizacija linije

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

APROKSIMACIJA FUNKCIJA

Ispitivanje toka i skiciranje grafika funkcija

Riješeni zadaci: Nizovi realnih brojeva

TRIGONOMETRIJSKE FUNKCIJE I I.1.

III VEŽBA: FURIJEOVI REDOVI

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Numerička matematika 2. kolokvij (1. srpnja 2009.)

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Ispit održan dana i tačka A ( 3,3, 4 ) x x + 1

Kaskadna kompenzacija SAU

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

ELEKTROTEHNIČKI ODJEL

Funkcije dviju varjabli (zadaci za vježbu)

Računarska grafika. Rasterizacija linije

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Elementi spektralne teorije matrica

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Prvi kolokvijum. y 4 dy = 0. Drugi kolokvijum. Treći kolokvijum

radni nerecenzirani materijal za predavanja R(f) = {f(x) x D}

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Fakultet tehničkih nauka, Softverske i informacione tehnologije, Matematika 2 KOLOKVIJUM 1. Prezime, ime, br. indeksa:

4. poglavlje (korigirano) LIMESI FUNKCIJA

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

1.4 Tangenta i normala

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Linearna algebra 2 prvi kolokvij,

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

DRUGI KOLOKVIJUM IZ MATEMATIKE 9x + 6y + z = 1 4x 2y + z = 1 x + 2y + 3z = 2. je neprekidna za a =

> 0 svakako zadovoljen.

MATEMATIKA Pokažite da za konjugiranje (a + bi = a bi) vrijedi. a) z=z b) z 1 z 2 = z 1 z 2 c) z 1 ± z 2 = z 1 ± z 2 d) z z= z 2

Zadaci iz Osnova matematike

2. Ako je funkcija f(x) parna onda se Fourierov red funkcije f(x) reducira na Fourierov kosinusni red. f(x) cos

Sume kvadrata. mn = (ax + by) 2 + (ay bx) 2.

RIJEŠENI ZADACI I TEORIJA IZ

Zadaci iz trigonometrije za seminar

Operacije s matricama

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

( , 2. kolokvij)

radni nerecenzirani materijal za predavanja

numeričkih deskriptivnih mera.

Determinante. a11 a. a 21 a 22. Definicija 1. (Determinanta prvog reda) Determinanta matrice A = [a] je broj a.

( ) ( ) Zadatak 001 (Ines, hotelijerska škola) Ako je tg x = 4, izračunaj

Prediktor-korektor metodi

5. Karakteristične funkcije

Univerzitet u Nišu, Prirodno-matematički fakultet Prijemni ispit za upis OAS Matematika

Eliminacijski zadatak iz Matematike 1 za kemičare

NUMERIČKI METODI I PROGRAMIRANJE. I Aritmetičke operacije, izrazi i simbolička izračunavanja u Mathematici.

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

Otpornost R u kolu naizmjenične struje

INTELIGENTNO UPRAVLJANJE

x n +m = 0. Ovo proširenje ima svoju manu u tome da se odričemo relacije poretka - no ne možemo imati sve...

41. Jednačine koje se svode na kvadratne

MATERIJAL ZA VEŽBE. Nastavnik: prof. dr Nataša Sladoje-Matić. Asistent: dr Tibor Lukić. Godina: 2012

ASIMPTOTE FUNKCIJA. Dakle: Asimptota je prava kojoj se funkcija približava u beskonačno dalekoj tački. Postoje tri vrste asimptota:

x bx c + + = 0 po nepoznatoj x, vrijedi da je

4 Izvodi i diferencijali

Inženjerska grafika geometrijskih oblika (5. predavanje, tema1)

Dijagonalizacija operatora

Zadatak 2 Odrediti tačke grananja, Riemann-ovu površ, opisati sve grane funkcije f(z) = z 3 z 4 i objasniti prelazak sa jedne na drugu granu.

IZVODI ZADACI (I deo)

Prvi pismeni zadatak iz Analize sa algebrom novembar Ispitati znak funkcije f(x) = tgx x x3. 2. Naći graničnu vrednost lim x a

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Jednodimenzionalne slučajne promenljive

1. zadatak , 3 Dakle, sva kompleksna re{ewa date jedna~ine su x 1 = x 2 = 1 (dvostruko re{ewe), x 3 = 1 + i

Transcript:

U N I V E R Z I T E T U Z E N I C I U N I V E R S I TA S S T U D I O R U M Z E N I C A E N S I S Univerzitet u Zenici Mašinski fakultet Aleksandar Karač Numeričke metode u inženjerstvu Zenica, 2009.

Poglavlje 1 Uvod U ovom udžbeniku predstavljene su metode koje se mogu koristiti u rješavanju matematičkih problema koji se pojavljuju u nauci, a za koje nije moguće ili je vrlo teško naći rješenja u zatvorenom obliku. S obzirom na dostupnost brzim računarima u današnje vrijeme, pomoću ovih metoda moguće je uspješno i veoma brzo dobiti rješenja visoke tačnosti za mnoge probleme s kojima se suočavaju današnji inženjeri i naučnici. Ovo uvodno poglavlje objašnjava osnovne pojmove s kojima se susrećemo u numeričkim proračunima. 1.1 Osnovne ideje i koncepti u numeričkoj analizi U većini numeričkih metoda primjenjuje se mali broj opštih i relativno jednostavnih ideja. Ove ideje se međusobno povezuju s nekim dodatnim saznanjima o problemu koji se rješava. U ovom poglavlju date su neke osnovne opšte ideje koje se kriju iza numeričkih metoda pri rješavanju jednostavnijih problema, koji mogu biti dio rješenja nekog većeg problema. 1.1.1 Iteracija, konvergencija, rekurzija Jedan od najčešće sretanih pojmova u mnogim kontekstima je pojam iteracije ili sukcesivne aproksimacije. Općenito govoreći, iteracija predstavlja ponavljanje niza radnji ili postupaka, kao što je ponavljanje nekog numeričkog procesa, s ciljem poboljšanja prethodno dobivenih rezultata. Kako bismo pojasnili pojam iteracije, posmatrajmo problem rješavanja sljedeć jednačine: x = g(x) (1.1)

6 1 Uvod gdje je g(x) diferencijabilna funkcija čija se vrijednost može izračunati za bilo koju vrijednost realne promjenljive x unutar zadatog intervala. Koristeći iterativni postupak, počinje se s nekom početnom aproksimacijom x 0, i računa redom: x 1 = g(x 0 ), x 2 = g(x 1 ), x 3 = g(x 2 ),...... x n+1 = g(x n ), Svaki red oblika x i+1 = g(x i ) predstavlja jednu iteraciju. Ako niz x n konvergira ka graničnoj vrijednosti ξ tada imamo: (1.2) ξ = lim n x n+1 = lim n g(x n ) = g(ξ) (1.3) pa x = ξ zadovoljava jednačinu x = g(x). Cilj je da s porastom n imamo sve bolju procjenu željenog korijena (rješenja) jednačine (1.1). Iterativni postupak se zaustavlja kada se dobije željena tačnost; na primjer, dok apsolutna razlika između dvije uzastopne iteracije ne bude manja od izabranog malog pozitivnog realnog broja. Posljednja formula u nizu (1.2) x n+1 = g(x n ) (1.4) naziva se rekurzivna ili rekurentna formula. Rekurentne formule predstavljaju jednu od važnijih ideja u numeričkoj matematici. Rješavanje nekog problema pomoću rekurentnih formula znači da rješenje tog problema zavisi od rješenja manjih primjeraka istog problema. Geometrijska interpretacija iterativnog postupka je data na slici 1.1. Korijen jednačine (1.1) je dat kao abscisa presječne tačke krive y = g(x) i prave y = x. Koristeći iterativni postupak i počinjući sa x 0 dobijamo tačku A 0 s koordinatama (x 0, g(x 0 )). Sada se lako dobije tačka B 1, jer ima istu vrijednost ordinate kao tačka A 0, tj. y = g(x 0 ) = x 1. Postupak se zatim ponavlja dok se ne postigne željena tačnost. Sa slike 1.1a se vidi da niz x n monotono konvergira, tj. rješenju se približavamo uvijek s iste (lijeve) strane. Slika 1.1b pokazuje slučaj u kojem proces, također, konvergira, ali ne monotono (rješenju se približavamo naizmjenično s desne i lijeve strane). Međutim, postoje i slučajevi u kojima iterativni proces divergira (slike 1.1c i 1.1d). Za niz se kaže da konvergira kada ima graničnu vrijednost. U suprotnom, kaže se da divergira.

Osnovne ideje i koncepti u numeričkoj analizi 7 a) b) f(x) f(x) A1 M A0 A2 A0 A4 M B1 A3 A1 g(x0) x0 x1 x2 x3 x x0 x2 x4 x3 x1 x c) d) f(x) f(x) B1 B0 M A0 A0 M B2 A1 B3 A2 x3 x2 x1 x0 x x0=x2 x1=x3 x Slika 1.1: Geometrijska interpretacija iteracije x n+1 = g(x n ) 1.1.2 Aproksimacija Još jedna od često korištenih ideja je da se neka komplikovanija funkcija lokalno, tj. u maloj okolini neke tačke, aproksimira linearnom funkcijom. Ovaj postupak se naziva linearna aproksimacija ili linearizacija. Također, funkcije koje imaju veoma komplikovane analitičke izraze ili su definisane na neki drugi način (na primjer tabelarno), mogu se aproksimirati jednostavnijim funkcijama, najčešće polinomima. Osim aproksimacije funkcija, u numeričkoj matematici često se koristi i aproksimacija izvoda tzv. konačnim razlikama, kao što je pokazano u poglavlju 5.1.2 koje govori o numeričkom diferenciranju koristeći formule za diferenciranje. Upotreba ove ideje je pokazana i u poglavlju 2 na primjerima numeričkog rješavanja jednačina koristeći razne numeričke metode. Na primjer, Newtonova metoda i metoda sječice (vidi poglavlja 2.5 i 2.7) predstavljaju metode u kojima se linearizacija upotrebljava u kombinaciji s iterativnim postupkom.

8 1 Uvod 1.2 Značajne cifre, greške i predstavljanje brojeva Numerički proračuni uključuju i razne računske operacije s brojevima (sabiranje, množenje, itd.), pri čemu brojevi mogu biti cijeli (npr. 2, 50, -30, itd.), racionalni (npr. 1/2, -3/5, itd.), ili iracionalni (npr. π = 3.1415926535...). Pri radu s numeričkim vrijednostima i numeričkim proračunima treba imati na umu sljedeće koncepte: 1. Značajne cifre 2. Greške 3. Predstavljanje brojeva 1.2.1 Značajne cifre Značajne cifre nekog broja su prve netrivijalne cifre, odnosno cifre različite od nule, i one koje slijede iza njih u zapisu. Na primjer, u broju 3.145 imamo 4 značajne cifre, dok u broju 0.0171 imamo tri značajne cifre. Općenito, svaki inženjerski ili naučni proračun počinje grupom podataka koji imaju poznat broj značajnih cifara. Kada se ovakvi brojevi procesiraju u nekom numeričkom algoritmu, vrlo je važno moći odrediti koliko značajnih cifara se nalazi u konačno proračunatom rezultatu. 1.2.2 O greškama Izvori grešaka Jedan od osnovnih zadataka numeričke analize je da se razviju efikasne i tačne metode za izračunavanje fizičkih veličina koje je teško ili nemoguće dobiti analitičkim putem. Međutim, numerički analitičari moraju biti i eksperti u kontroliranju različitih izvora grešaka kako se ove greške ne bi pomiješale s izračunatim rezultatima prilikom njihove interpretacije. Numerički rezultati mogu biti izloženi mnogim tipovima grešaka, pri čemu se neke mogu potpuno eliminisati, dok se na druge može veoma teško utjecati. Greške se prostiru (propagiraju) od njihovog izvora prema vrijednostima fizičkih veličina koje se izračunavaju, ponekad s velikim pojačanjem ili prigušenjem. Pri tome je veoma važno napraviti razliku između greške koja je nastala u procesu izračunavanja neke fizičke veličine, i greške koja se naslijedila iz podataka od kojih zavisi ta fizička veličina. U udžbeniku će se umjesto decimalnog zareza koristiti decimalna tačka.

Značajne cifre, greške i predstavljanje brojeva 9 Sve greške se, s obzirom na izvore nastanka, mogu podijeliti na sljedeći način: Greške u polaznim podacima. Ove greške nastaju prilikom mjerenja fizičkih veličina. Pri tome, mjerenja mogu biti pod utjecajem sistemskih grešaka (greške u mjernim uređajima), ili trenutnih smetnji (vibracije, nepovoljna temperatura, itd.). Ovaj tip grešaka je daleko jednostavnije procijeniti od grešaka koje nastaju usljed zaokruživanja u toku računanja. Greške usljed zaokruživanja u toku računanja. Ove greške nastaju u računarima, s obzirom da računari koriste konačnu aritmetiku, odnosno binarnu aritmetiku s pokretnom tačkom, kod koje je unaprijed rezervisan određen broj binarnih mjesta za eksponent i mantisu (vidi poglavlje 1.2.3). Dva tipična slučaja su: 1. Kada računar ne može da manipuliše s brojevima koji imaju veći broj značajnih cifara od, na primjer, s, onda tačan proizvod dva broja sa s cifara (ovaj proizvod može sadržavati 2s ili (2s 1) cifara) ne može da se koristi u naknadnim proračunima; proizvod takva dva broja se zaokružuje na s značajnih cifara. 2. Ako se pri proračunu s relativno mali broj b doda broju a, onda se, s obzirom na ograničen broj značajnih cifara, može desiti da neke cifre broja b budu zanemarene u izrazu a + b, tako da neće imati nikakav utjecaj na veličine koje zavise od tog zbira. Efekti grešaka pri zaokruživanju mogu biti vrlo uočljivi u dugim proračunima. Greške usljed prekidanja (greške odbacivanja). Ove greške nastaju kada se, na primjer, beskonačan niz prekine nakon konačnog broja članova, ili kada se izvodi aproksimiraju konačnim razlikama (mada je u drugom slučaju pravilnije koristiti pojam greška diskretiziranja). Pojednostavljenja u matematičkom modelu (greške modela). Ove greške nastaju zamjenom složenih sistema jednostavnijim koje možemo opisati matematičkim formulama, odnosno kada se prave idealizacije. Naime, stvarne pojave su često takve da se ili ne mogu opisati matematičkim teorijama, ili su previše složene za današnji stepen matematike. Zbog toga se vrše razna pojednostavljenja kako bismo, s jedne strane, bili u mogućnosti opisati neku pojavu pomoću matematičkih formula, a s druge strane, Koncept realnog broja s pokretnom tačkom je danas najčešće korištena metoda za aproksimaciju realnih brojeva pomoću računara [6, 7].

10 1 Uvod kako bismo dobivene formule pojednostavili na oblik koji je moguće riješiti. Tako se, na primjer, kod kretanja u zemaljskim uslovima često zanemaruje utjecaj otpora zraka. Osim toga, često se "dobri" modeli zamjenjuju "slabijim" kako bi se mogle primijeniti numeričke metode; na primjer, sistemi parcijalnih diferencijalnih jednačina se linearizuju. Ovaj tip grešaka je ponekad veoma teško procijeniti i na korisniku je da uvidi da li se primjenom modela dobivaju očekivani rezultati. Ljudske greške i greške računara. Pri numeričkom rješavanju problema, mogu se očekivati i greške pri unosu podataka, koje nastaju kao rezultat pogrešnog upisivanja vrijednosti, grešaka u knjigama, tabelama ili formulama koje su na raspolaganju. U ove vrstu grešaka spadaju i greške u programiranju, odnosno usljed pogrešno napisanih algoritama, te greške u hardveru. Primjer greške pri programiranju je pogrešno napisana DO petlja u FORTRAN programu, koji je kontrolirao let američke sonde Venus, usljed koje je sonda nestala (umjesto DO 1,3 napisano je DO 1.3). S druge strane, greška u hardveru koja je svojevremeno (1994. godine ) imala velik odjek u javnosti, je greška u INTEL Pentium procesoru, koji je davao pogrešne rezultate pri dijeljenju s određenom grupom realnih brojeva. Propagacija grešaka Prethodno navedeni tipovi grešaka utječu na naknadne rezultate proračuna. Tako se greške u ulaznim podacima prostiru (propagiraju) i povećavaju greške na izlazu. Također, greške zaokruživanja u svakom koraku proračuna mogu propagirati i dati greške na izlazu. Ipak, za većinu algoritama može se dati analiza greške zaokruživanja, pa se utjecaji ovakvih grešaka na konačan rezultat mogu procijeniti. Apsolutna i relativna greška Aproksimacija je centralni koncept u gotovo svim oblastima primjene numeričke matematike, s obzirom da se vrlo često moramo zadovoljiti s približnim vrijednostima s kojima radimo. Drugi vid aproksimacije je kada zanemarujemo neke veličine koje su male u odnosu na druge. Ovakve aproksimacije su često neophodne kako problem koji rješavamo ne bi postao previše komplikovan za rješavanje. Algoritam je određeni skup definisanih naredbi koje se koriste za obavljanje nekog zadatka.

Značajne cifre, greške i predstavljanje brojeva 11 Upravo iz prethodno navedenih razloga, javljaju se pojmovi (definicije) apsolutne i relativne greške. Ako je, na primjer, x približna vrijednost tačne vrijednosti x, onda je: apsolutna greška x = x x (1.5) relativna greška x x = x x x (1.6) Neki autori, međutim, apsolutnu grešku definišu kao razliku između tačne i približne vrijednosti, x x, ili razliku približne i tačne vrijednosti, x x. Time se daje (ili zahtijeva) dodatna informacija o predznaku greške, pa je pridjev apsolutna u tom slučaju suvišan. Vrlo je važno napomenuti razliku u korištenju apsolutne i relativne greške, koje su date izrazima (1.5) i (1.6), respektivno. Posmatrajmo, na primjer, neki iterativni postupak u kojem se traži da je apsolutna greška 0.001. Ako je tačno rješenje 100.000, onda je približna vrijednost jednaka 100.000 ± 0.001 i ima pet značajnih cifara. Međutim, ako je tačno rješenje jednako 0.001, onda je približno rješenje jednako 0.001 ± 0.001 i nema značajnih cifara. Ovaj primjer ukazuje na opasnost korištenja apsolutne greške kao kriterija tačnosti. No, u slučaju kada se poznaje tačno rješenje, kriterij apsolutne greške se može koristiti za dobivanje tačnosti s traženim brojem značajnih cifara. U suprotnom, pogodnije je koristiti relativnu grešku. Posmatrajmo sada slučaj iterativnog postupka s relativnom greškom jednakom 0.00001. Ako je tačno rješenje 100.000, onda apsolutna greška mora biti jednaka 100.000 0.00001 = 0.001 da bi se zadovoljila relativna greška. Ovo znači da će u približnom rješenju biti pet značajnih cifara. Ako je, na primjer, tačno rješenje 0.001, onda apsolutna greška mora biti jednaka 0.001 0.00001 = 0.0000001 da bi se zadovoljio kriterij relativne greške. Ovo, također, dovodi do pet značajnih cifara. Dakle, relativna greška dovodi do jednakog broja značajnih cifara u približnom rješenju, bez obzira na veličinu tačnog rješenja. U uskoj vezi s apsolutnom i relativnom greškom je i pojam tačnosti. Pri tome, tačnost predstavlja apsolutnu ili relativnu grešku kojom se aproksimira neka veličina. Neki autori često uz pojam tačnosti spominju i pojam preciznosti, koji predstavlja tačnost kojom se izvršavaju osnovne računske operacije.

12 1 Uvod 1.2.3 Predstavljanje brojeva Brojevi se predstavljaju u brojevnim sistemima (npr. dekadni, oktalni, heksadecimalni, binarni, itd.). Brojevni sistem je određen svojom bazom, odnosno brojem različitih cifara koje se koriste za reprezentaciju brojeva. Nasuprot dekadnom sistemu (s bazom 10), koji je najčešći sistem u komunikaciji ljudi, digitalni računari koriste binarni sistem (sistem s bazom 2), tj. sistem nula i jedinica. U tom slučaju binarni broj se sastoji od binarnih bita. Broj binarnih bita određuje tačnost kojom binarni broj predstavlja neki decimalni broj. Najčešća veličina binarnog broja je 32 binarna bita, koji približno može predstaviti realni broj sa sedam značajnih cifara. Neki računari imaju 64- bitne binarne brojeve, koji predstavljaju 13 ili 14 značajnih cifara, a neki čak i 128-bitne. Međutim, u mnogim inženjerskim i naučnim proračunima 32-bitni binarni brojevi su sasvim dovoljni, a na njima je moguće izvršiti 64-bitne i 128-bitne proračune, koristeći određena softverska poboljšanja. Ovo se postiže korištenjem tzv. dvostruke ili četverostruke preciznosti (eng. double i quad precision), respektivno. Treba napomenuti da su, osim za cijele brojeve i neke razlomke, sve binarne reprezentacije decimalnih brojeva aproksimacije, s obzirom na konačnu dužinu binarnog zapisa (na primjer, broj 0.2 u binarnom zapisu ima beskonačan oblik 0.00110011...). Na taj način, gubitak tačnosti u binarnoj reprezentaciji ovakvih brojeva se ne može izbjeći. Reprezentacija broja s pokretnom tačkom U prethodnim poglavljima je već spomenut koncept reprezentacije brojeva s pokretnom (pomičnom) tačkom. Naime, na kalkulatorima se često može izabrati tzv. "naučna notacija" brojeva. Po toj notaciji, na primjer, broj 20.12 se prikazuje kao 2.012 10 1 ; znak "-" predstavlja predznak broja, "." je decimalna tačka, 2.012 je mantisa, m (signifikantni ili razlomljeni dio broja), 10 je baza, a 1 je eksponent, e. Predznak broja je ujedno i predznak mantise. Općenito se svaki realan broj u dekadnom sistemu brojeva može na jednoznačan način predstaviti u obliku ±m 10 e gdje je 1 < m < 10. Ovakav način reprezentacije brojeva predstavlja reprezentaciju brojeva s pokretnom tačkom. Za pohranjivanje realnih brojeva računari koriste sličnu reprezentaciju brojeva, ali se kao baza ne uzima broj 10 nego 2 (izuzetak su računar IBM 370 koji koristi bazu 16, te većina kalkulatora koji koriste bazu 10). U primjeru: x = (11.1011) 2 = (1.11011) 2 1 (1.7) (11.1011) 2 predstavlja binarnu reprezentaciju broja x (= (3.625) 10 ), a njen oblik u prikazu s pokretnom tačkom je (1.11011) 2 1.

Poglavlje 2 Rješavanje jednačina Mnogi problemi u nauci i inženjerstvu zahtijevaju pronalaženje rješenja ili korijena neke jednačine. Problem se, u stvari, svodi na sljedeće: Za datu neprekidnu funkciju f(x), treba naći vrijednost x = ξ takvu da je f(ξ) = 0. Problem je grafički predstavljen na slici 2.1. f(x) 1 2 f( 1 )=0 f( 2 )=0 x Slika 2.1: Rješenje jednačine f(x) = 0 Općenito, korijeni jednačine f(x) = 0 ne mogu se predstaviti u zatvorenom obliku, odnosno eksplicitno. Čak i za slučajeve u kojima je na raspolaganju rješenje u eksplicitnom obliku, ono može biti vrlo komplikovano tako da su numeričke metode mnogo korisnije za rješavanje jednačina. 2.1 Osnovne faze u pronalaženju korijena jednačine U postupku rješavanja jednačina možemo razlikovati dvije faze, i to:

14 2 Rješavanje jednačina lokalizacija nula, koja predstavlja nalaženje intervala u kojem se nalazi bar jedan korijen. poboljšanje rješenja, odnosno iterativno nalaženje korijena na traženu tačnost. 2.1.1 Lokalizacija nula Lokalizacija nula predstavlja grubo (približno) pronalaženje rješenja koje može poslužiti kao početna aproksimacija u nekoj sistematskoj proceduri postupka rješavanja, koja poboljšava rješenje do određene tačnosti. Ako je to moguće, najbolje je naći granice intervala u kojima se nalazi korijen i u kojima funkcija ima različit znak. U ovu svrhu se mogu koristiti različite metode od kojih su najčešće: crtanje grafika funkcije, inkrementalno pretraživanje, rješenje pojednostavljenog modela, prethodno rješenje u nizu dobivenih rješenja, itd. Crtanje grafika funkcije izvodi se u intervalu koji nas interesuje. Ako, na primjer, rješenje neke jednačine predstavlja pozitivnu veličinu, kao što je pređeni put ili vrijeme, nećemo crtati grafik za negativne vrijednosti abscise. Kako danas mnogi kalkulatori imaju mogućnost crtanja grafika funkcija, ovaj postupak je znatno olakšan. Uz to, postoje mnogi softverski paketi koji uz sve ostale mogućnosti mogu da se koriste i za crtanje grafika funkcija (na primjer, Excel, Matlab, MathCAD, Mathematica, itd.) Inkrementalno pretraživanje se sastoji u izračunavanju vrijednosti funkcije u tačkama posmatranog intervala, krečući se od početne do krajnje tačke intervala sa željenim inkrementom ili korakom. U trenutku kada funkcija promijeni znak, korijen se nalazi u posmatranom podintervalu (naravno, uz uslov da je funkcija neprekidna na datom intervalu). Ove dvije vrijednosti mogu se koristiti kao početne aproksimacije za neku od procedura za poboljšanje rješenja. 2.1.2 Poboljšanje rješenja Poboljšanje rješenja predstavlja određivanje rješenja do željene tačnosti pomoću neke od sistematskih metoda. U tu svrhu mogu se koristiti razne metode od kojih će se ovdje pokazati sljedeće: metoda polovljenja intervala - bisekcija, regula falsi, metoda proste iteracije, vidi dodatak B

Metoda polovljenja intervala 15 Newtonova metoda, modifikovana Newtonova metoda, metoda sječice. 2.2 Metoda polovljenja intervala Metoda polovljenja intervala ili bisekcije (eng. interval halving, bisection) je jedna od najjednostavnijih metoda za traženje korijena jednačina. U ovoj metodi, prvo se odrede dvije procjene korijena, i to lijevo, za x = a = a 0, i desno, x = b = b 0, od korijena. Ove procjene ograničavaju korijen, kao što je prikazano na slici 2.2. Očigledno je da korijen x = ξ leži u intervalu [a 0, b 0 ]. Ovaj interval se može prepoloviti usrednjavanjem vrijednosti a 0 i b 0, tako da se dobiva x 0 = (a 0 + b 0 )/2. Na taj način dobivaju se dva intervala:[a 0, x 0 ] i [x 0, b 0 ]. Koji interval sadrži korijen ξ zavisi od vrijednosti f(x 0 ). Ako je f(a 0 )f(x 0 ) < 0, kao što je to slučaj na slici 2.2, korijen se nalazi u intervalu (a 0, x 0 ). Tada se postavi da je a 1 = a 0 i b 1 = x 0, i postupak ponovi. Ako je, pak, f(x 0 )f(b 0 ) < 0, postavi se da je a 1 = x 0 i b 1 = b 0, i postupak polovljenja nastavi. U slučaju da je f(a 0 )f(x 0 ) = 0, korijen jednačine je jednak x 0. f(x) f(b 0 ) a 2 a 1 a 0 =a f(a 0 ) a 3 x 2 x 1 b 2 x 0 b 1 f(x 0 ) b 0 =b x Slika 2.2: Grafička interpretacija metode polovljenja intervala Prema tome, metoda polovljenja intervala je iterativna metoda, sa sljedećim algoritmom (i = 0, 1, 2,...): x i = a i + b i 2 (2.1a) Ako je f(a i )f(x i ) < 0 : a i+1 = a i, b i+1 = x i (2.1b)

16 2 Rješavanje jednačina Ako je f(x i )f(b i ) < 0 : a i+1 = x i, b i+1 = b i (2.1c) Ako je f(a i )f(x i ) = 0 : dobiva se rješenje ξ = x i (2.1d) Iterativni postupak se nastavlja sve dok se ne postigne željena tačnost, tj. dok veličina intervala ne postane manja od željene tolerancije ε 1 ( b i a i ε 1 ), ili veličina f(x) ne postane manja od željene tolerancije ε 2 ( f(x i ) ε 2 ), ili oboje. Neki autori umjesto prvog uslova konvergencije koriste uslov x i x i 1 ε 1. Metoda polovljenja intervala ima sljedeće osobine: S obzirom da se iterativnim postupkom interval, u kojem se nalazi traženi korijen, (dvostruko) smanjuje svakom narednom iteracijom, konvergencija je zagarantovana. Greška metode nakon n koraka se može odrediti i iznosi b n a n = 1 2 n (b 0 a 0 ) (2.2) S obzirom da se svakom iteracijom interval polovi, (maksimalan) broj iteracija n, a time i broj računanja funkcije, koji je potreban da se prvobitni interval [a 0, b 0 ] smanji na određeni interval [a n, b n ], dobiva se iz (2.2) i iznosi: n = 1 log(2) log ( ) b0 a 0 b n a n (2.3) Konvergencija je spora, odnosno potreban je veliki broj iteracija da se postigne željena tačnost. Naime, potrebne su približno tri iteracije da se poveća tačnost za jedno decimalno mjesto (0.1 2 3.3 ). Primjer 2.1 Metodom polovljenja intervala naći pozitivni korijen jednačine x 2 2 = 0. Postupak rješavanja zaustaviti kada se ispuni uslov b i a i < 10 4, pri čemu je i redni broj iteracije. Rješenje Kao što je u prethodnim poglavljima rečeno, prvi korak u numeričkom rješavanju jednačina predstavlja lokalizacija nula. Ovo možemo na najlakši način postići crtanjem grafika funkcije i utvrđivanjem intervala u kojem se dato rješenje nalazi. Sa slike 2.3 se jasno vidi da se pozitivno rješenje zadate jednačine nalazi u intervalu [a 0, b 0 ] = [1, 2].

Metoda polovljenja intervala 17 5 4 3 2 f x =x - y 1 0 1 2-1 -2-3 -5-4 -3-2 -1 0 1 2 3 4 5 x Slika 2.3: Grafički prikaz funkcije f(x) = x 2 2 U krajnjim tačkama intervala (neprekidna) funkcija f(x) = x 2 2 ima vrijednosti različitog predznaka, tj. f(a 0 ) = f(1) = 1 < 0 i f(b 0 ) = f(2) = 2 > 0, pa se u datom intervalu nalazi bar jedan korijen date jednačine. Sada se vrši podjela intervala na dva jednaka podintervala i provjerava koji od podintervala sadrži korijen jednačine. Dakle, slijedeći algoritam za metodu polovljenja intervala, imamo: x 0 = a 0 + b 0 = 1 + 2 = 1.5 2 2 f(x 0 ) = f(1.5) = 0.25 > 0 S obzirom da je f(x 0 ) > 0 i f(a 0 ) < 0 rješenje se nalazi u intervalu [a 0, x 0 ] = [1, 1.5], i stavljamo da je a 1 = a 0 i b 1 = x 0. Postupak ponavljamo na novom intervalu [a 1, b 1 ] = [1, 1.5], tj. x 1 = a 1 + b 1 = 1 + 1.5 = 1.25 2 2 f(x 1 ) = f(1.25) = 0.4375 < 0 f(x 1 )f(b 1 ) = f(1.25)f(1.5) < 0 pa je sljedeći interval u kojem se nalazi korijen zadate jednačine [a 1, x 1 ] = [1.25, 1.5]. Postupak se ponavlja dok se ne postigne željena tačnost. U Tabeli 2.1 sumarno su dati rezultati proračuna. Konačno, rješenje je ξ = 1.41425 i dobiveno je u 15 iteracija.

18 2 Rješavanje jednačina Tabela 2.1: Uz primjer 2.1 Iteracija i a i f(a i ) b i f(b i ) x i a i b i 0 1-1 2 2 1.5 1 1 1-1 1.5 0.25 1.25 0.5 2 1.25-0.4375 1.5 0.25 1.375 0.25 3 1.375-0.109375 1.5 0.25 1.4375 0.125....... 12 1.41406-0.000427 1.41431 0.000263 1.41418 0.000244 13 1.41418-0.000008 1.41431 0.000263 1.41425 0.000122 14 1.41418-0.000008 1.41425 0.000009 1.41422 0.000061 2.3 Metoda regula falsi Kao što se moglo vidjeti, u slučaju metode polovljenja intervala korijen jednačine se aproksimira srednjom vrijednošću intervala u kojem se korijen nalazi. U metodi regula falsi, što u prevodu znači metoda pogrešnog položaja, funkcija f(x) se aproksimira pravcem g(x) koji prolazi kroz tačke a i b, a korijen funkcije g(x), x = ξ, se uzima kao sljedeća aproksimacija korijena jednačine f(x) = 0. S obzirom na linearnu interpolaciju funkcije, ova metoda se još naziva i linearna interpolaciona metoda. f(x) f(b 0 ) a 2 a 1 a 0 =a f(a 0 ) f(x 0 ) x 1 x 0 b 0 =b b 2 b 1 x Slika 2.4: Grafička interpretacija metode regula falsi Grafička interpretacija metode regula falsi data je na slici 2.4. Kao što se sa slike vidi, pravac g(x), koji aproksimira funkciju f(x), ima korijen u tački x 0. Na taj način, početni interval [a 0, b 0 ] se dijeli na dva podintervala [a 0, x 0 ]

Metoda regula falsi 19 i [x 0, b 0 ]. Vrijednost tačke x 0 može se lako odrediti pomoću jednačine g(x) i uslova g(x 0 ) = 0, tj. g(b 0 ) g(x 0 ) = g(b 0) g(a 0 ) b 0 a 0 (b 0 x 0 ) (2.4) S obzirom da je g(a 0 ) = f(a 0 ) i g(b 0 ) = f(b 0 ), te g(x 0 ) = 0, slijedi: f(b 0 ) = f(b 0) f(a 0 ) b 0 a 0 (b 0 x 0 ) (2.5) i konačno: x 0 = b 0 b 0 a 0 f(b 0 ) f(a 0 ) f(b 0) (2.6) Koji od ova dva intervala,[a 0, x 0 ] i [x 0, b 0 ], sadrži korijen jednačine, određuje se na isti način kao u metodi polovljenja intervala, a zatim se proces ponavlja. Algoritam metode regula falsi može se predstaviti na sljedeći način (i = 0, 1, 2,...): b i a i x i = b i f(b i ) f(a i ) f(b i) (2.7a) Ako je f(a i )f(x i ) < 0 : a i+1 = a i, b i+1 = x i (2.7b) Ako je f(x i )f(b i ) < 0 : a i+1 = x i, b i+1 = b i (2.7c) Ako je f(a i )f(x i ) = 0 : dobiva se rješenje ξ = x i (2.7d) Proces se nastavlja dok se ne postigne željena tačnost, tj. x i x i 1 ε 1 i/ili f(x i ) ε 2 (2.8) Slično metodi polovljenja intervala, i za ovu metodu je konvergencija zagarantovana. Uz to, metoda regula falsi nešto brže konvergira od metode polovljenja intervala, ali ne daje unaprijed veličinu greške. Ipak, i ova metoda sporije konvergira od metoda koje slijede. Primjer 2.2 Metodom regula falsi naći pozitivni korijen jednačine x 2 2 = 0. Postupak rješavanja zaustaviti kada se ispuni uslov x i x i 1 < 10 4, pri čemu je i redni broj iteracije.

20 2 Rješavanje jednačina Rješenje Postupak rješavanja metodom regula falsi je vrlo sličan rješavanju metodom polovljenja intervala, s tom razlikom što se sljedeća aproksimacija rješenja neke jednačine ne izračunava kao srednja vrijednost krajeva intervala, nego pomoću jednačine (2.7a). Ako za početni interval, u kojem se nalazi korijen jednačine x 2 2 = 0, uzmemo [a 0, b 0 ] = [1, 2], imamo: b 0 a 0 x 0 = b 0 f(b 0 ) f(a 0 ) f(b 0) = 2 2 1 2 ( 1) 2 = 1.333333 f(x 0 ) = f(1.333333) = 0.222222 < 0 S obzirom da je f(x 0 ) < 0 i f(b 0 ) > 0 rješenje se nalazi u podintervalu [x 0, b 0 ] = [1.333333, 2], i stavljamo da je a 1 = x 0 i b 1 = b 0. Postupak ponavljamo na novom intervalu [a 1, b 1 ] = [1.333333, 2], tj. b 0 a 0 x 1 = b 0 f(b 0 ) f(a 0 ) f(b 0) = 2 2 1.333333 2 ( 0.222222) 2 = 1.4 f(x 1 ) = f(1.4) = 0.04 < 0 f(x 1 )f(b 1 ) = f(1.4)f(2) < 0 pa je novi interval u kojem se nalazi korijen zadate jednačine [a 1, b 1 ] = [1.4, 2]. Postupak se ponavlja dok se ne postigne željena tačnost, odnosno ispuni uslov x i x i 1 < 10 4. U Tabeli 2.2 sumarno su dati rezultati proračuna. Konačno rješenje je ξ = 1.4142 i dobiva se u 6 iteracija, čime se na ovom primjeru i pokazuje prednost u odnosu na metodu bisekcije. Tabela 2.2: Uz primjer 2.2 Iteracija i a i f(a i ) b i f(b i ) x i x i x i 1 0 1-1 2 2 1.33333-1 1.33333-0.222222 2 2 1.4 0.06666 2 1.4-0.04 2 2 1.41176 0.011765 3 1.41176-0.00692 2 2 1.41379 0.00202 4 1.41379-0.001189 2 2 1.41414 0.00034 5 1.41414-0.000204 2 2 1.4142 0.00006 Neki autori metode bisekcije i regula falsi svrstavaju u posebnu grupu metoda, tzv. metode na zatvorenoj domeni rješavanja (eng. closed domain methods), s obzirom da ove metode počinju s dvije početne aproksimacije između

Metoda proste iteracije 21 kojih se mora nalaziti traženi korijen, i koje sistematski smanjuju početni interval na podintervale u kojima se, također, mora nalaziti taj korijen jednačine. S druge strane, metode koje su date u narednim poglavljima pripadaju tzv. metodama na otvorenoj domeni rješavanja (eng. open domain methods), s obzirom da u toku iterativnog postupka ne postoji ograničenje da se aproksimacija rješenja treba nalaziti u unaprijed utvrđenom zatvorenom intervalu. 2.4 Metoda proste iteracije Metoda proste iteracije (još se naziva i iteracija pomoću fiksne tačke) rješava jednačinu f(x) = 0 preuređivanjem u oblik x = g(x), a zatim traženjem vrijednosti x = ξ takvom da je ξ = g(ξ), što je ekvivalentno jednakosti f(ξ) = 0. Vrijednost x za koju je x = g(x) se naziva fiksna tačka relacije x = g(x) odakle i proizilazi drugo ime metode. U principu, ova metoda simultano rješava dvije jednačine: y = x i y = g(x). Dakle, tačka presjecišta linije f(x) = x i funkcije g(x) predstavlja rješenje jednačine x = g(x), a time i jednačine f(x) = 0. Metoda je grafički predstavljena na slici 2.5 (vidi objašnjenje uz sliku 1.1). y x i x i+1 x Slika 2.5: Grafička interpretacija metode proste iteracije Algoritam za metodu proste iteracije može se dobiti na sljedeći način. Nakon što se tražena nula lokalizira i izabere početna aproksimacija x 0, izračunava se vrijednost funkcije g(x 0 ), što ujedno predstavlja i novu aproksimaciju rješenja jednačine f(x) = 0. Dakle, algoritam je dat sljedećom rekurzivnom

22 2 Rješavanje jednačina formulom: x i+1 = g(x i ) (i = 0, 1, 2,...) (2.9) Procedura se ponavlja dok se ne zadovolji kriterij konvergencije, kao na primjer: x i+1 x i ε 1 i/ili f(x i+1 ) ε 2 (2.10) Problem konvergencije ove metode može se posmatrati na sljedeći način. Neka je x = ξ rješenje neke jednačine f(x) = 0 i e = x ξ greška rješenja. Oduzimajući izraz ξ = g(ξ) od jednačine (2.9) dobiva se: x i+1 ξ = e i+1 = g(x i ) g(ξ) (2.11) Funkcija g(ξ) izražena Taylorovim redom oko tačke x i ima oblik : g(ξ) = g(x i ) + g (ζ)(ξ x i ) +... (2.12) gdje je x i ζ ξ. Zanemarujući članove višeg reda od prvog u jednačini (2.12), te rješavajući za [g(x i ) g(ξ)] i uvrštavajući dobiveni rezultat u jednačinu (2.11), dobiva se: e i+1 = g (ζ)e i (2.13) Ova jednačina se može koristiti za ocjenu da li je metoda konvergentna ili ne, i ako jeste koja ja brzina konvergencije. Naime, može se pokazati da je uslov da iterativni postupak (2.9) konvergira ako za funkciju g(x), koja je definisana i diferencijabilna na intervalu [a, b], vrijedi (na primjer, vidi u [5,6]): e i+1 e i = g (ζ) < 1 ζ (a, b) (2.14) Dakle, metoda proste iteracije je konvergentna samo ako je g (ζ) < 1; ako ovaj uslov nije ispunjen, procedura divergira. U slučaju kada je uslov ispunjen, a vrijednost g (ζ) blizu 1, konvergencija je veoma spora. Iz ovoga je jasno da je odabir funkcije g(x) od velikog značaja, s obzirom da se može desiti da odabrana funkcija g(x) ne zadovoljava uslov konvergencije (2.14) za posmatrani interval (vidi primjer 2.3). Iz jednačine (2.14) se, također, vidi da je greška aproksimacije e i+1 proporcionalna greški iz prethodne aproksimacije e i, pa se kaže da je konvergencija linearna, tj. prvog reda tačnosti. Više o Taylorovom redu vidi u dodatku A Za konvergentnu metodu se kaže da je k-tog reda tačnosti ako vrijedi e n+1 e k n = const. 0

Metoda proste iteracije 23 Primjer 2.3 Na primjeru rješavanja jednačine x 2 x 2 = 0 pokazati upotrebu metode proste iteracije tražiti pozitivni korijen jednačine. Rješenje Kao što je rečeno u prethodnom poglavlju, metoda iteracije se zasniva na algoritmu koji je dat jednačinom (2.9) x i+1 = g(x i ) (i = 0, 1, 2,...) Na taj način, jednačina x 2 x 2 = 0 se može prikazati na jedan od sljedećih načina: x = x 2 2 g(x)=x 2 2 (2.15a) x = ± x + 2 g(x)= ± x + 2 (2.15b) x = 1 + 2 x x = x x2 x 2 2x 1 g(x)=1 + 2 x g(x)=x x2 x 2 2x 1 (2.15c) (2.15d) Svaka od ovih jednačina ima isto pozitivno rješenje ξ 1 = 2, kao što je pokazano na slici 2.6 (presjek funkcije g(x) s pravom f(x) = x). Međutim, sljedeća analiza pokazuje da svaki od oblika zadate jednačine ne konvergira prema željenom rješenju. Posmatrajmo prvo slučaj (2.15a), i za početnu aproksimaciju izaberimo x 0 = 3. Prvih nekoliko iteracija daje: x 1 = g(x 0 ) = 3 2 2 = 7 x 2 = g(x 1 ) = 7 2 2 = 47 x 3 = g(x 2 ) = 47 2 2 = 2207... Vidi se da iterativni postupak divergira, s obzirom da se svaka sljedeća vrijednost x i sve više udaljava od rješenja, odnosno povećava se greška e i = x i ξ. Ako se pogleda vrijednost prvog izvoda funkcije g(x), dobiva se: g (x) = 2 x > 1 za x > 1 2 Dakle, uslov za konvergenciju (2.14) nije ispunjen.

24 2 Rješavanje jednačina 5 4 3 2 y 1 0-1 -2 ξ 1 f(x)=x g(x)=x 2-2 g(x)=x-(x 2 -x-2)/(2x-1) g(x)= x+2 g(x)=1+2/x -3 0 1 2 3 4 5 x Slika 2.6: Mogući oblici jednačine g(x) pri rješavanju jednačine f(x) = x 2 x 2 metodom proste iteracije Ako sada ponovimo postupak sa slučajem (2.15b), uz x 0 = 3, imamo: x 1 = g(x 0 ) = 3 + 2 = 2.236 x 2 = g(x 1 ) = 2.236 + 2 = 2.058 x 3 = g(x 2 ) = 2.058 + 2 = 2.0014 x 4 = g(x 3 ) = 2.014 + 2 = 2.0004... Kako se može vidjeti, iterativni postupak konvergira ka rješenju ξ = 2, što je bilo i za očekivati s obzirom da je uslov konvergencije (2.14) ispunjen, tj. g (x) = 1 2 x + 2 < 1 za x > 7 4 Na sličan način mogu se analizirati i preostala dva slučaja (2.15c) i (2.15d). 2.5 Newtonova metoda Newtonova metoda (naziva se i Newton-Raphsonova metoda) je vjerovatno najpoznatija metoda za numeričko rješavanje jednačina. Grafička interpretacija

Newtonova metoda 25 metode data je na slici 2.7. Prvi korak metode je lokalna aproksimacija funkcije f(x) pomoću linearne funkcije h(x) koja predstavlja tangentu funkcije f(x) u tački M 0. Rješenje x 1 jednačine h(x) = 0, predstavlja sljedeću aproksimaciju rješenja jednačine f(x) = 0. f(x) M 0 M 1 M 2 x 0 x 1 x 2 x Slika 2.7: Grafička interpretacija Newtonove metode Kako bismo izveli algoritam za Newtonovu metodu, postavimo prema slici 2.7 izraz za koeficijent pravca tangente funkcije f(x) u tački M 0, koji ujedno predstavlja i vrijednost prvog izvoda u toj tački, f (x 0 ): f (x 0 ) = h(x 1) h(x 0 ) x 1 x 0 = h(x 0) x 1 x 0 = f(x 0) x 1 x 0 (2.16) Analogno, za izvod u tački x i vrijedi: f (x i ) = f(x i) x i+1 x i Na osnovu posljednjeg izraza dobiva se: x i+1 = x i f(x i) f (x i ) (2.17) (2.18) što predstavlja rekurzivnu formulu za Newtonovu metodu. Koristeći izraz (2.18), iterativni postupak se ponavlja dok se ne zadovolji jedan od ili oba kriterija konvergencije: x i+1 x i ε 1 i/ili f(x i+1 ) ε 2 (2.19) Newtonova metoda se ponekad naziva i metoda tangente.

26 2 Rješavanje jednačina Formula (2.18) za Newtonovu metodu može se dobiti i direktno iz Taylorovog reda, ako se zanemare članovi višeg reda od prvog, tj. f(x i+1 ) = f(x i ) + f (x i )(x i+1 x i ) (2.20) Uzimajući da je f(x i+1 ) = 0, za x i+1 konačno se dobiva: x i+1 = x i f(x i) f (x i ) Konvergencija Newtonove metode se može odrediti na sljedeći način (pretpostavlja se da su funkcije f(x), f (x) i f (x) neprekidne i ograničene na nekom intervalu koji sadrži korijen ξ jednačine f(x) = 0). Izraz (2.18) x i+1 = x i f(x i) f (x i ) ima oblik: x i+1 = g(x i ) (2.21) pa je funkcija g(x i ) data sa: g(x i ) = x i f(x i) f (x i ) (2.22) Stoga, Newtonova metoda predstavlja specijalni slučaj metode proste iteracije i konvergira ako je ispunjen uslov g (ζ) 1 x i ζ ξ (2.23) Diferenciranjem jednačine (2.22) dobivamo: g (x) = 1 f (x)f (x) f(x)f (x) [f (x)] 2 = f(x)f (x) [f (x)] 2 (2.24) Kako za korijen jednačine vrijedi x = ξ i f(ξ) = 0, time je i g (ξ) = 0. Pošto je g (x) neprekidna funkcija, može se pokazati da mora postojati neki interval u kojem je uslov (2.23) zadovoljen, odnosno da je N ewtonova metoda konvergentna [6, 7]. Brzina konvergencije se može odrediti ako se od obje strane jednakosti (2.18) oduzme ξ, i sa e = x ξ označi greška. Na taj način se dobiva: x i+1 ξ = e i+1 = x i ξ f(x i) f (x i ) = e i f(x i) f (x i ) (2.25)

Newtonova metoda 27 Razvojem funkcije f(x) u Taylorov red, i zanemarujući članove iznad drugog reda, za x = ξ vrijedi: odnosno f(ξ) = f(x i ) + f (x i )(ξ x i ) + 1 2 f (ζ)(ξ x i ) 2 = 0 x i ζ ξ (2.26) f(x i ) = f (x i )(x i ξ) 1 2 f (ζ)(ξ x i ) 2 (2.27) Ako sada izraz (2.27) uvrstimo u (2.25), dobivamo: e i+1 = e i f (x i )e i 1 2 f (ζ)e 2 i f (x i ) = 1 f (ζ) 2 f (x i ) e2 i (2.28) S obzirom da za i, x i ξ,f (x i ) f (ξ),f (x i ) f (ξ) imamo: e i+1 = 1 f (ξ) 2 f (ξ) e2 i (2.29) Izraz (2.29) jasno pokazuje da je Newtonova metoda metoda drugog reda tačnosti, što u praksi znači da se sa svakom iteracijom udvostručava broj značajnih cifara. Ipak, veoma je važno da uslov (2.23) bude ispunjen, te da početna aproksimacija bude što bliže rješenju, pošto se može dogoditi da procedura konvergira prema nekom drugom korijenu ili da divergira. Ipak, prilikom korištenja Newtonove metode treba imati na umu da je za neke funkcije vrlo teško analitički izračunati prvi izvod, a za neke funkcije to uopšte nije moguće. U takvim slučajevima koriste se neke druge metode, kao što je modifikovana Newtonova metoda ili metoda sječice. Primjer 2.4 Newtonovom metodom naći pozitivni korijen jednačine x 2 2 = 0. Postupak rješavanja zaustaviti kada se ispuni uslov x i+1 x i < 10 4, pri čemu je i redni broj iteracije. Rješenje Algoritam za rješavanje jednačina pomoću Newtonove metode dat je rekurzivnom formulom (2.18) x i+1 = x i f(x i) f (x i )

28 2 Rješavanje jednačina Ako se u tu jednačinu uvrsti da je f (x) = 2x, dobiva se sljedeća rekurzivna formula: x i+1 = x i f(x i) f (x i ) = x i x2 i 2 2x i x i+1 = 1 ) (x i + 2xi 2 (2.30) S obzirom da je rješenje jednačine x 2 2 = 0 jednako ξ = 2, formula (2.30) predstavlja i rekurzivnu formulu za izračunavanje drugog korijena broja 2. Slično metodi proste iteracije, i za Newtonovu metodu je potrebna samo jedna početna aproksimacija. Ako sada kao početnu aproksimaciju uzmemo x 0 = 3 za prve dvije iteracije imamo: x 1 = 1 ) (x 0 + 2x0 = 1 ( 3 + 2 ) = 1.83333 2 2 3 x 2 = 1 ) (x 1 + 2x1 = 1 ( ) 2 1.83333 + = 1.46212 2 2 1.83333 Tabela 2.3 daje rezultate svih 5 iteracija potrebnih za postizanje tražene tačnosti. Tabela 2.3: Uz primjer 2.4 Iteracija i x i x i x i 1 0 3-1 1.83333 1.16667 2 1.46212 0.371212 3 1.415 0.047123 4 1.41421 0.000785 5 1.41421 2.18e-7 Iz tabele se vidi da rješenje koje zadovoljava zadatu tačnost ε = 10 4 iznosi ξ = 1.41421. Međutim, i tačnost od 10 6 se postiže u istoj (5.) iteraciji. Ovo pokazuje koliko, zapravo, Newtonova metoda brzo konvergira. Međutim, može se desiti da iterativni postupak konvergira prema pogrešnom rješenju. Naime, za bilo koju početnu vrijednost x 0 < 0 iterativni postupak dat formulom (2.30) konvergira prema drugom korijenu zadate jednačine, tj. ξ 2 = 2. U slučaju izračunavanja drugog korijena broja c formula (2.30) ima oblik: x i+1 = 1 ) (x i + cxi 2

Modifikovana Newtonova metoda 29 2.6 Modifikovana Newtonova metoda U slučajevima kada izračunavanje prvog izvoda funkcije uzima mnogo računskog vremena, može se koristiti modifikovana Newtonova metoda. Ovdje se umjesto izračunavanja prvog izvoda funkcije u svakoj iteraciji, f (x i ), može uzeti da je vrijednost prvog izvoda u svim iteracijama jednaka vrijednosti prvog izvoda iz prve iteracije, tj. f (x i ) = f (x 0 ) (i = 1, 2,...) (2.31) pa izraz (2.18) dobiva oblik: x i+1 = x i f(x i) f (x 0 ) (2.32) Grafička interpretacija modifikovane Newtonove metode data je na slici 2.8. Iz slike se jasno vidi da je nagib funkcije h(x) jednak za sve tačke M i (i = 0, 1,...). f(x) M 0 x 0 M 1 M 2 M 2 x 1 x 2 x 3 x 3 x Slika 2.8: Grafička interpretacija modifikovane Newtonove metode Kao i kod Newtonove metode, iterativni postupak se ponavlja dok se ne zadovolji jedan od ili oba kriterija konvergencije: x i+1 x i ε 1 i/ili f(x i+1 ) ε 2 Primjer 2.5 Modifikovanom Newtonovom metodom naći pozitivni korijen jednačine x 2 2 = 0. Postupak rješavanja zaustaviti kada se ispuni uslov x i+1 x i < 10 4, pri čemu je i redni broj iteracije.

30 2 Rješavanje jednačina Rješenje U ovom slučaju imamo da je f (x i ) = f (x 0 ) = 2x 0, za sve vrijednosti i, pa rekurzivna formula glasi: x i+1 = x i f(x i) f (x 0 ) = x i x2 i 2 2x 0 (2.33) I u ovom slučaju koristimo samo jednu početnu aproksimaciju, na primjer x 0 = 3, uz f (x 0 ) = 2x 0 = 6. Za prve dvije iteracije dobiva se: x 1 = x 0 x2 0 2 = 3 32 2 2x 0 6 = 1.83333 x 2 = x 1 x2 1 2 = 1.83333 1.833332 2 2x 0 6 = 1.60648 U tabeli 2.4 su dati rezultati proračuna. Rješenje iznosi ξ = 1.41429 i dobiva se u 13. iteraciji, što je znatno više nego kada se koristi Newtonova metoda (5 iteracija). Interesantno je da za ovaj konkretan primjer ova metoda sporije konvergira i od metode regula falsi (6 iteracija), a po efikasnosti je približna metodi bisekcije (15 iteracija). Tabela 2.4: Uz primjer 2.5 Iteracija i x i x i x i 1 0 3-1 1.83333 1.16667 2 1.60648 0.226852 3 1.50968 0.096797... 12 1.41437 0.000136 13 1.41429 0.000072 2.7 Metoda sječice U slučajevima kada je teško ili nemoguće analitički odrediti prvi izvod neke funkcije, metoda sječice (sekante) predstavlja alternativu Newtonovoj metodi. Metoda je grafički data na slici 2.9. Funkcija f(x) se lokalno aproksimira pomoću linearne funkcije h(x), koja je sječica funkcije f(x), a njen korijen se koristi kao poboljšana aproksimacija korijena funkcije f(x). S obzirom da je

Metoda sječice 31 sječica prava linija koja prolazi kroz dvije tačke krive f(x), za iniciranje metode neophodne su dvije početne aproksimacije, x 0 i x 1. Pri tome se između njih može, ali i ne mora nalaziti korijen jednačine f(x) = 0. f(x) M 0 M 1 M 2 x 0 x 1 x 2 M 3 x 3 x Slika 2.9: Grafička interpretacija metode sječice Rekurzivna formula za metodu sječice se može dobiti ako se vrijednost prvog izvoda u izrazu (2.18): x i+1 = x i f(x i) f (x i ) aproksimira odnosom konačnih razlika na sljedeći način: f (x i ) = f(x i) f(x i 1 ) x i x i 1 (2.34) Nakon sređivanja dobiva se: x i+1 = x i x i x i 1 f(x i ) f(x i 1 ) f(x i) (2.35) Koristeći izraz (2.35), iterativni postupak se ponavlja dok se ne zadovolji jedan od ili oba kriterija konvergencije x i+1 x i ε 1 i/ili f(x i+1 ) ε 2 Može se pokazati da je brzina konvergencije reda 1.62 [5], što je mnogo brže od linearne konvergencije proste iteracije, ali i nešto sporije od kvadratne brzine konvergencije Newtonove metode. Iz izraza (2.18) i (2.35) se vidi da je za proračun Newtonovom metodom neophodno u svakoj iteraciji izračunati vrijednosti f(x) i f (x), dok je za metodu sječice potrebno izračunati samo

32 2 Rješavanje jednačina f(x). Također se može pokazati da ako je vrijeme potrebno za izračunavanje vrijednosti f (x) oko 43% duže od onog koje je potrebno za proračunavanje vrijednosti f(x), metoda sječice je efikasnija od Newtonova metode. Primjer 2.6 Metodom sječice naći pozitivni korijen jednačine x 2 2 = 0. Postupak rješavanja zaustaviti kada se ispuni uslov x i+1 x i < 10 4, pri čemu je i redni broj iteracije. Rješenje Ako kao početne aproksimacije uzmemo x 0 = 4 i x 1 = 3, i koristimo jednačinu (2.35), za naredne dvije iteracije se dobiva (koriste se indeksi 2 i 3, s obzirom da su indeksi 0 i 1 rezervisani za početne aproksimacije): x 1 x 0 x 2 = x 1 f(x 1 ) f(x 0 ) f(x 1) = 3 3 4 7 14 7 = 2 x 2 x 1 x 3 = x 2 f(x 2 ) f(x 1 ) f(x 2) = 2 2 3 2 7 2 = 1.6 Konačno rješenje je ξ = 1.41421 i dobiveno je u 6 iteracija (tabela 2.5). Dakle, za ovaj primjer, metoda je po brzini konvergencije vrlo slična metodi regula falsi i Newtonovoj metodi. Tabela 2.5: Uz primjer 2.6 Iteracija i x i f(x i ) x i+1 f(x i+1 ) x i+1 x i 0 4 14 3 7 1 1 3 7 2 2 1 2 2 2 1.6 0.56 0.4 3 1.6 0.56 1.444444 0.086412 0.155556 4 1.44444 0.086412 1.41606 0.005221 0.028386 5 1.41606 0.005221 1.41423 0.000055 0.001825 6 1.41423 0.000055 1.41421 3.6e-8 0.00002 2.8 Smjernice u traženju korijena i pisanju programa I pored toga što postoji veliki broj metoda za rješavanje jednačina, treba znati da neke metode ne mogu naći sve korijene, te da brzina konvergencije, tj.

Smjernice u traženju korijena i pisanju programa 33 utrošeno vrijeme računanja, može biti od presudnog značaja. Neke od važnih smjernica pri rješavanju jednačina su: Proces lokalizacije bi trebao ograničiti korijen u nekom malom intervalu. Dobre početne aproksimacije mogu biti od velike koristi, mada se može desiti da proces konvergira prema nekom drugom korijenu. Ako se neki problem treba riješiti samo jednom, ili mali broj puta, efikasnost nije u prvom planu, pa se u tom slučaju mogu koristiti i manje efikasne metode kod kojih je konvergencija zagarantovana, kao metode bisekcije i regula falsi. Nasuprot tome, ako se rješavanje neke jednačine obavlja veliki broj puta, veoma važno je koristiti efikasnije metode. Za rješavanje mnogih inženjerskih problema mogu se koristiti jednostavne metode, kao što je Newtonova metoda, bez bojazni da se radi o nekom specijalnom slučaju. Iako se u prethodnom tekstu nije spominjalo njihovo traženje, mnogostruki korijeni se mogu naći koristeći Newtonovu metodu, ali je problem u tome što se ne zna da li i gdje ovakvi korijeni postoje. Grafičko prikazivanje i inkrementalno traženje korijena mogu pomoći, ali to nije zagarantovano. Traženje kompleksnih korijena ne predstavlja nikakav problem ako se zna da postoje. Na primjer, Newtonova i metoda sječice lako mogu naći kompleksne korijene, koristeći kompleksnu aritmetiku i kompleksnu početnu aproksimaciju. Jedan od rješenja ovog problema je i korištenje Bairstowove metode kvadratnih faktora (vidi, na primjer, [10]). Na osnovu izlaganja u prethodnim poglavljima, moguće je u nekom od programskih jezika za pojedine metode napisati programe kojim se na brz način mogu riješiti zadate jednačine. Prilikom pisanja tih programa treba voditi računa o sljedećem: Treba biti poznat maksimalan broj iteracija, kako bi se iterativni proces zaustavio u nekom konačnom vremenu. Test konvergencije oblika x i+1 x i, odnosno b n a n za metodu bisekcije, se mora uzeti u obzir. Kada se zadovolji uslov konvergencije, konačna procjena korijena, tj. rješenje, treba se uvrstiti u funkciju f(x), kako bi se zagarantovalo da je i rješenje jednačine f(x) = 0 u granicama željene tačnosti.

34 2 Rješavanje jednačina U slučaju da metoda koristi prvi izvod funkcije f (x), kao Newtonova metoda, mora se paziti da ova vrijednost u toku proračuna ne bude jednaka nuli ili vrlo malena, kako bi se izbjeglo dijeljenje s nulom, odnosno prekid rada programa. Na kraju, treba napomenuti da se bez obzira na nedostatke i moguće probleme prilikom korištenja opisanih metoda, većina problema u inženjerstvu može riješiti nekom od njih bez većih poteškoća, tako da se svakom problemu može pristupiti s optimizmom. 2.9 Pitanja i zadaci 1. Objasniti postupak lokalizacije nula! 2. Kako se izvodi inkrementalno pretraživanje? 3. Objasniti koncept poboljšanja rješenja! 4. Objasniti metodu polovljenja intervala! Navesti prednosti i mane. 5. Objasniti metodu regula falsi! Navesti prednosti i mane. 6. Objasniti primjenu metode proste iteracije! Dati uslov za konvergenciju metode proste iteracije. 7. Objasniti Newtonovu metodu, te navesti njene prednosti i mane! 8. Objasniti modifikovanu Newtonovu metodu! 9. Objasniti metodu sekante! 10. Metodom polovljenja intervala riješiti sljedeće jednačine: a) x cos(x) = 0 početni interval [0.5, 1], b) e x sin(πx/3) = 0 početni interval [ 3.5, 2.5], c) e x 2x 2 = 0 početni interval [1, 2], d) x 3 2x 2 2x + 1 = 0 početni interval [0, 1]. Proračun u ovom i ostalim zadacima zaustaviti kada je ispunjen uslov konvergencije b i a i 10 4, odnosno x i+1 x i 10 4, ako to drugačije ne bude zadato. 11. Jednačine iz zadatka 10 riješiti metodom regula falsi.

Pitanja i zadaci 35 12. Jednačinu e x (3x + 2) = 0, riješiti metodom proste iteracije za sljedeća tri oblika date jednačine: x = e x (2x+2), x = (e x 2)/3 i x = ln(3x+2). Kao početnu aproksimaciju koristiti x 0 = 1. 13. Jednačinu a) iz zadatka 10 riješiti Newtonovom metodom. Za početnu aproksimaciju uzeti x 0 = 1. 14. Newtonovom metodom naći najveći pozitivni korijen jednačine x 3 5x + 1 = 0. Ispitati ovisnost rješenja o izboru početne aproksimacije. 15. Jednačinu b) iz zadatka 10 riješiti modifikovanom Newtonovom metodom. 16. Riješiti jednačinu d) zadatka 10 koristeći metodu sječice. Kao prve dvije aproksimacije koristiti x 0 = 0 i x 1 = 1. 17. U nekom od programskih jezika napisati program za rješavanje jednačina koristeći: a) metodu polovljenja intervala, b) metodu regula falsi, c) metodu proste iteracije, d) Newtonovu metodu, e) modifikovanu Newtonovu metodu, f) metodu sječice. 18. Newtonova metoda se može koristiti i za traženje kompleksnih korijena polinoma. Potrebno je naći sva korijene jednačine x 4 1 = 0 ako se kao početne aproksimacije uzmu sljedeće vrijednosti: 2, 2, 2i i 2i. 19. Ispitati ovisnost rješenja o izboru početne aproksimacije za slučaj iz prethodnog zadatka. Rezultate prikazati u kompleksnoj ravni. Dozvoljeno je koristiti i komercijalne softvere (MathCAD, MATLAB, Mathematica, itd.) Sljedeće zadatke riješiti bilo kojom od metoda za numeričko rješavanje jednačina: 20. Van der Valsova jednačina stanja za vodenu paru glasi: (P + a v 2 ) (v b) = RT (2.36)

36 2 Rješavanje jednačina gdje je P pritisak u Pa, v specifična zapremina u m 3 /kg, T temperatura u K, R gasna konstanta (R=461.495 J/kg K), a a i b su empirijske konstante sa sljedećim vrijednostima za vodenu paru: a=1703.28 Pa(m 3 /kg) 2 i b=0.00169099 m 3 /kg. Jednačina (2.36) se može prikazati u obliku: P v 3 (P b + RT )v 2 + av ab = 0 (2.37) Izračunati specifičnu zapreminu v za P =10000 kpa i T =800 K. početnu aproksimaciju koristiti zakon za idealni gas P v = RT. Kao 21. Jednačina pada pritiska pri protjecanju tečnosti kroz cijev kružnog poprečnog presjeka data je sljedećom empirijskom formulom: ( ) L P = 0.5fρV 2 (2.38) D gdje je P pad pritiska u Pa, ρ specifična gustoća u kg/m 3, V brzina u m/s, L i D dužina i prečnik cijevi u m, a f koeficijent trenja. Postoji veliki broj formula za izračunavanje koeficijenta trenja u zavisnosti od Raynoldsovog broja za različite režime protjecanja tečnosti. Pri tome, Raynoldsov broj je dat izrazom Re=DV ρ/µ, gdje je µ viskoznost tečnosti u Pa s. Za protjecanje u turbulentnom režimu za slučajeve od potpuno glatke do vrlo grube površine cijevi razvijena je sljedeća formula: 1 f = 2 log ( ε/d 3.7 + 2.51 Re f ) (2.39) gdje je ε hrapavost površine cijevi. Riješiti f za cijev sa ɛ/d = 0.001, te Re=10 n i n = 4, 5, 6. Kao početnu aproksimaciju koristiti jednakost: f = 0.16Re 0.16 (2.40) 22. Problem računanja kritičnog opterećenja grede dužine l koja je izložena izvijanju, pri čemu je donji dio uklješten, a gornji s pokretnim osloncem, svodi se na rješavanje jednačine: tg(pl) = pl (2.41) gdje je p 2 = P/EI, P opterećenje (sila), E modul elastičnosti, I moment inercije poprečnog presjeka grede. Naći vrijednost kritične dužine l kr, u zavisnosti od l, ako za kritično opterećenje vrijedi: P kr = p 2 EI = π2 EI tj. l lkr 2 kr = π (2.42) p S obzirom da jednačina (2.41) ima beskonačno mnogo rješenja, naći najmanje od njih.