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

Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

UN

IV

ER

SIT

AS

S T U D I O R U MZ

E

NIC

AE

NS

IS

UN

IVE

R Z I T E T U ZE

N

ICI

Univerzitet u Zenici

Mašinski fakultet

Aleksandar Karač

Numeričke metodeu inženjerstvu

Zenica, 2009.

Page 2: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0
Page 3: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 1

Uvod

U ovom udžbeniku predstavljene su metode koje se mogu koristiti u rješavanjumatematičkih problema koji se pojavljuju u nauci, a za koje nije moguće ilije vrlo teško naći rješenja u zatvorenom obliku. S obzirom na dostupnost br-zim računarima u današnje vrijeme, pomoću ovih metoda moguće je uspješnoi veoma brzo dobiti rješenja visoke tačnosti za mnoge probleme s kojima sesuočavaju današnji inženjeri i naučnici. Ovo uvodno poglavlje objašnjava os-novne 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 jedno-stavnih ideja. Ove ideje se međusobno povezuju s nekim dodatnim saznanjimao problemu koji se rješava. U ovom poglavlju date su neke osnovne opšte idejekoje 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 iteracijeili sukcesivne aproksimacije. Općenito govoreći, iteracija predstavlja ponavlja-nje 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 slje-deć jednačine:

x = g(x) (1.1)

Page 4: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

6 1 Uvod

gdje je g(x) diferencijabilna funkcija čija se vrijednost može izračunati za bilokoju vrijednost realne promjenljive x unutar zadatog intervala. Koristeći ite-rativni postupak, počinje se s nekom početnom aproksimacijom x0, i računaredom:

x1 = g(x0),

x2 = g(x1),

x3 = g(x2),

. . . . . .

xn+1 = g(xn),

(1.2)

Svaki red oblika xi+1 = g(xi) predstavlja jednu iteraciju.Ako niz xn konvergira∗ ka graničnoj vrijednosti ξ tada imamo:

ξ = limn→∞

xn+1 = limn→∞

g(xn) = g(ξ) (1.3)

pa x = ξ zadovoljava jednačinu x = g(x). Cilj je da s porastom n imamo svebolju procjenu željenog korijena (rješenja) jednačine (1.1). Iterativni postupakse zaustavlja kada se dobije željena tačnost; na primjer, dok apsolutna razlikaizmeđu dvije uzastopne iteracije ne bude manja od izabranog malog pozitivnogrealnog broja.

Posljednja formula u nizu (1.2)

xn+1 = g(xn) (1.4)

naziva se rekurzivna ili rekurentna formula. Rekurentne formule predstavljajujednu od važnijih ideja u numeričkoj matematici. Rješavanje nekog problemapomoću rekurentnih formula znači da rješenje tog problema zavisi od rješenjamanjih primjeraka istog problema.

Geometrijska interpretacija iterativnog postupka je data na slici 1.1. Ko-rijen jednačine (1.1) je dat kao abscisa presječne tačke krive y = g(x) i pravey = x. Koristeći iterativni postupak i počinjući sa x0 dobijamo tačku A0 skoordinatama (x0, g(x0)). Sada se lako dobije tačka B1, jer ima istu vrijed-nost ordinate kao tačka A0, tj. y = g(x0) = x1. Postupak se zatim ponavljadok se ne postigne željena tačnost. Sa slike 1.1a se vidi da niz xn monotonokonvergira, tj. rješenju se približavamo uvijek s iste (lijeve) strane. Slika 1.1bpokazuje slučaj u kojem proces, također, konvergira, ali ne monotono (rješe-nju se približavamo naizmjenično s desne i lijeve strane). Međutim, postoje isluč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.

Page 5: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Osnovne ideje i koncepti u numeričkoj analizi 7

x

f(x)

A0

x0 x1

M

x2 x3

A1

g(x0)

B1

x

f(x)

x0 x2 x4 x3 x1

M

A0

A1

A2

A3

A4

x

f(x)

x0=x2 x1=x3

M

x

f(x)

B0

x3 x2

M

x1 x0

B1

B2

B3

A0

A0

A1

A2

a) b)

c) d)

Slika 1.1: Geometrijska interpretacija iteracije xn+1 = g(xn)

1.1.2 Aproksimacija

Još jedna od često korištenih ideja je da se neka komplikovanija funkcija lo-kalno, tj. u maloj okolini neke tačke, aproksimira linearnom funkcijom. Ovajpostupak se naziva linearna aproksimacija ili linearizacija.

Također, funkcije koje imaju veoma komplikovane analitičke izraze ili sudefinisane na neki drugi način (na primjer tabelarno), mogu se aproksimiratijednostavnijim funkcijama, najčešće polinomima.

Osim aproksimacije funkcija, u numeričkoj matematici često se koristi iaproksimacija izvoda tzv. konačnim razlikama, kao što je pokazano u poglavlju5.1.2 koje govori o numeričkom diferenciranju koristeći formule za diferencira-nje.

Upotreba ove ideje je pokazana i u poglavlju 2 na primjerima numeričkogrješavanja jednačina koristeći razne numeričke metode. Na primjer, Newtonovametoda i metoda sječice (vidi poglavlja 2.5 i 2.7) predstavljaju metode u kojimase linearizacija upotrebljava u kombinaciji s iterativnim postupkom.

Page 6: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

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 (sabira-nje, 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 imatina 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 odnule, i one koje slijede iza njih u zapisu. Na primjer, u broju 3.145 imamo 4značajne cifre, dok u broju 0.0171 imamo tri značajne cifre. Općenito, svakiinženjerski ili naučni proračun počinje grupom podataka koji imaju poznatbroj 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 ukonač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čnemetode za izračunavanje fizičkih veličina koje je teško ili nemoguće dobiti anali-tičkim putem. Međutim, numerički analitičari moraju biti i eksperti u kontroli-ranju različitih izvora grešaka kako se ove greške ne bi pomiješale s izračunatimrezultatima prilikom njihove interpretacije.

Numerički rezultati mogu biti izloženi mnogim tipovima grešaka, pri čemuse neke mogu potpuno eliminisati, dok se na druge može veoma teško utje-cati. Greške se prostiru (propagiraju) od njihovog izvora prema vrijednostimafizičkih veličina koje se izračunavaju, ponekad s velikim pojačanjem ili pri-gušenjem. Pri tome je veoma važno napraviti razliku između greške koja jenastala u procesu izračunavanja neke fizičke veličine, i greške koja se naslijedilaiz podataka od kojih zavisi ta fizička veličina.

†U udžbeniku će se umjesto decimalnog zareza koristiti decimalna tačka.

Page 7: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Značajne cifre, greške i predstavljanje brojeva 9

Sve greške se, s obzirom na izvore nastanka, mogu podijeliti na sljedećinačin:

• Greške u polaznim podacima. Ove greške nastaju prilikom mjerenja fi-zičkih veličina. Pri tome, mjerenja mogu biti pod utjecajem sistemskihgrešaka (greške u mjernim uređajima), ili trenutnih smetnji (vibracije,nepovoljna temperatura, itd.). Ovaj tip grešaka je daleko jednostavnijeprocijeniti 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, odnosnobinarnu aritmetiku s pokretnom tačkom‡, kod koje je unaprijed rezervi-san određen broj binarnih mjesta za eksponent i mantisu (vidi poglavlje1.2.3). Dva tipična slučaja su:

1. Kada računar ne može da manipuliše s brojevima koji imaju veći brojznačajnih cifara od, na primjer, s, onda tačan proizvod dva broja sas cifara (ovaj proizvod može sadržavati 2s ili (2s− 1) cifara) ne možeda se koristi u naknadnim proračunima; proizvod takva dva broja sezaokružuje na s značajnih cifara.

2. Ako se pri proračunu s relativno mali broj b doda broju a, onda se, sobzirom na ograničen broj značajnih cifara, može desiti da neke cifrebroja b budu zanemarene u izrazu a + b, tako da neće imati nikakavutjecaj na veličine koje zavise od tog zbira.

Efekti grešaka pri zaokruživanju mogu biti vrlo uočljivi u dugim proraču-nima.

• Greške usljed prekidanja (greške odbacivanja). Ove greške nastaju kadase, na primjer, beskonačan niz prekine nakon konačnog broja članova,ili kada se izvodi aproksimiraju konačnim razlikama (mada je u drugomslučaju pravilnije koristiti pojam greška diskretiziranja).

• Pojednostavljenja u matematičkom modelu (greške modela). Ove greškenastaju zamjenom složenih sistema jednostavnijim koje možemo opisatimatematičkim formulama, odnosno kada se prave idealizacije. Naime,stvarne pojave su često takve da se ili ne mogu opisati matematičkim te-orijama, ili su previše složene za današnji stepen matematike. Zbog togase 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 realnihbrojeva pomoću računara [6, 7].

Page 8: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

10 1 Uvod

kako bismo dobivene formule pojednostavili na oblik koji je moguće ri-ješiti. Tako se, na primjer, kod kretanja u zemaljskim uslovima čestozanemaruje utjecaj otpora zraka. Osim toga, često se "dobri" modeli za-mjenjuju "slabijim" kako bi se mogle primijeniti numeričke metode; naprimjer, sistemi parcijalnih diferencijalnih jednačina se linearizuju. Ovajtip grešaka je ponekad veoma teško procijeniti i na korisniku je da uvidida 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 rezultatpogrešnog upisivanja vrijednosti, grešaka u knjigama, tabelama ili formu-lama koje su na raspolaganju. U ove vrstu grešaka spadaju i greške uprogramiranju, odnosno usljed pogrešno napisanih algoritama, te greškeu hardveru. Primjer greške pri programiranju je pogrešno napisana DOpetlja u FORTRAN programu, koji je kontrolirao let američke sonde Ve-nus, 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, kojije davao pogrešne rezultate pri dijeljenju s određenom grupom realnihbrojeva.

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škena izlazu. Također, greške zaokruživanja u svakom koraku proračuna mogupropagirati i dati greške na izlazu. Ipak, za većinu algoritama§ može se datianaliza greške zaokruživanja, pa se utjecaji ovakvih grešaka na konačan rezul-tat mogu procijeniti.

Apsolutna i relativna greška

Aproksimacija je centralni koncept u gotovo svim oblastima primjene nume-ričke matematike, s obzirom da se vrlo često moramo zadovoljiti s približnimvrijednostima s kojima radimo. Drugi vid aproksimacije je kada zanemarujemoneke veličine koje su male u odnosu na druge. Ovakve aproksimacije su čestoneophodne kako problem koji rješavamo ne bi postao previše komplikovan zarješavanje.

§Algoritam je određeni skup definisanih naredbi koje se koriste za obavljanje nekog zadatka.

Page 9: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

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čnevrijednosti 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 ipribližne vrijednosti, x−x, ili razliku približne i tačne vrijednosti, x− x. Timese daje (ili zahtijeva) dodatna informacija o predznaku greške, pa je pridjevapsolutna 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, nekiiterativni postupak u kojem se traži da je apsolutna greška 0.001. Ako je tačnorješenje 100.000, onda je približna vrijednost jednaka 100.000±0.001 i ima petznačajnih cifara. Međutim, ako je tačno rješenje jednako 0.001, onda je pri-bližno rješenje jednako 0.001 ± 0.001 i nema značajnih cifara. Ovaj primjerukazuje na opasnost korištenja apsolutne greške kao kriterija tačnosti. No, uslučaju kada se poznaje tačno rješenje, kriterij apsolutne greške se može koris-titi 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 jed-nakom 0.00001. Ako je tačno rješenje 100.000, onda apsolutna greška morabiti 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 jednaka0.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 dojednakog broja značajnih cifara u približnom rješenju, bez obzira na veličinutačnog rješenja.

U uskoj vezi s apsolutnom i relativnom greškom je i pojam tačnosti¶. Pritome, tačnost predstavlja apsolutnu ili relativnu grešku kojom se aproksimiraneka 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.

Page 10: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

12 1 Uvod

1.2.3 Predstavljanje brojeva

Brojevi se predstavljaju u brojevnim sistemima (npr. dekadni, oktalni, heksa-decimalni, binarni, itd.). Brojevni sistem je određen svojom bazom, odnosnobrojem različitih cifara koje se koriste za reprezentaciju brojeva. Nasuprotdekadnom 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 nulai jedinica. U tom slučaju binarni broj se sastoji od binarnih bita. Broj bi-narnih bita određuje tačnost kojom binarni broj predstavlja neki decimalnibroj. Najčešća veličina binarnog broja je 32 binarna bita, koji približno možepredstaviti 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 i128-bitne. Međutim, u mnogim inženjerskim i naučnim proračunima 32-bitnibinarni brojevi su sasvim dovoljni, a na njima je moguće izvršiti 64-bitne i128-bitne proračune, koristeći određena softverska poboljšanja. Ovo se postižekorištenjem tzv. dvostruke ili četverostruke preciznosti (eng. double i quadprecision), respektivno.

Treba napomenuti da su, osim za cijele brojeve i neke razlomke, sve binarnereprezentacije decimalnih brojeva aproksimacije, s obzirom na konačnu dužinubinarnog zapisa (na primjer, broj 0.2 u binarnom zapisu ima beskonačan oblik0.00110011...). Na taj način, gubitak tačnosti u binarnoj reprezentaciji ovakvihbrojeva se ne može izbjeći.

Reprezentacija broja s pokretnom tačkom

U prethodnim poglavljima je već spomenut koncept reprezentacije brojeva spokretnom (pomičnom) tačkom. Naime, na kalkulatorima se često može iza-brati tzv. "naučna notacija" brojeva. Po toj notaciji, na primjer, broj −20.12se prikazuje kao −2.012 · 101; znak "-" predstavlja predznak broja, "." je de-cimalna tačka, 2.012 je mantisa, m (signifikantni ili razlomljeni dio broja), 10je 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 jednoz-načan način predstaviti u obliku ±m · 10e gdje je 1 < m < 10. Ovakav načinreprezentacije brojeva predstavlja reprezentaciju brojeva s pokretnom tačkom.

Za pohranjivanje realnih brojeva računari koriste sličnu reprezentaciju bro-jeva, ali se kao baza ne uzima broj 10 nego 2 (izuzetak su računar IBM 370koji koristi bazu 16, te većina kalkulatora koji koriste bazu 10). U primjeru:

x = (11.1011)2 = (1.11011) · 21 (1.7)

(11.1011)2 predstavlja binarnu reprezentaciju broja x (= (3.625)10), a njenoblik u prikazu s pokretnom tačkom je (1.11011) · 21.

Page 11: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 2

Rješavanje jednačina

Mnogi problemi u nauci i inženjerstvu zahtijevaju pronalaženje rješenja ilikorijena neke jednačine. Problem se, u stvari, svodi na sljedeće: Za datuneprekidnu funkciju f(x), treba naći vrijednost x = ξ takvu da je f(ξ) = 0.Problem je grafički predstavljen na slici 2.1.

x

f(x)

f( 1)=0 f( 2)=0

1 2

Slika 2.1: Rješenje jednačine f(x) = 0

Općenito, korijeni jednačine f(x) = 0 ne mogu se predstaviti u zatvorenomobliku, odnosno eksplicitno. Čak i za slučajeve u kojima je na raspolaganjurješenje u eksplicitnom obliku, ono može biti vrlo komplikovano tako da sunumerič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:

Page 12: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

14 2 Rješavanje jednačina

• lokalizacija nula, koja predstavlja nalaženje intervala u kojem se nalazibar 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žeposlužiti kao početna aproksimacija u nekoj sistematskoj proceduri postupkarješ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 funkcijaima različit znak. U ovu svrhu se mogu koristiti različite metode od kojih sunajčešće: crtanje grafika funkcije, inkrementalno pretraživanje, rješenje pojed-nostavljenog modela, prethodno rješenje u nizu dobivenih rješenja, itd.

Crtanje grafika funkcije izvodi se u intervalu koji nas interesuje. Ako, naprimjer, 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. Kakodanas mnogi kalkulatori imaju mogućnost crtanja grafika funkcija, ovaj postu-pak je znatno olakšan. Uz to, postoje mnogi softverski paketi koji uz sve ostalemoguć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 funkcijeu tačkama posmatranog intervala, krečući se od početne do krajnje tačke inter-vala sa željenim inkrementom ili korakom. U trenutku kada funkcija promijeniznak, korijen se nalazi u posmatranom podintervalu (naravno, uz uslov da jefunkcija neprekidna na datom intervalu). Ove dvije vrijednosti mogu se koris-titi 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 po-moću neke od sistematskih metoda. U tu svrhu mogu se koristiti razne metodeod kojih će se ovdje pokazati sljedeće:

• metoda polovljenja intervala - bisekcija,

• regula falsi,

• metoda proste iteracije,∗vidi dodatak B

Page 13: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

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 ovojmetodi, prvo se odrede dvije procjene korijena, i to lijevo, za x = a = a0, idesno, x = b = b0, od korijena. Ove procjene ograničavaju korijen, kao što jeprikazano na slici 2.2. Očigledno je da korijen x = ξ leži u intervalu [a0, b0].Ovaj interval se može prepoloviti usrednjavanjem vrijednosti a0 i b0, tako dase dobiva x0 = (a0 + b0)/2. Na taj način dobivaju se dva intervala:[a0, x0]i [x0, b0]. Koji interval sadrži korijen ξ zavisi od vrijednosti f(x0). Ako jef(a0)f(x0) < 0, kao što je to slučaj na slici 2.2, korijen se nalazi u intervalu(a0, x0). Tada se postavi da je a1 = a0 i b1 = x0, i postupak ponovi. Ako je,pak, f(x0)f(b0) < 0, postavi se da je a1 = x0 i b1 = b0, i postupak polovljenjanastavi. U slučaju da je f(a0)f(x0) = 0, korijen jednačine je jednak x0.

x

f(x)

b0=b

f(b0)

f(x0)

f(a0)

a0=aa1

a2

x0

x2

b1

x1

b2

a3

Slika 2.2: Grafička interpretacija metode polovljenja intervala

Prema tome, metoda polovljenja intervala je iterativna metoda, sa sljedećimalgoritmom (i = 0, 1, 2, . . .):

xi =ai + bi

2(2.1a)

Ako je f(ai)f(xi) < 0 : ai+1 = ai, bi+1 = xi (2.1b)

Page 14: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

16 2 Rješavanje jednačina

Ako je f(xi)f(bi) < 0 : ai+1 = xi, bi+1 = bi (2.1c)Ako je f(ai)f(xi) = 0 : dobiva se rješenje ξ = xi (2.1d)

Iterativni postupak se nastavlja sve dok se ne postigne željena tačnost, tj. dokveličina intervala ne postane manja od željene tolerancije ε1 (|bi− ai| ≤ ε1), iliveličina f(x) ne postane manja od željene tolerancije ε2 (|f(xi)| ≤ ε2), ili oboje.Neki autori umjesto prvog uslova konvergencije koriste uslov |xi − xi−1| ≤ ε1.

Metoda polovljenja intervala ima sljedeće osobine:

• S obzirom da se iterativnim postupkom interval, u kojem se nalazi traženikorijen, (dvostruko) smanjuje svakom narednom iteracijom, konvergencijaje zagarantovana.

• Greška metode nakon n koraka se može odrediti i iznosi

|bn − an| = 1

2n(b0 − a0) (2.2)

• S obzirom da se svakom iteracijom interval polovi, (maksimalan) broj ite-racija n, a time i broj računanja funkcije, koji je potreban da se prvobitniinterval [a0, b0] smanji na određeni interval [an, bn], dobiva se iz (2.2) iiznosi:

n =1

log(2)log

(b0 − a0

bn − an

)(2.3)

• Konvergencija je spora, odnosno potreban je veliki broj iteracija da sepostigne željena tačnost. Naime, potrebne su približno tri iteracije da sepoveća tačnost za jedno decimalno mjesto (0.1 ≈ 2−3.3).

Primjer 2.1

Metodom polovljenja intervala naći pozitivni korijen jednačine x2 − 2 = 0.Postupak rješavanja zaustaviti kada se ispuni uslov |bi − ai| < 10−4, pri čemuje 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činpostić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činenalazi u intervalu [a0, b0] = [1, 2].

Page 15: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Metoda polovljenja intervala 17

x

y

-5 -4 -3 -2 -1 0 1 2 3 4 5-3

-2

-1

0

1

2

3

4

5

1 2

f x =x -

Slika 2.3: Grafički prikaz funkcije f(x) = x2 − 2

U krajnjim tačkama intervala (neprekidna) funkcija f(x) = x2 − 2 ima vri-jednosti različitog predznaka, tj. f(a0) = f(1) = −1 < 0 i f(b0) = f(2) = 2 >0, pa se u datom intervalu nalazi bar jedan korijen date jednačine. Sada se vršipodjela intervala na dva jednaka podintervala i provjerava koji od podinter-vala sadrži korijen jednačine. Dakle, slijedeći algoritam za metodu polovljenjaintervala, imamo:

x0 =a0 + b0

2=

1 + 2

2= 1.5

f(x0) = f(1.5) = 0.25 > 0

S obzirom da je f(x0) > 0 i f(a0) < 0 rješenje se nalazi u intervalu [a0, x0] =[1, 1.5], i stavljamo da je a1 = a0 i b1 = x0. Postupak ponavljamo na novomintervalu [a1, b1] = [1, 1.5], tj.

x1 =a1 + b1

2=

1 + 1.5

2= 1.25

f(x1) = f(1.25) = −0.4375 < 0

f(x1)f(b1) = f(1.25)f(1.5) < 0

pa je sljedeći interval u kojem se nalazi korijen zadate jednačine [a1, x1] =[1.25, 1.5]. Postupak se ponavlja dok se ne postigne željena tačnost. U Tabeli2.1 sumarno su dati rezultati proračuna. Konačno, rješenje je ξ = 1.41425 idobiveno je u 15 iteracija.

Page 16: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

18 2 Rješavanje jednačina

Tabela 2.1: Uz primjer 2.1Iteracija i ai f(ai) bi f(bi) xi |ai − bi|

0 1 -1 2 2 1.5 11 1 -1 1.5 0.25 1.25 0.52 1.25 -0.4375 1.5 0.25 1.375 0.253 1.375 -0.109375 1.5 0.25 1.4375 0.125...

......

......

......

12 1.41406 -0.000427 1.41431 0.000263 1.41418 0.00024413 1.41418 -0.000008 1.41431 0.000263 1.41425 0.00012214 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, funk-cija f(x) se aproksimira pravcem g(x) koji prolazi kroz tačke a i b, a korijenfunkcije g(x), x = ξ, se uzima kao sljedeća aproksimacija korijena jednačinef(x) = 0. S obzirom na linearnu interpolaciju funkcije, ova metoda se jošnaziva i linearna interpolaciona metoda.

x

f(x)

f(b0)

f(x0)

f(a0)x0x1 b0=b

b1

a0=a

b2

a1

a2

Slika 2.4: Grafička interpretacija metode regula falsi

Grafička interpretacija metode regula falsi data je na slici 2.4. Kao što sesa slike vidi, pravac g(x), koji aproksimira funkciju f(x), ima korijen u tačkix0. Na taj način, početni interval [a0, b0] se dijeli na dva podintervala [a0, x0]

Page 17: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Metoda regula falsi 19

i [x0, b0]. Vrijednost tačke x0 može se lako odrediti pomoću jednačine g(x) iuslova g(x0) = 0, tj.

g(b0)− g(x0) =g(b0)− g(a0)

b0 − a0

(b0 − x0) (2.4)

S obzirom da je g(a0) = f(a0) i g(b0) = f(b0), te g(x0) = 0, slijedi:

f(b0) =f(b0)− f(a0)

b0 − a0

(b0 − x0) (2.5)

i konačno:

x0 = b0 − b0 − a0

f(b0)− f(a0)f(b0) (2.6)

Koji od ova dva intervala,[a0, x0] i [x0, b0], sadrži korijen jednačine, odre-đuje se na isti način kao u metodi polovljenja intervala, a zatim se procesponavlja. Algoritam metode regula falsi može se predstaviti na sljedeći način(i = 0, 1, 2, . . .):

xi = bi − bi − ai

f(bi)− f(ai)f(bi) (2.7a)

Ako je f(ai)f(xi) < 0 : ai+1 = ai, bi+1 = xi (2.7b)Ako je f(xi)f(bi) < 0 : ai+1 = xi, bi+1 = bi (2.7c)Ako je f(ai)f(xi) = 0 : dobiva se rješenje ξ = xi (2.7d)

Proces se nastavlja dok se ne postigne željena tačnost, tj.

|xi − xi−1| ≤ ε1 i/ili |f(xi)| ≤ ε2 (2.8)

Slično metodi polovljenja intervala, i za ovu metodu je konvergencija zagaran-tovana. Uz to, metoda regula falsi nešto brže konvergira od metode polovljenjaintervala, ali ne daje unaprijed veličinu greške. Ipak, i ova metoda sporije kon-vergira od metoda koje slijede.

Primjer 2.2

Metodom regula falsi naći pozitivni korijen jednačine x2 − 2 = 0. Postupakrješavanja zaustaviti kada se ispuni uslov |xi−xi−1| < 10−4, pri čemu je i rednibroj iteracije.

Page 18: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

20 2 Rješavanje jednačina

Rješenje

Postupak rješavanja metodom regula falsi je vrlo sličan rješavanju metodompolovljenja intervala, s tom razlikom što se sljedeća aproksimacija rješenja nekejednačine ne izračunava kao srednja vrijednost krajeva intervala, nego pomoćujednačine (2.7a).

Ako za početni interval, u kojem se nalazi korijen jednačine x2 − 2 = 0,uzmemo [a0, b0] = [1, 2], imamo:

x0 = b0 − b0 − a0

f(b0)− f(a0)f(b0) = 2− 2− 1

2− (−1)2 = 1.333333

f(x0) = f(1.333333) = −0.222222 < 0

S obzirom da je f(x0) < 0 i f(b0) > 0 rješenje se nalazi u podintervalu [x0, b0] =[1.333333, 2], i stavljamo da je a1 = x0 i b1 = b0. Postupak ponavljamo nanovom intervalu [a1, b1] = [1.333333, 2], tj.

x1 = b0 − b0 − a0

f(b0)− f(a0)f(b0) = 2− 2− 1.333333

2− (−0.222222)2 = 1.4

f(x1) = f(1.4) = −0.04 < 0

f(x1)f(b1) = f(1.4)f(2) < 0

pa je novi interval u kojem se nalazi korijen zadate jednačine [a1, b1] = [1.4, 2].Postupak se ponavlja dok se ne postigne željena tačnost, odnosno ispuni

uslov |xi − xi−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 ovomprimjeru i pokazuje prednost u odnosu na metodu bisekcije.

Tabela 2.2: Uz primjer 2.2Iteracija i ai f(ai) bi f(bi) xi |xi − xi−1|

0 1 -1 2 2 1.33333 -1 1.33333 -0.222222 2 2 1.4 0.066662 1.4 -0.04 2 2 1.41176 0.0117653 1.41176 -0.00692 2 2 1.41379 0.002024 1.41379 -0.001189 2 2 1.41414 0.000345 1.41414 -0.000204 2 2 1.4142 0.00006

Neki autori metode bisekcije i regula falsi svrstavaju u posebnu grupu me-toda, tzv. metode na zatvorenoj domeni rješavanja (eng. closed domain met-hods), s obzirom da ove metode počinju s dvije početne aproksimacije između

Page 19: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Metoda proste iteracije 21

kojih se mora nalaziti traženi korijen, i koje sistematski smanjuju početni in-terval 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), sobzirom da u toku iterativnog postupka ne postoji ograničenje da se aproksi-macija 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šavajednačinu f(x) = 0 preuređivanjem u oblik x = g(x), a zatim traženjem vri-jednosti 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) odaklei proizilazi drugo ime metode. U principu, ova metoda simultano rješava dvijejednačine: y = x i y = g(x). Dakle, tačka presjecišta linije f(x) = x i funkcijeg(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).

x

y

xi xi+1

Slika 2.5: Grafička interpretacija metode proste iteracije

Algoritam za metodu proste iteracije može se dobiti na sljedeći način. Na-kon što se tražena nula lokalizira i izabere početna aproksimacija x0, izraču-nava se vrijednost funkcije g(x0), što ujedno predstavlja i novu aproksimacijurješenja jednačine f(x) = 0. Dakle, algoritam je dat sljedećom rekurzivnom

Page 20: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

22 2 Rješavanje jednačina

formulom:

xi+1 = g(xi) (i = 0, 1, 2, . . .) (2.9)

Procedura se ponavlja dok se ne zadovolji kriterij konvergencije, kao naprimjer:

|xi+1 − xi| ≤ ε1 i/ili |f(xi+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:

xi+1 − ξ = ei+1 = g(xi)− g(ξ) (2.11)

Funkcija g(ξ) izražena Taylorovim redom oko tačke xi ima oblik†:

g(ξ) = g(xi) + g′(ζ)(ξ − xi) + . . . (2.12)

gdje je xi ≤ ζ ≤ ξ. Zanemarujući članove višeg reda od prvog u jednačini(2.12), te rješavajući za [g(xi)− g(ξ)] i uvrštavajući dobiveni rezultat u jedna-činu (2.11), dobiva se:

ei+1 = g′(ζ)ei (2.13)

Ova jednačina se može koristiti za ocjenu da li je metoda konvergentnaili ne, i ako jeste koja ja brzina konvergencije. Naime, može se pokazati daje uslov da iterativni postupak (2.9) konvergira ako za funkciju g(x), koja jedefinisana i diferencijabilna na intervalu [a, b], vrijedi (na primjer, vidi u [5,6]):

∣∣∣∣ei+1

ei

∣∣∣∣ = |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 uslovispunjen, a vrijednost |g′(ζ)| blizu 1, konvergencija je veoma spora. Iz ovogaje jasno da je odabir funkcije g(x) od velikog značaja, s obzirom da se možedesiti da odabrana funkcija g(x) ne zadovoljava uslov konvergencije (2.14) zaposmatrani interval (vidi primjer 2.3). Iz jednačine (2.14) se, također, vidi daje greška aproksimacije ei+1 proporcionalna greški iz prethodne aproksimacijeei, 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

en+1

ekn

= const. 6= 0

Page 21: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Metoda proste iteracije 23

Primjer 2.3

Na primjeru rješavanja jednačine x2 − x − 2 = 0 pokazati upotrebu metodeproste iteracije – tražiti pozitivni korijen jednačine.

Rješenje

Kao što je rečeno u prethodnom poglavlju, metoda iteracije se zasniva naalgoritmu koji je dat jednačinom (2.9)

xi+1 = g(xi) (i = 0, 1, 2, . . .)

Na taj način, jednačina x2− x− 2 = 0 se može prikazati na jedan od sljedećihnačina:

x = x2 − 2 g(x)=x2 − 2 (2.15a)

x = ±√x + 2 g(x)=±√x + 2 (2.15b)

x = 1 +2

xg(x)=1 +

2

x(2.15c)

x = x− x2 − x− 2

2x− 1g(x)=x− x2 − x− 2

2x− 1(2.15d)

Svaka od ovih jednačina ima isto pozitivno rješenje ξ1 = 2, kao što je pokazanona slici 2.6 (presjek funkcije g(x) s pravom f(x) = x). Međutim, sljedećaanaliza 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 izaberimox0 = 3. Prvih nekoliko iteracija daje:

x1 = g(x0) = 32 − 2 = 7

x2 = g(x1) = 72 − 2 = 47

x3 = g(x2) = 472 − 2 = 2207

. . .

Vidi se da iterativni postupak divergira, s obzirom da se svaka sljedeća vrijed-nost xi sve više udaljava od rješenja, odnosno povećava se greška ei = xi − ξ.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.

Page 22: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

24 2 Rješavanje jednačina

0 1 2 3 4 5 x

-3

-2

-1

0

1

2

3

4

5y

f(x)=x

g(x)=x2-2

g(x)=x-(x2-x-2)/(2x-1)

g(x)=√x+2

g(x)=1+2/x

ξ1

Slika 2.6: Mogući oblici jednačine g(x) pri rješavanju jednačine f(x) = x2 − x− 2metodom proste iteracije

Ako sada ponovimo postupak sa slučajem (2.15b), uz x0 = 3, imamo:

x1 = g(x0) =√

3 + 2 = 2.236

x2 = g(x1) =√

2.236 + 2 = 2.058

x3 = g(x2) =√

2.058 + 2 = 2.0014

x4 = g(x3) =√

2.014 + 2 = 2.0004

. . .

Kako se može vidjeti, iterativni postupak konvergira ka rješenju ξ = 2, što jebilo 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 naj-poznatija metoda za numeričko rješavanje jednačina. Grafička interpretacija

Page 23: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Newtonova metoda 25

metode data je na slici 2.7. Prvi korak metode je lokalna aproksimacija funkcijef(x) pomoću linearne funkcije h(x) koja predstavlja tangentu§ funkcije f(x) utački M0. Rješenje x1 jednačine h(x) = 0, predstavlja sljedeću aproksimacijurješenja jednačine f(x) = 0.

x

f(x) M0

x0 x1

M1

M2

x2

Slika 2.7: Grafička interpretacija Newtonove metode

Kako bismo izveli algoritam za Newtonovu metodu, postavimo prema slici2.7 izraz za koeficijent pravca tangente funkcije f(x) u tački M0, koji ujednopredstavlja i vrijednost prvog izvoda u toj tački, f ′(x0):

f ′(x0) =h(x1)− h(x0)

x1 − x0

=−h(x0)

x1 − x0

=−f(x0)

x1 − x0

(2.16)

Analogno, za izvod u tački xi vrijedi:

f ′(xi) =−f(xi)

xi+1 − xi

(2.17)

Na osnovu posljednjeg izraza dobiva se:

xi+1 = xi − f(xi)

f ′(xi)(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 obakriterija konvergencije:

|xi+1 − xi| ≤ ε1 i/ili |f(xi+1)| ≤ ε2 (2.19)§Newtonova metoda se ponekad naziva i metoda tangente.

Page 24: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

26 2 Rješavanje jednačina

Formula (2.18) za Newtonovu metodu može se dobiti i direktno iz Taylorovogreda, ako se zanemare članovi višeg reda od prvog, tj.

f(xi+1) = f(xi) + f ′(xi)(xi+1 − xi) (2.20)

Uzimajući da je f(xi+1) = 0, za xi+1 konačno se dobiva:

xi+1 = xi − f(xi)

f ′(xi)

Konvergencija Newtonove metode se može odrediti na sljedeći način (pret-postavlja se da su funkcije f(x), f ′(x) i f ′′(x) neprekidne i ograničene na nekomintervalu koji sadrži korijen ξ jednačine f(x) = 0). Izraz (2.18)

xi+1 = xi − f(xi)

f ′(xi)

ima oblik:

xi+1 = g(xi) (2.21)

pa je funkcija g(xi) data sa:

g(xi) = xi − f(xi)

f ′(xi)(2.22)

Stoga, Newtonova metoda predstavlja specijalni slučaj metode proste iteracijei konvergira ako je ispunjen uslov

|g′(ζ)| ≤ 1 xi ≤ ζ ≤ ξ (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 nekiinterval u kojem je uslov (2.23) zadovoljen, odnosno da je Newtonova metodakonvergentna [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:

xi+1 − ξ = ei+1 = xi − ξ − f(xi)

f ′(xi)= ei − f(xi)

f ′(xi)(2.25)

Page 25: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Newtonova metoda 27

Razvojem funkcije f(x) u Taylorov red, i zanemarujući članove iznad drugogreda, za x = ξ vrijedi:

f(ξ) = f(xi) + f ′(xi)(ξ − xi) +1

2f ′′(ζ)(ξ − xi)

2 = 0 xi ≤ ζ ≤ ξ (2.26)

odnosno

f(xi) = f ′(xi)(xi − ξ)− 1

2f ′′(ζ)(ξ − xi)

2 (2.27)

Ako sada izraz (2.27) uvrstimo u (2.25), dobivamo:

ei+1 = ei −f ′(xi)ei − 1

2f ′′(ζ)e2

i

f ′(xi)=

1

2

f ′′(ζ)

f ′(xi)e2

i (2.28)

S obzirom da za i →∞, xi → ξ,f ′(xi) → f ′(ξ),f ′′(xi) → f ′′(ξ) imamo:

ei+1 =1

2

f ′′(ξ)f ′(ξ)

e2i (2.29)

Izraz (2.29) jasno pokazuje da je Newtonova metoda metoda drugog redatač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 dapočetna aproksimacija bude što bliže rješenju, pošto se može dogoditi da pro-cedura konvergira prema nekom drugom korijenu ili da divergira.

Ipak, prilikom korištenja Newtonove metode treba imati na umu da je zaneke funkcije vrlo teško analitički izračunati prvi izvod, a za neke funkcije touopš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 x2 − 2 = 0. Postupakrješavanja zaustaviti kada se ispuni uslov |xi+1−xi| < 10−4, pri čemu je i rednibroj iteracije.

Rješenje

Algoritam za rješavanje jednačina pomoću Newtonove metode dat je rekur-zivnom formulom (2.18)

xi+1 = xi − f(xi)

f ′(xi)

Page 26: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

28 2 Rješavanje jednačina

Ako se u tu jednačinu uvrsti da je f ′(x) = 2x, dobiva se sljedeća rekurzivnaformula:

xi+1 = xi − f(xi)

f ′(xi)= xi − x2

i − 2

2xi

xi+1 =1

2

(xi +

2

xi

)(2.30)

S obzirom da je rješenje jednačine x2 − 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 samojedna početna aproksimacija. Ako sada kao početnu aproksimaciju uzmemox0 = 3 za prve dvije iteracije imamo:

x1 =1

2

(x0 +

2

x0

)=

1

2

(3 +

2

3

)= 1.83333

x2 =1

2

(x1 +

2

x1

)=

1

2

(1.83333 +

2

1.83333

)= 1.46212

Tabela 2.3 daje rezultate svih 5 iteracija potrebnih za postizanje tražene tač-nosti.

Tabela 2.3: Uz primjer 2.4Iteracija i xi |xi − xi−1|

0 3 -1 1.83333 1.166672 1.46212 0.3712123 1.415 0.0471234 1.41421 0.0007855 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. Ovopokazuje koliko, zapravo, Newtonova metoda brzo konvergira. Međutim, možese desiti da iterativni postupak konvergira prema pogrešnom rješenju. Naime,za bilo koju početnu vrijednost x0 < 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:

xi+1 =1

2

(xi +

c

xi

)

Page 27: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Modifikovana Newtonova metoda 29

2.6 Modifikovana Newtonova metoda

U slučajevima kada izračunavanje prvog izvoda funkcije uzima mnogo račun-skog vremena, može se koristiti modifikovana Newtonova metoda. Ovdje seumjesto izračunavanja prvog izvoda funkcije u svakoj iteraciji, f ′(xi), možeuzeti da je vrijednost prvog izvoda u svim iteracijama jednaka vrijednosti pr-vog izvoda iz prve iteracije, tj.

f ′(xi) = f ′(x0) (i = 1, 2, . . .) (2.31)

pa izraz (2.18) dobiva oblik:

xi+1 = xi − f(xi)

f ′(x0)(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 Mi (i =0, 1, . . .).

x

f(x) M0

x0 x1

M1

M2

x2

M2

x3 x3

Slika 2.8: Grafička interpretacija modifikovane Newtonove metode

Kao i kod Newtonove metode, iterativni postupak se ponavlja dok se nezadovolji jedan od ili oba kriterija konvergencije:

|xi+1 − xi| ≤ ε1 i/ili |f(xi+1)| ≤ ε2

Primjer 2.5

Modifikovanom Newtonovom metodom naći pozitivni korijen jednačine x2 −2 = 0. Postupak rješavanja zaustaviti kada se ispuni uslov |xi+1 − xi| < 10−4,pri čemu je i redni broj iteracije.

Page 28: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

30 2 Rješavanje jednačina

Rješenje

U ovom slučaju imamo da je f ′(xi) = f ′(x0) = 2x0, za sve vrijednosti i, parekurzivna formula glasi:

xi+1 = xi − f(xi)

f ′(x0)= xi − x2

i − 2

2x0

(2.33)

I u ovom slučaju koristimo samo jednu početnu aproksimaciju, na primjerx0 = 3, uz f ′(x0) = 2x0 = 6. Za prve dvije iteracije dobiva se:

x1 = x0 − x20 − 2

2x0

= 3− 32 − 2

6= 1.83333

x2 = x1 − x21 − 2

2x0

= 1.83333− 1.833332 − 2

6= 1.60648

U tabeli 2.4 su dati rezultati proračuna. Rješenje iznosi ξ = 1.41429 i dobivase 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 sporijekonvergira i od metode regula falsi (6 iteracija), a po efikasnosti je približnametodi bisekcije (15 iteracija).

Tabela 2.4: Uz primjer 2.5Iteracija i xi |xi − xi−1|

0 3 -1 1.83333 1.166672 1.60648 0.2268523 1.50968 0.096797...

......

12 1.41437 0.00013613 1.41429 0.000072

2.7 Metoda sječice

U slučajevima kada je teško ili nemoguće analitički odrediti prvi izvod nekefunkcije, metoda sječice (sekante) predstavlja alternativu Newtonovoj metodi.Metoda je grafički data na slici 2.9. Funkcija f(x) se lokalno aproksimirapomoću linearne funkcije h(x), koja je sječica funkcije f(x), a njen korijen sekoristi kao poboljšana aproksimacija korijena funkcije f(x). S obzirom da je

Page 29: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Metoda sječice 31

sječica prava linija koja prolazi kroz dvije tačke krive f(x), za iniciranje metodeneophodne su dvije početne aproksimacije, x0 i x1. Pri tome se između njihmože, ali i ne mora nalaziti korijen jednačine f(x) = 0.

x

f(x) M0

x0 x1

M1

M2

x2

M3

x3

Slika 2.9: Grafička interpretacija metode sječice

Rekurzivna formula za metodu sječice se može dobiti ako se vrijednost prvogizvoda u izrazu (2.18):

xi+1 = xi − f(xi)

f ′(xi)

aproksimira odnosom konačnih razlika na sljedeći način:

f ′(xi) =f(xi)− f(xi−1)

xi − xi−1

(2.34)

Nakon sređivanja dobiva se:

xi+1 = xi − xi − xi−1

f(xi)− f(xi−1)f(xi) (2.35)

Koristeći izraz (2.35), iterativni postupak se ponavlja dok se ne zadovolji jedanod ili oba kriterija konvergencije

|xi+1 − xi| ≤ ε1 i/ili |f(xi+1)| ≤ ε2

Može se pokazati da je brzina konvergencije reda 1.62 [5], što je mnogobrže od linearne konvergencije proste iteracije, ali i nešto sporije od kvadratnebrzine konvergencije Newtonove metode. Iz izraza (2.18) i (2.35) se vidi daje za proračun Newtonovom metodom neophodno u svakoj iteraciji izračunativrijednosti f(x) i f ′(x), dok je za metodu sječice potrebno izračunati samo

Page 30: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

32 2 Rješavanje jednačina

f(x). Također se može pokazati da ako je vrijeme potrebno za izračunavanjevrijednosti f ′(x) oko 43% duže od onog koje je potrebno za proračunavanjevrijednosti f(x), metoda sječice je efikasnija od Newtonova metode.

Primjer 2.6

Metodom sječice naći pozitivni korijen jednačine x2 − 2 = 0. Postupak rješa-vanja zaustaviti kada se ispuni uslov |xi+1 − xi| < 10−4, pri čemu je i rednibroj iteracije.

Rješenje

Ako kao početne aproksimacije uzmemo x0 = 4 i x1 = 3, i koristimo jed-načinu (2.35), za naredne dvije iteracije se dobiva (koriste se indeksi 2 i 3, sobzirom da su indeksi 0 i 1 rezervisani za početne aproksimacije):

x2 = x1 − x1 − x0

f(x1)− f(x0)f(x1) = 3− 3− 4

7− 147 = 2

x3 = x2 − x2 − x1

f(x2)− f(x1)f(x2) = 2− 2− 3

2− 72 = 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 regulafalsi i Newtonovoj metodi.

Tabela 2.5: Uz primjer 2.6Iteracija i xi f(xi) xi+1 f(xi+1) |xi+1 − xi|

0 4 14 3 7 11 3 7 2 2 12 2 2 1.6 0.56 0.43 1.6 0.56 1.444444 0.086412 0.1555564 1.44444 0.086412 1.41606 0.005221 0.0283865 1.41606 0.005221 1.41423 0.000055 0.0018256 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 znatida neke metode ne mogu naći sve korijene, te da brzina konvergencije, tj.

Page 31: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Smjernice u traženju korijena i pisanju programa 33

utrošeno vrijeme računanja, može biti od presudnog značaja. Neke od važnihsmjernica 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žedesiti da proces konvergira prema nekom drugom korijenu.

• Ako se neki problem treba riješiti samo jednom, ili mali broj puta, efi-kasnost nije u prvom planu, pa se u tom slučaju mogu koristiti i manjeefikasne metode kod kojih je konvergencija zagarantovana, kao metodebisekcije i regula falsi. Nasuprot tome, ako se rješavanje neke jednačineobavlja veliki broj puta, veoma važno je koristiti efikasnije metode.

• Za rješavanje mnogih inženjerskih problema mogu se koristiti jednostavnemetode, kao što je Newtonova metoda, bez bojazni da se radi o nekomspecijalnom slučaju.

• Iako se u prethodnom tekstu nije spominjalo njihovo traženje, mnogos-truki korijeni se mogu naći koristeći Newtonovu metodu, ali je problem utome što se ne zna da li i gdje ovakvi korijeni postoje. Grafičko prikazi-vanje i inkrementalno traženje korijena mogu pomoći, ali to nije zagaran-tovano.

• Traženje kompleksnih korijena ne predstavlja nikakav problem ako se znada postoje. Na primjer, Newtonova i metoda sječice lako mogu naći kom-pleksne korijene, koristeći kompleksnu aritmetiku i kompleksnu početnuaproksimaciju. Jedan od rješenja ovog problema je i korištenje Bair-stowove metode kvadratnih faktora (vidi, na primjer, [10]).

Na osnovu izlaganja u prethodnim poglavljima, moguće je u nekom odprogramskih jezika za pojedine metode napisati programe kojim se na brznačin mogu riješiti zadate jednačine. Prilikom pisanja tih programa trebavoditi računa o sljedećem:

• Treba biti poznat maksimalan broj iteracija, kako bi se iterativni proceszaustavio u nekom konačnom vremenu.

• Test konvergencije oblika |xi+1−xi|, odnosno |bn−an| 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 irješenje jednačine f(x) = 0 u granicama željene tačnosti.

Page 32: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

34 2 Rješavanje jednačina

• U slučaju da metoda koristi prvi izvod funkcije f ′(x), kao Newtonovametoda, mora se paziti da ova vrijednost u toku proračuna ne bude jed-naka nuli ili vrlo malena, kako bi se izbjeglo dijeljenje s nulom, odnosnoprekid rada programa.

Na kraju, treba napomenuti da se bez obzira na nedostatke i moguće pro-bleme prilikom korištenja opisanih metoda, većina problema u inženjerstvumože riješiti nekom od njih bez većih poteškoća, tako da se svakom problemumož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 konvergencijumetode 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) ex − sin(πx/3) = 0 – početni interval [−3.5,−2.5],c) ex − 2x− 2 = 0 – početni interval [1, 2],d) x3 − 2x2 − 2x + 1 = 0 – početni interval [0, 1].

Proračun u ovom i ostalim zadacima zaustaviti kada je ispunjen uslovkonvergencije |bi−ai| ≤ 10−4, odnosno |xi+1−xi| ≤ 10−4, ako to drugačijene bude zadato.

11. Jednačine iz zadatka 10 riješiti metodom regula falsi.

Page 33: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 35

12. Jednačinu ex − (3x + 2) = 0, riješiti metodom proste iteracije za sljedećatri oblika date jednačine: x = ex−(2x+2), x = (ex−2)/3 i x = ln(3x+2).Kao početnu aproksimaciju koristiti x0 = 1.

13. Jednačinu a) iz zadatka 10 riješiti Newtonovom metodom. Za početnuaproksimaciju uzeti x0 = 1.

14. Newtonovom metodom naći najveći pozitivni korijen jednačine x3− 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 dvijeaproksimacije koristiti x0 = 0 i x1 = 1.

17. U nekom od programskih jezika napisati program za rješavanje jednačinakoristeć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 korijenapolinoma. Potrebno je naći sva korijene jednačine x4 − 1 = 0 ako se kaopoč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 pret-hodnog zadatka. Rezultate prikazati u kompleksnoj ravni. Dozvoljenoje 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

v2

)(v − b) = RT (2.36)

Page 34: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

36 2 Rješavanje jednačina

gdje je P pritisak u Pa, v specifična zapremina u m3/kg, T temperaturau K, R gasna konstanta (R=461.495 J/kg K), a a i b su empirijske kons-tante sa sljedećim vrijednostima za vodenu paru: a=1703.28 Pa(m3/kg)2i b=0.00169099 m3/kg. Jednačina (2.36) se može prikazati u obliku:

Pv3 − (Pb + RT )v2 + av − ab = 0 (2.37)

Izračunati specifičnu zapreminu v za P=10000 kPa i T=800 K. Kaopočetnu aproksimaciju koristiti zakon za idealni gas Pv = RT .

21. Jednačina pada pritiska pri protjecanju tečnosti kroz cijev kružnog po-prečnog presjeka data je sljedećom empirijskom formulom:

∆P = −0.5fρV 2

(L

D

)(2.38)

gdje je ∆P pad pritiska u Pa, ρ specifična gustoća u kg/m3, V brzina um/s, L i D dužina i prečnik cijevi u m, a f koeficijent trenja. Postojiveliki broj formula za izračunavanje koeficijenta trenja u zavisnosti odRaynoldsovog broja za različite režime protjecanja tečnosti. Pri tome,Raynoldsov broj je dat izrazom Re=DV ρ/µ, gdje je µ viskoznost tečnostiu Pa s. Za protjecanje u turbulentnom režimu za slučajeve od potpunoglatke 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, teRe=10n 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ženaizvijanju, 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 p2 = P/EI, P opterećenje (sila), E modul elastičnosti, I momentinercije poprečnog presjeka grede. Naći vrijednost kritične dužine lkr, uzavisnosti od l, ako za kritično opterećenje vrijedi:

Pkr = p2EI =π2EI

l2kr

tj. lkr =π

p(2.42)

S obzirom da jednačina (2.41) ima beskonačno mnogo rješenja, naći naj-manje od njih.

Page 35: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 37

23. Plovak u obliku sfere radijusa r, izrađen od materijala specifične gustoćeρp, pluta u tečnosti specifične gustina ρt. Izračunati do koje dubine ćeplovak potonuti, ako je ρp/ρt = k = 0.6 i r = 5.5 cm.Zadatak se svodi na rješavanje nelinearne jednačine:

x3 − 3rx2 + 4kr3 = 0 (2.43)

gdje je x tražena dubina (izvesti jednačinu (2.43)!).

24. Čelični kabl (lančanica) dužine s ovješan je na dva kraja raspona L. Mak-simalan napon usljed zatezanja vlada na krajevima kabla, i iznosi

σmax = σ0 cosh(β) (2.44)

gdje je β = γL/(2σ0), σ0 je napon zatezanja na sredini kabla u Pa, i γspecifična težina kabla u N/m3. Odnos dužine kabla i raspona izmeđuoslonaca dat je sljedećom relacijom:

s

L=

1

βsinh(β) (2.45)

Treba naći σmax, ako je γ = 77000 N/m3, L =1000 m, a s =1100 m.

Page 36: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0
Page 37: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 3

Rješavanje sistema linearnihalgebarskih jednačina

Rješavanje sistema jednačina predstavlja jedan od osnovnih problema koji sesreću u nauci i tehnici. Jednačine u takvim sistemima mogu biti algebarske,transcedentne, ali se može raditi i o običnim diferencijalnim jednačinama, au nekim slučajevima i parcijalnim diferencijalnim jednačinama. Također, jed-načine mogu biti linearne ili nelinearne. S obzirom da se rješavanje sistemanelinearnih jednačina, te rješavanje običnih i parcijalnih diferencijalnih jedna-čina često može svesti na rješavanje sistema linearnih jednačina, ovdje će seobraditi samo numeričko rješavanje sistema linearnih algebarskih jednačina.

Sistem od n linearnih algebarskih jednačina sa n nepoznatih se može napi-sati u obliku:

a11x1 + a12x2 + . . . + a1nxn = b1

a21x1 + a22x2 + . . . + a2nxn = b2

. . . . . . . . . . . . . . . . . . . . .an1x1 + an2x2 + . . . + annxn = bn

(3.1)

gdje xi (i = 1, 2, . . . , n) predstavljaju nepoznanice, aij (i, j = 1, 2, . . . , n) koefi-cijente sistema, a bi (i = 1, 2, . . . , n) su komponente na desnoj strani jednačina.

Sistem jednačina (3.1) se može napisati i u matričnoj formi:

Ax = b (3.2)

gdje je A matrica koeficijenata (matrica sistema), a x i b su vektori kolone,

Page 38: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

40 3 Rješavanje sistema linearnih algebarskih jednačina

odnosno:

A =

a11 a12 . . . a1n

a21 a22 . . . a2n...

... . . . ...an1 an2 . . . ann

,x =

x1

x2...

xn

,b =

b1

b2...bn

(3.3)

Riješiti sistem (3.1), odnosno (3.2) znači naći vrijednosti xi (i = 1, . . . , n) kojeistovremeno zadovoljavaju sve jednačine sistema. Pri tome, mogu se desitisljedeći slučajevi:

• Jedinstveno rješenje – sistem je određen.

• Nema rješenja – sistem je protivrječan.

• Beskonačan broj rješenja – sistem ima nedovoljan broj jednačina, tj. neo-dređen je.

U rješavanju sistema linearnih algebarskih jednačina postoje dva fundamen-talno različita pristupa:

• Direktne metode

• Iterativne metode

Kod direktnih metoda sistem se nizom elementarnih operacija transformišeu sistem jednostavnijeg oblika (npr. trougaoni ili dijagonalni), koji se možeriješiti na jednostavan način. Ukoliko se zanemare greške zaokruživanja, di-rektne metode dovode do tačnog rješenja nakon konačnog broja aritmetičkihoperacija. Za razliku od direktnih, iterativne metode počinju od neke početneaproksimacije koja se postepeno poboljšava dok se ne dobije dovoljno tačnorješenje. Općenito, do tačnog rješenja ove metode mogu dovesti samo nakonbeskonačno mnogo iteracija.

3.1 Direktne metode

3.1.1 Cramerovo pravilo

Posmatrajmo sistem linearnih algebarskih jednačina, Ax=b, sa n jednačina.Cramerovo pravilo kaže da je rješenje takvog sistema dato sa

xj =det(Aj)

det(A)(j = 1, 2, . . . , n) (3.4)

Page 39: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 41

gdje se matrica Aj dobiva zamjenom kolone j matrice A s vektorom kolonomb. Na primjer, za sistem s dvije linearne algebarske jednačine:

a11x1 + a12x2 = b1

a21x1 + a22x2 = b2(3.5)

rješenje je:

x1 =

∣∣∣∣b1 a12

b2 a22

∣∣∣∣∣∣∣∣

a11 a12

a21 a22

∣∣∣∣i x2 =

∣∣∣∣a11 b1

a21 b2

∣∣∣∣∣∣∣∣

a11 a12

a21 a22

∣∣∣∣(3.6)

U ovom slučaju determinante se vrlo lako izračunaju pomoću pravila dija-gonala. Međutim, za sisteme s više jednačina to pravilo ne važi i neophodnoje koristiti metodu kofaktora. Broj množenja i dijeljenja pri korištenju me-tode kofaktora jednak je (n − 1)(n + 1)!, pri čemu je n broj redova (kolona)kvadratne matrice. Lako je izračunati da je za sistem od 10 jednačina, kojipredstavlja mali sistem jednačina, broj operacija jednak 360,000,000, a već za100 jednačina ovaj broj je reda 10157. Očigledno je da Cramerovo pravilo nijeefikasno u rješavanju velikih sistema jednačina, tako da je neophodno koristitineke druge metode.

3.1.2 Metode eliminacije

Metode eliminacije rješavaju sistem od n linearnih algebarskih jednačina rje-šavajući jednu jednačinu, na primjer prvu, za jednu nepoznanicu, na primjerx1, u odnosu na ostale nepoznanice, x2, ..., xn, a zatim se vrši zamjena izrazaza x1 u ostalih (n − 1) jednačina. Time se početni sistem svodi na (n − 1)jednačina s nepoznanicama x2, x3, . . . , xn. Prethodni postupak se ponovi nadobivenom sistemu od (n− 1) jednačina, i tako redom (n− 1) puta, odnosnodok se ne dođe do jednačine koja sadrži samo jednu nepoznanicu xn. Čitavproces se naziva eliminacija.

Vrijednost nepoznanice xn se može diretno dobiti iz posljednje jednačineprocesa eliminacije. Nakon toga se može dobiti vrijednost nepoznanice xn−1

iz modifikovane (n− 1)-ve jednačine, koja sadrži samo nepoznanice xn i xn−1.Zatim se rješava (n−2)-ga jednačina, koja sadrži nepoznanice xn, xn−1 i xn−2,za xn−2, i tako redom do prve jednačine. Ovaj proces se naziva zamjena unazad.

Metode eliminacije, u principu, koriste osnovne operacije s redovima nekematrice, i to:

Page 40: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

42 3 Rješavanje sistema linearnih algebarskih jednačina

• bilo koji red (jednačina) se može pomnožiti konstantom. Ova operacijase najčešće koristi za skaliranje ili normaliziranje jednačina, ako je toneophodno.

• redovi (jednačine) mogu zamijeniti mjesta. Operacija se koristi kako bise izbjeglo dijeljenje nulom i smanjile greške zaokruživanja.

• bilo koji red (jednačina) može se zamijeniti linearnom kombinacijom togreda (jednačine) i bilo kojeg drugog reda (jednačine). Ova operacija senajčešće koristi kako bi se implementirao proces sistematske eliminacije.

Ove operacije, iako mijenjaju vrijednosti koeficijenata matrice A i vektora b,ne mijenjaju rješenje sistema.

Primjer 3.1

Radi ilustracije procesa eliminacije i procesa zamjene unazad riješimo sljedećisistem jednačina:

80x1 − 20x2 − 20x3 = 20 (3.7a)−20x1 + 40x2 − 20x3 = 20 (3.7b)−20x1 − 20x2 + 130x3 = 20 (3.7c)

Rješenje

Postupak rješavanja počinje rješavanjem jednačine (3.7a) za nepoznanicux1. Na taj način imamo:

x1 = [20− (−20)x2 − (−20)x3]/80 (3.8)

Uvrštavajući jednačinu (3.8) u jednačine (3.7b) i (3.7c) dobivaju se, respek-tivno, sljedeće jednačine:

− 20[20− (−20)x2 − (−20)x3]/80 + 40x2 − 20x3 = 20 (3.9a)− 20[20− (−20)x2 − (−20)x3]/80− 20x2 + 130x3 = 20 (3.9b)

koje se mogu pojednostaviti na oblik:

35x2 − 25x3 = 25 (3.10a)−25x2 + 125x3 = 25 (3.10b)

Ako sada riješimo jednačinu (3.10a) za x2, dobivamo:

x2 = [25− (−25)x3]/35 (3.11)

Page 41: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 43

Uvrštavajući posljednju jednačinu u jednačinu (3.10b) nakon pojednostavljenjadobiva se:

750

7x3 =

300

7(3.12)

Na taj način, sistem jednačina (3.7) se svodi na sistem jednačina:

80x1 − 20x2 − 20x3 = 20 (3.13a)35x2 − 25x3 = 25 (3.13b)

750/7x3 = 300/7 (3.13c)

čime je završen proces eliminacije. Sistem jednačina (3.13) se može prikazatiu matričnom obliku:

80 −20 −200 35 −250 0 750/7

x1

x2

x3

=

2025

300/7

(3.14)

Dakle, procesom eliminacije se matrica koeficijenata sistema za sistem jedna-čina (3.7):

80 −20 −20−20 40 −20−20 −20 130

(3.15)

svodi na gornju trougaonu matricu

80 −20 −200 35 −250 0 750/7

(3.16)

Sada se koristeći jednačine (3.13) vrlo lako može dobiti rješenje sistema zamje-nom unazad, tj.:

x3 = 300/750 = 0.40 (3.17a)x2 = [25− (−25)(0.40)]/35 = 1.00 (3.17b)x1 = [20− (−20)(1.00)− (−20)(0.40)]/80 = 0.60 (3.17c)

Prethodno opisani primjer predstavlja slučaj jednostavne eliminacije (nemapotrebe za zamjenom redova), te se može rješavati u pogodnijem obliku ako sematrica koeficijenata sistema A proširi vektorom kolonom b na sljedeći način:

[A|b] =

80 −20 −20−20 40 −20−20 −20 130

∣∣∣∣∣∣

202020

(3.18)

Page 42: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

44 3 Rješavanje sistema linearnih algebarskih jednačina

Korištenjem osnovnih operacija s redovima proširene matrice, matrica koefi-cijenata sistema se može svesti na gornju trougaonu matricu. Prvi red pro-širene matrice, koji predstavlja prvu jednačinu sistema jednačina (3.7), mno-žimo sa 20/80 i dodajemo drugom i trećem redu proširene matrice, što pišemo×(20/80)+(b) i ×(20/80)+(c), respektivno. Na taj način, koeficijenti u prvojkoloni proširene matrice ispod prvog reda (koeficijent 80) postaju jednaki 0.Postupak množenja prve jednačine odgovarajućim množiteljima i dodavanjepojedinim redovima može se prikazati izrazom datim s desne strane proširenematrice:

(a)(b)(c)

80 −20 −20−20 40 −20−20 −20 130

∣∣∣∣∣∣

202020

×(20/80)+(b),×(20/80)+(c)

(3.19)

Prethodnim postupkom dobiva se proširena matrica data izrazom (3.20).

(a)(b)(c)

80 −20 −200 35 −250 −25 125

∣∣∣∣∣∣

202525

×(25/35)+(c) (3.20)

Sada drugi red dobivene proširene matrice, (b), množimo sa 25/35 i dodajemotrećem redu (×(25/35) + (c)). Konačno se dobiva proširena matrica, u kojojse matrica sistema A svodi na gornju trougaonu matricu, pa se zamjenomunazad, počevši od nepoznanice x3, može dobiti rješenje datog sistema.

(a)(b)(c)

80 −20 −200 35 −250 0 750/7

∣∣∣∣∣∣

2025

300/7

x1 = 0.60x2 = 1.00x3 = 0.40

(3.21)

Postupak rješavanja na ovakav način je veoma pogodan u slučajevima kadaimamo veći broj vektora b, jer se proces eliminacije za sve vektore kolone bmože izvršiti simultano.

Prilikom rješavanja sistema jednačina, treba voditi računa o sljedećem:

1. U toku izvođenja metode eliminacije može se desiti da je koeficijent naglavnoj dijagonali modifikovane matrice A, koji se još naziva i glavni ele-menat (pivot), jednak nuli, nakon čega nije moguće nastaviti proceduruzbog dijeljenja nulom. Kako bi se izbjegla ova situacija, prethodno opi-sana metoda eliminacije mora se modifikovati. Ovaj postupak dovodi dometoda s djelimičnim i potpunim izborom glavnog elementa. Metode s

Page 43: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 45

potpunim izborom glavnog elementa obuhvataju zamjenu i redova i ko-lona, i postupak je prilično komplikovan. Zbog toga se najčešće koristiprocedura s djelimičnim izborom glavnog elementa, kod koje se samo za-mjenjuju mjesta redova. Glavni element se obično bira tako da budepo apsolutnoj vrijednosti veći od ostalih koeficijenata u koloni kojoj pri-pada. Na taj način se u toku procesa eliminacije koeficijenti ispod glavnogelementa dijele s najvećim koeficijentom (kako bi se dobili odgovarajućimnožitelji), pa se tako dobiva i najmanja greška zaokruživanja.

2. Prethodno opisani postupak izbora glavnog elementa, ipak, nije uvijeknajbolje rješenje. Naime, u slučaju kada su glavni elementi mnogo manjiod ostalih koeficijenata u jednačini kojoj pripadaju, može doći do zna-čajne greške zaokruživanja, što može dovesti do pogrešnih rješenja. Uovim slučajevima potrebno je primijeniti postupak skaliranja, kod kojegse ne upoređuju apsolutne vrijednosti koeficijenata kao u prethodnom slu-čaju, nego apsolutne vrijednosti njihovog odnosa s najvećim od preostalihkoeficijenata u jednačini kojoj pripadaju (u obzir se ne uzimaju vrijed-nosti komponenti s desne strane jednačine). I u procesu skaliranja se vršizamjena redova.

Naredna dva primjera pokazuju primjenu dva opisana načina izbora glavnogelementa.

Primjer 3.2

Koristeći metodu eliminacije, riješiti sljedeći sistem jednačina, prikazan u ma-tričnoj formi:

0 2 14 1 −1

−2 3 −3

x1

x2

x3

=

5−3

5

(3.22)

Rješenje

Kao što se može vidjeti, prvi element jednak je nuli, tako da je zamjenaredova neophodna. Najveći element po apsolutnoj vrijednosti u prvoj koloni,ispod glavnog elementa, nalazi se u drugom redu, tako da vršimo zamjenuprvog i drugog reda, a zatim primijenimo proces eliminacije.

(a)(b)(c)

4 1 −10 2 1

−2 3 −3

∣∣∣∣∣∣

−355

×(0/4)+(b),×(2/4)+(c)

(3.23)

Page 44: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

46 3 Rješavanje sistema linearnih algebarskih jednačina

pa se dobiva proširena matrica:

4 1 −10 2 10 7/2 −7/2

∣∣∣∣∣∣

−35

7/2

(3.24)

Iako u ovom slučaju element na glavnoj dijagonali druge jednačine nije jednaknuli, on je po apsolutnoj vrijednosti manji od elementa ispod njega, tako daje opet neophodno izvršiti zamjenu redova. Treba napomenuti da se zamjenaredova vrši samo na redovima ispod trenutnog glavnog elementa, jer bi se usuprotnom mogao narušiti proces eliminacije koji je do tada obavljen. Nakonzamjene drugog i trećeg reda imamo:

(a)(b)(c)

4 1 −10 7/2 −7/20 2 1

∣∣∣∣∣∣

−37/2

5

×(−4/7)+(c) (3.25)

i konačno

4 1 −10 7/2 −7/20 0 3

∣∣∣∣∣∣

−37/2

3

x1 = −1x2 = 2x3 = 1

(3.26)

Primjer 3.3

Provjeriti prednosti procesa skaliranja na sistemu jednačina:

3 2 1052 −3 1031 1 3

x1

x2

x3

=

104983

(3.27)

čije je rješenje: x1 = −1, x2 = 1 i x3 = 1. Pri tome, proračun vršiti na triznačajne cifre.

Rješenje

Prvo ćemo riješiti sistem jednačina koristeći do sada obrađene metode, bezdodatnih objašnjenja.

(a)(b)(c)

3 2 1052 −3 1031 1 3

∣∣∣∣∣∣

104983

×(−0.667)+(b),×(−0.333)+(c)

(3.28)

(a)(b)(c)

3 2 1052 −4.33 330 0.334 −32

∣∣∣∣∣∣

10428.6

−31.6

×(−0.0771)+(c) (3.29)

Page 45: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 47

3 2 1052 −4.33 330 0 −29.5

∣∣∣∣∣∣

10428.9

−29.4

(3.30)

Iz posljednje jednačine se zamjenom unazad dobiva rješenje: x3 = 0.997, x2 =0.924 i x1 = −0.884, što se ne slaže dobro s tačnim rješenjem. Rješenje jepogrešno zbog greške zaokruživanja na tri značajne cifre.

Kao što je ranije rečeno, ove greške se mogu znatno smanjiti ako se primijeniproces skaliranja. Prije izvršenja prvog koraka u procesu eliminacije (izjedna-čavanje elemenata ispod glavnog elementa s nulom), potrebno je skalirati sveelemente prve kolone s najvećim elementom u njihovom redu, uzimajući u obzirsamo elemente matrice sistema A. Dakle, imamo:

a1 =

3/1052/103

1/3

=

0.02860.01940.3333

(3.31)

gdje se vektor a1 sastoji od skaliranih elemenata prve kolone. Jasno je da jetreći element vektora a1 najveći po apsolutnoj vrijednosti, što znači da prvai treća jednačina datog sistema trebaju zamijeniti mjesta. Treba napomenutida se zamjena vrši samo između spomenutih redova (posmatranog i onog snajvećim odnosom po apsulutnoj vrijednosti), odnosno redosljed komponentivektora a po veličini ne igra nikakvu ulogu. Dalje imamo:

(a)(b)(c)

1 1 32 −3 1033 2 105

∣∣∣∣∣∣

398

104

×(−2/1)+(b),×(−3/1)+(c)

(3.32)

(a)(b)(c)

1 1 30 −5 970 −1 96

∣∣∣∣∣∣

39295

×(−1/5)+(c) (3.33)

Ponovnim skaliranjem, imamo da je:

a2 =

−−5/97−1/96

=

−−0.0516−0.0104

(3.34)

pa nije potrebna nova zamjena redova, nego se iz (3.33) dobiva:

1 1 30 −5 970 0 76.6

∣∣∣∣∣∣

392

76.6

(3.35)

odakle se dobiva tačno rješenje: x3 = 1, x2 = 1 i x1 = −1.

Page 46: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

48 3 Rješavanje sistema linearnih algebarskih jednačina

Gaussova metoda eliminacije

Prethodno opisana metoda eliminacije je poznata pod nazivom Gaussova me-toda eliminacije. Iako je objavljena još početkom XIX vijeka, ova metoda je idanas najčešće primjenjivani direktni postupak za rješavanje sistema linearnihalgebarskih jednačina. Sve ostale direktne metode, kao na primjer, Gauss-Jordanova, matrična, metode faktorizacije, itd., predstavljaju modifikacije iliproširenja Gaussove metode.

Broj množenja i dijeljenja pri korištenju Gaussove metode eliminacije pri-bližno je jednak (n3/3 − n/3 − n2), što za sistem od 10 jednačina iznosi 430,a za sistem od 100 jednačina 343,000. Dakle, Gaussova metoda eliminacije jedaleko brža nego Cramerovo pravilo.

Algoritam za Gaussovu metodu eliminacije (s djelimičnim izborom glavnogelementa), koji je prikladan za programiranje, imao bi oblik:

1. Definisati koeficijente matrice A i vektora b.

2. Počevši od prve kolone, treba normalizirati kolone k (k = 1, 2, . . . n− 1)i tražiti po veličini najveći koeficijent u koloni k (ili onaj koji se dobijeprocesom skaliranja – vidi primjer 3.3), te zamijeniti redove kako bi se tajkoeficijent postavio u poziciju glavnog elementa akk.

3. Primijeniti proceduru eliminacije na redove i (i = k + 1, k + 2, . . . , n)kako bi se stvorile nule ispod glavnog elementa akk. Koeficijenti proširenematrice sistema mogu se dobiti pomoću sljedećih izraza:

aij = aij −(

aik

akk

)akj (i, j = k + 1, k + 2, . . . , n) (3.36)

bi = bi −(

aik

akk

)akj (i = k + 1, k + 2, . . . , n) (3.37)

Nakon što se primijene koraci 2 i 3 na (n− 1) kolona, originalna matricasistema A postaje gornja trougaona.

4. Riješiti nepoznanice x koristeći zamjenu unazad:

xn =bn

ann

(3.38)

xi =1

aii

(bi −

n∑j=i+1

aijxj

)(i = n− 1, n− 2, . . . , 1) (3.39)

Page 47: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 49

Gauss-Jordanova metoda eliminacije

Gauss-Jordanova metoda eliminacije je varijacija Gaussove metode elimina-cije, u kojoj se i koeficijenti iznad kao i koeficijenti ispod glavnog elementaeliminišu (izjednačavaju s nulom). Na taj način se matrica A transformiše udijagonalnu matricu. Redovi se obično skaliraju kako bi se dobili jedinični dija-gonalni elementi, pa se matrica A pretvara u jediničnu matricu. Tada vektorb postaje vektor rješenja x. Gauss-Jordanova metoda je, na taj način, po-godna za više vektora b, tj. kada je neophodno simultano riješiti više sistemas različitim vektorima b, i direktno očitavati rješenja svih sistema.

Broj množenja i dijeljenja za Gauss-Jordanovu metodu eliminacije je pri-bližno jednak (n3/2 − n/2 + n2), što je za oko 50% više nego za Gaussovumetodu eliminacije, pa Gaussova metoda eliminacije ima prednost u korište-nju.

Primjer 3.4

Gauss-Jordanovom metodom riješiti sistem jednačina iz primjera 3.1.

80 −20 −20−20 40 −20−20 −20 130

x1

x2

x3

=

202020

(3.40)

Rješenje

Prvi korak u procesu rješavanja Gauss-Jordanovom metodom predstavljaskaliranje prve jednačine, odnosno dijeljenje svih koeficijenata jednačine s glav-nim elementom

(a)(b)(c)

80 −20 −20−20 40 −20−20 −20 130

∣∣∣∣∣∣

202020

/80

(3.41)

pa se dobiva:

(a)(b)(c)

1 −0.25 −0.25−20 40 −20−20 −20 130

∣∣∣∣∣∣

0.252020

×(20)+(b),×(20)+(c)

(3.42)

Primjenjujući proces eliminacije i naknadnim skaliranjem druge jednačine do-

Page 48: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

50 3 Rješavanje sistema linearnih algebarskih jednačina

bivamo:

(a)(b)(c)

1 −0.25 −0.250 35 −250 −25 125

∣∣∣∣∣∣

0.252525

/35 (3.43)

(a)(b)(c)

1 −0.25 −0.250 1 −5/70 −25 125

∣∣∣∣∣∣

0.255/725

×(0.25)+(a),×(25)+(c) (3.44)

Sada se vrši eliminacija iznad i ispod glavnog elementa i vrši skaliranje trećegreda

(a)(b)(c)

1 0 −3/70 1 −5/70 0 750/7

∣∣∣∣∣∣

3/75/7

300/7

/(750/7)

(3.45)

(a)(b)(c)

1 0 −3/70 1 −5/70 0 1

∣∣∣∣∣∣

3/75/7215

×(3/7)+(a),×(5/7)+(b)

(3.46)

a konačno se, nakon eliminacije iznad jednačine (c), dobiva:

1 0 00 1 00 0 1

∣∣∣∣∣∣

0.61.00.4

(3.47)

Matrica A je na taj način transformisana u jediničnu matricu, a vektor b jepostao vektor rješenja, x, odnosno xT = [ 0.6 1.0 0.4 ].

Inverzija matrica metodom eliminacije

Gauss-Jordanova metoda se može koristiti za dobivanje inverzne matrice A−1

matrice koeficijenata sistema A, tako što se matrica sistema A proširi jedi-ničnom matricom I, a zatim primijeni Gauss-Jordanov algoritam. Proces semože shematski prikazati sljedećom relacijom:

[A|I] → [I|A−1] (3.48)

Primjena Gauss-Seidelove metode za određivanje inverzne matrice data je usljedećem primjeru.

Page 49: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 51

Primjer 3.5

Naći inverznu matricu A−1 matrice koeficijenata sistema A iz primjera 3.1

A =

80 −20 −20−20 40 −20−20 −20 130

(3.49)

koristeći Gauss-Jordanovu metodu.

Rješenje

Proširivanjem matrice koeficijenata sistema jednačina (3.7) jediničnom ma-tricom, dobivamo:

[A|I] =

80 −20 −20−20 40 −20−20 −20 130

∣∣∣∣∣∣

1 0 00 1 00 0 1

(3.50)

Primjenjujući Gauss-Jordanovu metodu eliminacije kako slijedi (bez dodatnihobjašnjenja):

(a)(b)(c)

80 −20 −20−20 40 −20−20 −20 130

∣∣∣∣∣∣

1 0 00 1 00 0 1

/80

(3.51)

(a)(b)(c)

1 −0.25 −0.25−20 40 −20−20 −20 130

∣∣∣∣∣∣

1/80 0 00 1 00 0 1

×(20)+(b),×(20)+(c)

(3.52)

(a)(b)(c)

1 −0.25 −0.250 35 −250 −25 125

∣∣∣∣∣∣

1/80 0 01/4 1 01/4 0 1

/35 (3.53)

(a)(b)(c)

1 −0.25 −0.250 1 −5/70 −25 125

∣∣∣∣∣∣

1/80 0 01/140 1/35 0

1/4 0 1

×(0.25)+(a),×(25)+(c) (3.54)

(a)(b)(c)

1 0 −3/70 1 −5/70 0 750/7

∣∣∣∣∣∣

1/70 1/140 01/140 1/35 0

3/7 5/7 1

/(750/7)

(3.55)

Page 50: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

52 3 Rješavanje sistema linearnih algebarskih jednačina

(a)(b)(c)

1 0 −3/70 1 −5/70 0 1

∣∣∣∣∣∣

1/70 1/140 01/140 1/35 01/250 1/150 7/750

×(3/7)+(a),×(5/7)+(b)

(3.56)

desna strana jednakosti (3.50) se svodi na oblik:

1 0 00 1 00 0 1

∣∣∣∣∣∣

2/125 1/100 1/2501/100 1/30 1/1501/250 1/150 7/750

(3.57)

odakle se na osnovu izraza (3.48) direktno dobiva A−1:

A−1 =

2/125 1/100 1/2501/100 1/30 1/1501/250 1/150 7/750

(3.58)

3.1.3 Matrična metoda

Sistem linearnih algebarskih jednačina može se riješiti korištenjem inverznematrice na sljedeći način. Ako dati sistem napišemo u matričnoj formi:

Ax = b (3.59)

množenjem date jednačine inverznom matricom A−1 s lijeve strane, dobivamo

A−1Ax = Ix = x = A−1b (3.60)

i konačno

x = A−1b (3.61)

Dakle, ako je poznata inverzna matrica A−1 matrice sistema A, rješenje xse dobiva množenjem te inverzne matrice s vektorom kolonom b.

Primjer 3.6

Sistem jednačina iz primjera 3.1

80 −20 −20−20 40 −20−20 −20 130

x1

x2

x3

=

202020

(3.62)

Page 51: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 53

riješiti matričnom metodom.

Rješenje

Koristeći rješenje (3.58) iz prethodnog primjera

A−1 =

2/125 1/100 1/2501/100 1/30 1/1501/250 1/150 7/750

na osnovu izraza (3.61) direktno se dobiva:

x = A−1b =

2/125 1/100 1/2501/100 1/30 1/1501/250 1/150 7/750

202020

=

0.61.00.4

(3.63)

3.1.4 Metode faktorizacije

Metode faktorizacije zasnivaju se na činjenici da se matrice (kao i skalarneveličine), mogu faktorizirati (razložiti) u proizvod neke dvije matrice na be-skonačno mnogo načina. Kada su takve dvije matrice donja trougaona, L (odengleske riječi lower), i gornja trougaona, U (od engleske riječi upper), tj.

A=LU (3.64)

dobiva se tzv. LU faktorizacija, koja je jedinstvena. Metoda faktorizacijekod koje su koeficijenti po dijagonali donje trougaone matrice jednaki jedinicinaziva se Doolittleova metoda, a ona kod koje su koeficijenti na dijagonaligornje trougaone matrice jednaki jedinici metoda Crouta.

Kod metode Doolittlea, matrica U se dobiva procesom Gaussove elimina-cije (predstavlja lijevi dio proširene matrice prije primjene procesa zamjeneunazad), dok se koeficijentima matrice L, koji su različiti od 0 i 1, pridru-žuju negative vrijednosti množitelja dobivenih u procesu eliminacije kako je toobjašnjeno u primjeru 3.7.

Nakon što se odrede matrice L i U, dalji postupak se zasniva na činjenicida je sistem jednačina:

Ax = b (3.65)

na osnovu

Ax = LUx = L(Ux) = Lb’ = b (3.66)

Page 52: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

54 3 Rješavanje sistema linearnih algebarskih jednačina

ekvivalentan sljedećim sistemima s trougaonim matricama:

Lb’ = b (3.67)Ux = b’ (3.68)

Dakle, dalje rješavanje se sastoji iz dva koraka:

• prvo se vektor b transformiše u vektor b’ rješavajući jednačinu (3.67) –zamjena unaprijed,

• zatim se dobiva vektor rješenja rješavajući jednačinu (3.68) – zamjenaunazad.

Sljedeći primjer pokazuje upotrebu Doolittleove metode.

Primjer 3.7

Sistem jednačina iz primjera 3.1

80 −20 −20−20 40 −20−20 −20 130

x1

x2

x3

=

202020

(3.69)

riješiti metodom Doolittlea.

Rješenje

Kao što je u prethodnom tekstu rečeno, matrica L predstavlja matricu kojase sastoji od množitelja nastalih u procesu eliminacije Gaussovom metodom, amatrica U gornju trougaonu matricu u koju se transformiše matrica koeficije-nata A pomoću Gaussove metode. Na taj način, koristeći rješenje iz primjera3.1 (vidi str. 44), dobiva se:

L =

1 0 −0−0.25 1 −0−0.25 −5/7 1

U =

80 −20 −200 35 −250 0 750/7

(3.70)

Matrica L se generiše na sljedeći način. Koeficijenti prve kolone jednaki sunegativnim vrijednostima množitelja iz prvog koraka pri rješavanju Gausso-vom metodom eliminacije (izraz (3.19)) – koeficijent L12

∗ jednak je negativnojvrijednosti množitelja koji ide uz jednačinu (b), tj. −20/80 = −0.25, dok je

∗Prvi indeks koeficijenta matrice L predstavlja korak u procesu eliminacije, odnosno indeks glavnogelementa, a drugi redni broj jednačine na koju se množitelj odnosi.

Page 53: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 55

koeficijent L13 jednak negativnoj vrijednosti množitelja koji ide uz jednačinu(c), tj. −20/80 = −0.25. Analogno, koeficijenti druge kolone su jednaki ne-gativnim vrijednostima množitelja iz drugog koraka procesa eliminacije (izraz(3.20)), odnosno koeficijent L23 jednak je negativnoj vrijednosti množitelja kojiide uz jednačinu (c), tj. −5/7. Po definiciji, koeficijenti na dijagonali jednakisu 1, a ostali, iznad dijagonale, jednaki 0.

Kako je ranije rečeno, matrica U u metodi Doolittlea jednaka je gornjojtrougaonoj matrici u koju se transformiše matrica sistema A u toku postupkaGaussove metode eliminacije (vidi izraz (3.16)).

Sada se koristeći jednačinu (3.67) dobiva:

1 0 −0−0.25 1 −0−0.25 −5/7 1

b′1b′2b′3

=

202020

(3.71)

i zamjenom unaprijed:

b′1 = 20 (3.72a)b′2 = 20− (−1/4)20 = 25 (3.72b)b′3 = 20− (−1/4)20− (−5/7)25 = 300/7 (3.72c)

Uvrštavajući dobiveni vektor b’ u jednačinu (3.68) dobiva se:

80 −20 −200 35 −250 0 750/7

x1

x2

x3

=

2025

300/7

(3.73)

i zamjenom unaprijed:

x3 = 300/750 = 0.40 (3.74a)x2 = 25− [(−25)0.4]/35 = 1.0 (3.74b)x1 = 20− 20− [(−20)1.0 + (−20)0.4]/80 = 0.60 (3.74c)

Prethodno opisani postupak za Doolittleovu metodu se može predstavitisljedećim algoritmom, pri čemu matrice L i U imaju oblik:

L =

1 0 . . . 0l21 1 . . . 0...

... . . . ...ln1 ln2 . . . 1

,U =

u11 u12 . . . u1n

0 u22 . . . u2n...

... . . . ...0 0 . . . unn

(3.75)

Page 54: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

56 3 Rješavanje sistema linearnih algebarskih jednačina

1. Koeficijenti matrica U i L se dobivaju direktno iz izraza A = LU nasljedeći način:

u1j = a1j (3.76)

uij = aij −i−1∑

k=1

likukj (j ≥ i ≥ 1) (3.77)

i

li1 =ai1

u11

(3.78)

lij =1

ujj

(aij −

j−1∑

k=1

likukj

)(1 < j < i) (3.79)

pri čemu treba voditi računa o redu računanja. Prvo se računaju koefi-cijenti prvog reda matrice U i prve kolone matrice L, zatim koeficijentidrugog reda matrice U i druge kolone matrice L, itd., a na kraju se izra-čunavaju koeficijenti n-tog reda matrice U, odnosno koeficijent unn.

2. Zamjenom unaprijed se dobiva vektor kolona b’:

b′1 = b1 (3.80)

b′i =1

lii

(bi −

i−1∑

k=1

likb′k

)(i = 2, 3, . . . , n) (3.81)

3. Zamjenom unazad se dobiva rješenje, odnosno vektor kolona x:

xn =bn

unn

(3.82)

xi =1

uii

(bi −

n∑

k=i+1

uikxk

)(i = n− 1, n− 2, . . . , 1) (3.83)

Na sličan način se mogu dobiti i izrazi za metodu Crouta (vidi na primjer[6]). Obje metode imaju prednost kada se treba izračunati sistem jednačinaza veliki broj različitih vrijednosti vektora b.

3.1.5 Nedostaci metoda eliminacije

Svi regularni sistemi linearnih algebarskih jednačina, odnosno sistemi jedna-čina kod kojih je determinanta matrice sistema različita od nule, imaju rješenje.

Page 55: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Direktne metode 57

Teoretski gledano, to rješenje se uvijek može naći nekom od metoda eliminacije.Međutim, postoje dva osnovna problema koja se javljaju u primjeni metodaeliminacije: (i) prisustvo greška zaokruživanja, i (ii) slaba podešenost sistema.

Greške zaokruživanja

Utjecaj greške zaokruživanja na rezultat prilikom rješavanja sistema linearnihalgebarskih jednačina pomoću direktnih metoda dat je u primjeru 3.3. Greškezaokruživanja se mogu smanjiti pogodnim razmještajem jednačina, kao što jeto i pokazano u pomenutom primjeru. U ove svrhe se može, također, koristitii poseban iterativni postupak, tzv. metoda iterativnog poboljšanja, koja semože naći u literaturi [6, 7, 10]. Međutim, treba napomenuti da se greškezaokruživanja nikada ne mogu u potpunosti eliminisati.

Podešenost sistema

Pojam podešenosti nekog sistema linearnih algebarskih jednačina je vezan zapromjene rješenja tog sistema s promjenama njegovih koeficijenata. Tako jedobro podešen sistem onaj kod kojeg male promjene bilo kojeg koeficijentasistema uzrokuju male promjene u rezultatu problema. Nasuprot tome, slabopodešen sistem je onaj kod kojeg male promjene nekog koeficijenta uzrokujuvelike promjene u rješenju sistema. S obzirom da su slabo podešeni sistemiveoma osjetljivi na male promjene koeficijenata sistema, oni su osjetljivi i nagreške zaokruživanja.

Primjer 3.8

Pokažimo ponašanje jednog slabo podešenog sistema na sljedećim primjeru:

x1 + x2 = 2 (3.84a)x1 + 1.0001x2 = 2.0001 (3.84b)

Rješenje

Primjenom Gaussove eliminacije na sistem jednačina (3.84) dobiva se:

(a)(b)

[1 11 1.0001

∣∣∣∣2

2.0001

]×(−1)+(b) (3.85)

[1 10 0.0001

∣∣∣∣2

0.0001

](3.86)

Page 56: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

58 3 Rješavanje sistema linearnih algebarskih jednačina

što dovodi do rješenja x2 = 1 i x1 = 1.Posmatrajmo sada sistem kod kojeg smo koeficijent a22 = 1.0001 zamijenili

sa 0.9999. Imamo:(a)(b)

[1 11 0.9999

∣∣∣∣2

2.0001

]×(−1)+(b) (3.87)

[1 10 −0.0001

∣∣∣∣2

0.0001

](3.88)

što dovodi do rješenja x2 = −1 i x1 = 3, koje je potpuno drugačije od onogprethodnog. Slično ponašanje bi se desilo ako bismo komponentu b2 = 2.0001promijenili za neku malu veličinu (npr. b2 = 1.9999). Dakle, male promjeneu koeficijentima sistema dovode do znatnih promjena u rješenju sistema, štopokazuje da je sistem slabo podešen.

Jedini pravi lijek protiv problema slabe podešenosti je računanje u skupurealnih brojeva (nema greške zaokruživanja). Kako to nije moguće ostvariti,ostaje samo pokušaj da se skaliranjem i zamjenama redova poboljša podešenostsistema.

Podešenost sistema se procjenjuje korištenjem norme matrice sistema ibroja podešenosti . Postoji više oblika norme matrice sistema, kao:

‖A‖1 = max1≤j≤n

n∑i=1

|aij| matrična 1-norma ili

"maksimalna norma kolone" (3.89a)

‖A‖∞ = max1≤j≤n

n∑j=1

|aij| matrična ∞-norma ili

"maksimalna norma reda" (3.89b)

‖A‖e =

√√√√n∑

i=1

n∑j=1

a2ij Euklidska ili Frobeniusova norma (3.89c)

Za razliku od norme, broj podešenosti predstavlja mjeru osjetljivosti sistemana male promjene njegovih koeficijenata. Broj podešenosti matrice A dat jeizrazom:

C(A) = ‖A‖‖A−1‖ (3.90)

Velike vrijednosti broja podešenosti u odnosu na jedinicu pokazuju i velikuosjetljivost na promjene u vektoru x, pa je takav sistem slabo podešen.

Page 57: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Iterativne metode 59

Primjer 3.9

Pokažimo na primjeru 3.8 upotrebu norme i broja podešenosti.

Rješenje

Matrica sistema jednačina (3.84) ima oblik:

A =

[1 11 −0.0001

](3.91)

pa Euklidska norma ima vrijednost:

‖A‖e =√

12 + 12 + 12 + 1.00012 = 2.00005 (3.92)

Nasuprot tome, inverzna matrica i njena Euklidska norma su:

A−1 =

[10001 −10000

−10000 10000

](3.93)

‖A−1‖e =√

100012 + 100002 + (−10000)2 + 100002 = 20000.5 (3.94)

Dakle, broj podešenosti je:

C(A) = ‖A‖e‖A−1‖e = 2.00005 · 20000.5 = 40002 À 1 (3.95)

što pokazuje da je sistem slabo podešen. Slično se moglo pokazati i korištenjemostalih oblika normi. Treba napomenuti da postoje i nešto drugačiji izrazi zaispitivanje podešenosti, kao što je na primjer dato u [6].

3.2 Iterativne metode

Za mnoge velike sisteme linearnih algebarskih jednačina, koji proističu iz in-ženjerskih problema, matrica koeficijenata A je rijetka, odnosno većina njenihkoeficijenata jednaka je nuli. U tom slučaju mnogo je efikasnije za njihovo rje-šavanje koristiti iterativne nego direktne metode. Naime, vrlo je važno imati uvidu da su računari ograničeni ne samo po pitanju tačnosti nego i raspoloživimmemorijskim prostorom i računskim vremenom. U praksi se nerijetko rješa-vaju sistemi s velikim brojem jednačina, na primjer n†, što znači da je samo

†Broj jednačina, npr. u CFD (eng. Computational Fluid Dynamics) proračunima, može da bude inekoliko stotina miliona.

Page 58: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

60 3 Rješavanje sistema linearnih algebarskih jednačina

za koeficijente matrice sistema u memoriji računara neophodno obezbijediti n2

lokacija, što u mnogome otežava korištenje direktnih metoda.Iterativne metode, kao i kod rješavanja jednačina, počinju s pretpostavkom

početnog rješenja x(0). Ovo rješenje se zatim koristi za dobivanje boljeg rješenjax(1), a postupak se ponavlja do postizanja željene tačnosti. Dovoljan uslov zakonvergenciju iterativnih metoda opisanih u ovom poglavlju za bilo koji početnivektor rješenja x(0) je dijagonalna dominantnost matrice sistema. Matricaje dijagonalno dominantna ako je apsolutna vrijednost svakog koeficijenta naglavnoj dijagonali jednaka ili veća od zbira apsolutnih vrijednosti svih ostalihkoeficijenata u tom redu, pri čemu je za bar jedan red apsolutna vrijednostdijagonalnog koeficijenta veća od odgovarajućeg zbira apsolutnih vrijednostiostalih koeficijenata, ili

|aii| ≥n∑

j=1j 6=i

|aij| (i = 1, 2, . . . , n) (3.96)

pri čemu znak > vrijedi za bar jedan red.Broj iteracija neophodan za postizanje konvergencije zavisi od:

• dominantnosti dijagonalnih koeficijenata. S povećanjem dijagonalne do-minantnosti, smanjuje se broj iteracija neophodnih za postizanje kriterijakonvergencije.

• korištene metode

• početnog vektora rješenja

• zahtijevanog kriterija konvergencije.

U narednim poglavljima opisane su neke jednostavnije iterativne metode zarješavanje sistema linearnih algebarskih jednačina, kao Jacobijeva i Gauss−Seidelova, te metode relaksacije.

3.2.1 Jacobijeva metoda

Posmatrajmo opšti sistem linearnih algebarskih jednačina Ax=b, koji u in-deksnoj notaciji ima oblik:

n∑j=1

aijxj = bi (i = 1, 2, . . . , n) (3.97)

Page 59: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Iterativne metode 61

U Jacobijevoj metodi, svaka jednačina sistema se rješava po komponentivektora rješenja koja se odnosi na dijagonalni koeficijent, tj. xi. Iz (3.97) sedobiva:

xi =1

aii

(bi −

i−1∑j=1

aijxj −n∑

j=i+1

aijxj

)(i = 1, 2, . . . , n) (3.98)

Ako je x(0) vektor početnog rješenja, gdje indeks u zagradi označava rednibroj iteracije, prva aproksimacija se dobiva na osnovu jednakosti:

x(1)i =

1

aii

(bi −

i−1∑j=1

aijx(0)j −

n∑j=i+1

aijx(0)j

)(i = 1, 2, . . . , n) (3.99)

Dobiveni vektor rješenja x(1) se zatim uvrštava u formulu

x(2)i =

1

aii

(bi −

i−1∑j=1

aijx(1)j −

n∑j=i+1

aijx(1)j

)(i = 1, 2, . . . , n) (3.100)

kako bi se dobilo rješenje x(2), itd.Prema tome, rekurzivna formula za Jacobijevu metodu glasi:

x(k+1)i =

1

aii

(bi −

i−1∑j=1

aijx(k)j −

n∑j=i+1

aijx(k)j

)(i = 1, 2, . . . , n) (3.101)

Ukoliko se s desne strane doda i oduzme x(k)i , nakon sređivanja, formula (3.101)

se može prikazati u sljedećem prikladnijem obliku:

x(k+1)i = x

(k)i +

1

aii

(bi −

n∑j=1

aijx(k)j

)(i = 1, 2, . . . , n) (3.102)

odnosno

x(k+1)i = x

(k)i +

R(k)i

aii

(i = 1, 2, . . . , n) (3.103)

gdje

R(k)i = bi −

n∑j=1

aijx(k)j (i = 1, 2, . . . , n) (3.104)

Page 60: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

62 3 Rješavanje sistema linearnih algebarskih jednačina

predstavlja ostatak ili rezidual i-te jednačine. Postupak rješavanja se nastavljadok se ne postigne željena tačnost, na primjer dok se ne ispuni jedan od uslova:

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < ε (i = 1, 2, . . . , n) (3.105)

ili

max∣∣∣R(k)

i

∣∣∣ < ε (i = 1, 2, . . . , n) (3.106)

gdje je ε proizvoljno mali pozitivni realni broj.Iz formule (3.102) se vidi da vrijednost x

(k+1)i zavisi samo o x

(k)i , tj. o

vrijednostima rješenja iz prethodne iteracije, pa red procesiranja jednačina nijebitan; sve komponente rješenja x u istoj iteraciji se mogu računati simultano,tj. istovremeno, jer ne ovise jedne od drugih. Stoga se Jacobijeva metodanaziva i metoda simultanih iteracija.

Primjer 3.10

Riješiti sljedeći sistem dat u matričnom obliku:

4 −1 0 1 0−1 4 −1 0 1

0 −1 4 −1 01 0 −1 4 −10 1 0 −1 4

x1

x2

x3

x4

x5

=

100100100100100

(3.107)

Proračun zaustaviti kada je ispunjen uslov

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < 10−6 (i = 1, 2, . . . , n)

gdje je k brojač iteracije.

Rješenje

Na osnovu vrijednosti koeficijenata matrice sistema lako se zaključuje daje uslov konvergencije (3.96) ispunjen za sve jednačine, pa se može pristupitirješavanju pomoću Jacobijeve iterativne metode.

Sistem jednačina (3.107) se može prikazati u razvijenom obliku:

4x1 − x2 + x4 = 100 (3.108a)−x1 + 4x2 − x3 + x5 = 100 (3.108b)

−x2 + 4x3 − x4 = 100 (3.108c)

Page 61: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Iterativne metode 63

x1 − x3 + 4x4 − x5 = 100 (3.108d)x2 − x4 + 4x5 = 100 (3.108e)

tako da se, koristeći formulu (3.102), dobiva:

x1 = 25 + 0.25x2 − 0.25x4 (3.109a)x2 = 25 + 0.25x1 + 0.25x3 − 0.25x5 (3.109b)x3 = 25 + 0.25x2 + 0.25x4 (3.109c)x4 = 25− 0.25x1 + 0.25x3 + 0.25x5 (3.109d)x5 = 25− 0.25x2 + 0.25x4 (3.109e)

Ako se za početno rješenje uzme da je

x(0)T = [0.0 0.0 0.0 0.0 0.0]

i uvrsti u sistem (3.109), lako se dobiva da je

x(1)T = [25.0 25.0 25.0 25.0 25.0]

Postupak se ponavlja na sličan način za x(2), itd., i zaustavlja kada se ispuniuslov (3.105)

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < ε

pri čemu indeks i označava komponentu vektora rješenja, a ε = 10−6. Rezultatisu sumirani u tabeli 3.1.

Tabela 3.1: Uz primjer 3.10k x1 x2 x3 x4 x5

0 0.000000 0.000000 0.000000 0.000000 0.0000001 25.000000 25.000000 25.000000 25.000000 25.0000002 25.000000 31.250000 37.500000 31.250000 25.0000003 25.000000 34.375000 40.625000 34.375000 25.0000004 25.000000 35.156250 42.187500 35.156250 25.000000...

......

......

...17 25.000000 35.714285 42.857142 35.714285 25.00000018 25.000000 35.714285 42.857143 35.714285 25.000000

Lako je uočiti da je sistem jednačina, odnosno matrica koeficijenata sistemajednačina (3.107), simetričan, tako da vrijedi da je x1 = x5, i x2 = x4.

Do istih rezultata se moglo doći koristeći rekurzivnu formulu u obliku(3.103). Prvo se na osnovu izraza (3.104) odrede ostaci:

R1 = 100− 4x1 + x2 − x4 (3.110a)

Page 62: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

64 3 Rješavanje sistema linearnih algebarskih jednačina

R2 = 100 + x1 − 4x2 + x3 − x5 (3.110b)R3 = 100 + x2 + 4x3 + x4 (3.110c)R4 = 100− x1 + x3 − 4x4 + x5 (3.110d)R5 = 100− x2 + x4 − 4x5 (3.110e)

a nakon toga se uvrštavanjem u izraz (3.103) dobivaju vrijednosti xi. Zatimse prelazi na sljedeću iteraciju, a postupak nastavlja dok se ne ispuni zadatiuslov konvergencije:

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < 10−6 (i = 1, 2, . . . , n)

3.2.2 Gauss-Seidelova metoda

Za razliku od Jacobijeve metode, kod koje sve veličine x(k+1)i ovise samo o

x(k)i , tj. o rješenju iz prethodne iteracije, Gauss-Seidelova metoda koristi i

tek izračunate vrijednosti. Algoritam za Gauss-Seidelovu metodu se dobiva izJacobijevog algoritma, formula (3.101), tako što se u sabiranju od j = 1 doi− 1 koriste vrijednosti x

(k+1)i , a za j = i + 1 do n vrijednosti x

(k)i , odnosno u

indeksnoj notaciji:

x(k+1)i =

1

aii

(bi −

i−1∑j=1

aijx(k+1)j −

n∑j=i+1

aijx(k)j

)(i = 1, 2, . . . , n) (3.111)

ili u sljedećim obliku:

x(k+1)i = x

(k)i +

R(k)i

aii

(i = 1, 2, . . . , n) (3.112)

R(k)i = bi −

i−1∑j=1

aijx(k+1)j −

n∑j=i

aijx(k)j (i = 1, 2, . . . , n) (3.113)

Upravo zbog toga što se koriste tek izračunate vrijednosti pojedinih nepozna-nica, pa se jednačine moraju rješavati redom, a ne simultano, Gauss-Seidelovametoda se naziva i metoda sukcesivne iteracije.

Page 63: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Iterativne metode 65

Primjer 3.11

Koristeći Gauss-Seidelovu metodu, riješiti problem iz zadatka 3.10.

4 −1 0 1 0−1 4 −1 0 1

0 −1 4 −1 01 0 −1 4 −10 1 0 −1 4

x1

x2

x3

x4

x5

=

100100100100100

Proračun zaustaviti kada je ispunjen uslov

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < 10−6 (i = 1, 2, . . . , n)

gdje je k brojač iteracije.

Rješenje

Postupak rješavanja Gauss-Seidelovom je vrlo sličan Jacobijevoj metodi, stom razlikom što se u proračunu koriste tek izračunate aproksimacije rješenja.Na taj način, izrazi (3.109) imaju oblik:

x(k+1)1 = 25 + 0.25x

(k)2 − 0.25x

(k)4 (3.114a)

x(k+1)2 = 25 + 0.25x

(k+1)1 + 0.25x

(k)3 − 0.25x

(k)5 (3.114b)

x(k+1)3 = 25 + 0.25x

(k+1)2 + 0.25x

(k)4 (3.114c)

x(k+1)4 = 25− 0.25x

(k+1)1 + 0.25x

(k+1)3 + 0.25x

(k)5 (3.114d)

x(k+1)5 = 25− 0.25x

(k+1)2 + 0.25x

(k+1)4 (3.114e)

gdje je k brojač iteracije. Uzimajući da je početna aproksimacija jednaka

x(0)T = [0.0 0.0 0.0 0.0 0.0]

lako se na osnovu izraza (3.114) dobivaju sljedeće aproksimacije:

x(1)1 = 25 + 0.25x

(0)2 − 0.25x

(0)4 = 0 (3.115a)

x(1)2 = 25 + 0.25x

(1)1 + 0.25x

(0)3 − 0.25x

(0)5 = 31.25 (3.115b)

x(1)3 = 25 + 0.25x

(1)2 + 0.25x

(0)4 = 32.8125 (3.115c)

x(1)4 = 25− 0.25x

(1)1 + 0.25x

(1)3 + 0.25x

(0)5 = 26.953125 (3.115d)

x(1)5 = 25− 0.25x

(1)2 + 0.25x

(1)4 = 23.925781 (3.115e)

Page 64: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

66 3 Rješavanje sistema linearnih algebarskih jednačina

Postupak se ponavlja dok se ne ispuni uslov (3.105)

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < ε

gdje je ε = 10−6. Ostali rezultati proračuna su sumirani u tabeli 3.2. Iz tabeleje jasno da se ista tačnost dostiže nešto brže koristeći Gauss-Seidelovu metodu(15 iteracija) nego je to bio slučaj s Jacobijevom metodom (18 iteracija).

Tabela 3.2: Uz primjer 3.11k x1 x2 x3 x4 x5

0 0.000000 0.000000 0.000000 0.000000 0.0000001 25.000000 31.250000 32.812500 26.953125 23.9257812 26.074219 33.740234 40.173340 34.506226 25.1914983 24.808502 34.947586 42.363453 35.686612 25.184757...

......

......

...14 25.000001 35.714286 42.857143 35.714285 25.00000015 25.000000 35.714286 42.857143 35.714286 25.000000

Do istih rezultata se moglo doći koristeći rekurzivnu formulu u obliku(3.112):

R(k+1)1 = 100− 4x

(k)1 + x

(k)2 − x

(k)4 (3.116a)

R(k+1)2 = 100 + x

(k+1)1 − 4x

(k)2 + x

(k+1)3 − x

(k+1)5 (3.116b)

R(k+1)3 = 100 + x

(k+1)2 + 4x

(k)3 + x

(k)4 (3.116c)

R(k+1)4 = 100− x

(k+1)1 + x

(k+1)3 − 4x

(k)4 + x

(k)5 (3.116d)

R(k+1)5 = 100− x

(k+1)2 + x

(k+1)4 − 4x

(k)5 (3.116e)

Dakle, prvo se izračunava vrijednost R1, pa na osnovu nje x1 pomoću

x(1)1 = x

(0)1 +

R(0)1

4

zatim se računa R2, pa x2, . . . , i na kraju R5, pa x5. Nakon toga, prelazise na sljedeću iteraciju, i postupak ponavlja dok se ne ispuni zadati kriterijkonvergencije.

3.2.3 Metode relaksacije

Može se pokazati da se malim modifikacijama prethodno objašnjenih itera-tivnih metoda brzina konvergencije može znatno poboljšati. Ovo se ostvaruje

Page 65: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Iterativne metode 67

uvođenjem relaksacionog parametra ω u Jacobijevu ili Gauss-Seidelovu metodušto dovodi do poznate metode sukcesivne nadrelaksacije (tzv. SOR‡ metoda).U stvari, ova metoda uključuje množenje ostatka R

(k)i s relaksacionim fakto-

rom ω u originalnoj Jacobijevoj ili Gauss-Seidelovoj formuli. Tako, rekurzivnaformula metode sukcesivne relaksacije za Gauss−Seidelovu metodu ima oblik:

x(k+1)i = x

(k)i + ω

R(k)i

aii

(i = 1, 2, . . . , n) (3.117)

R(k)i = bi −

i−1∑j=1

aijx(k+1)j −

n∑j=i

aijx(k)j (i = 1, 2, . . . , n) (3.118)

Iz gornje jednakosti se vidi da za ω = 1 dobivamo originalnu Gauss-Seidelovumetodu. Može se pokazati da za 0 ≤ ω < 2 sistem konvergira, pri čemu jeza 0 ≤ ω < 1 sistem jednačina podrelaksiran, a za 1 ≤ ω < 2 nadrelaksiran[5]. Treba napomenuti da relaksirajući faktor ne mijenja konačno rješenje, sobzirom da množi ostatak koji s konvergencijom ka tačnom rješenju teži nuli.Dobrim izborom faktora ω, kompjutersko vrijeme se može smanjiti za čak 10-50 puta, što je u svakom slučaju vrijedno pomena radi mogućeg korištenja.Na žalost, ne postoji dobra opšta procedura za određivanje ove vrijednosti.Optimalna vrijednost se može naći eksperimentisanjem, ali nije preporučljivaako se problem rješava samo jednom. Ako se, pak, problem rješava često nadistim vrijednostima matrice sistema A s različitim vrijednostima b, onda je topogodno uraditi.

Vrijedno je spomenuti i da Jacobijeva i Gauss-Seidelova metoda uz ispu-njenje dijagonalne dominantnosti matrice sistema konvergiraju, dok metodarelaksacije za ω 6= 1 može, ali i ne mora konvergirati.

Primjer 3.12

Problem iz zadatka 3.10

4 −1 0 1 0−1 4 −1 0 1

0 −1 4 −1 01 0 −1 4 −10 1 0 −1 4

x1

x2

x3

x4

x5

=

100100100100100

riješiti koristeći metodu relaksacije Gauss-Sedelove metode. Uzeti da je ω =

‡eng. Successive-Over-Relaxation

Page 66: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

68 3 Rješavanje sistema linearnih algebarskih jednačina

1.10. Proračun zaustaviti kada je ispunjen uslov

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < 10−6 (i = 1, 2, . . . , n)

gdje je k brojač iteracije.

Rješenje

Primjenjujući izraze (3.117) i (3.118) na zadati sistem jednačina, dobija se:

x(k+1)1 = x

(k)1 + ω

R(k)1

4(3.119a)

x(k+1)2 = x

(k)2 + ω

R(k)2

4(3.119b)

x(k+1)3 = x

(k)3 + ω

R(k)3

4(3.119c)

x(k+1)4 = x

(k)4 + ω

R(k)4

4(3.119d)

x(k+1)5 = x

(k)5 + ω

R(k)5

4(3.119e)

gdje su

R(k+1)1 = 100− 4x

(k)1 + x

(k)2 − x

(k)4 (3.120a)

R(k+1)2 = 100 + x

(k+1)1 − 4x

(k)2 + x

(k+1)3 − x

(k+1)5 (3.120b)

R(k+1)3 = 100 + x

(k+1)2 + 4x

(k)3 + x

(k)4 (3.120c)

R(k+1)4 = 100− x

(k+1)1 + x

(k+1)3 − 4x

(k)4 + x

(k)5 (3.120d)

R(k+1)5 = 100− x

(k+1)2 + x

(k+1)4 − 4x

(k)5 (3.120e)

Uzimajući da je početna aproksimacija jednaka

x(0)T = [0.0 0.0 0.0 0.0 0.0]

prema izrazu (3.120a) dobiva se:

R(0)1 = 100.00

pa je na osnovu (3.119a)

x(1)1 = 0 + 1.1

100.00

4= 27.50 (3.121)

Page 67: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Ostale metode 69

Uvrštavajući dobivenu vrijednost u (3.120b) dobiva se:

R(1)2 = 100 + 27.50 = 127.70 (3.122)

pa je:

x(1)2 = 0 + 1.1

127.50

4= 35.0625 (3.123)

Slično postupku rješavanja Gauss-Seidelovom metodom, dalje se računaju vri-jednosti R3, pa x3, R4, pa x4 i na kraju R5, pa x5. Zatim se prelazi se nasljedeći iteraciju, i postupak nastavlja dok se ne ispuni uslov (3.105)

max∣∣∣x(k+1)

i − x(k)i

∣∣∣ < ε

gdje je ε = 10−6. U tabeli 3.3 date su ostale vrijednosti proračuna (samoaproksimacije nepoznanica). Jasno se vidi da je broj iteracija (jednak 13)manji nego u slučaju prethodne dvije metode, odnosno metoda brže konvergiraza zadati faktor ω.

Tabela 3.3: Uz primjer 3.12k x1 x2 x3 x4 x5

0 0.000000 0.000000 0.000000 0.000000 0.0000001 27.500000 35.062500 37.142188 30.151602 26.1495032 26.100497 34.194375 41.480925 35.905571 25.3556293 24.419371 35.230346 42.914285 35.968342 25.167386...

......

......

...11 24.999996 35.714285 42.857145 35.714287 25.00000012 25.000000 35.714286 42.857143 35.714286 25.00000013 25.000000 35.714286 42.857143 35.714286 25.000000

3.3 Ostale metode

Pored prethodno opisanih metoda, postoji još niz metoda koje se koriste zarješavanje sistema linearnih jednačina. Naročito mjesto zauzimaju tzv. nesta-cionarne metode. One su izuzetno efikasne, ali im je primjena i razumijevanjenešto kompliciranija. Najpoznatije metode u ovoj grupi su metoda konjugo-vanih gradijenata, koja se koristi za simetrične matrice sistema, te metodabikonjugovanih gradijenata, za asimetrične matrice sistema. Više o ovim me-todama može se naći u literaturi [5, 6, 10]

Page 68: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

70 3 Rješavanje sistema linearnih algebarskih jednačina

3.4 Pitanja i zadaci

1. Koje su osnovne razlike između direktnih i iterativnih metoda, koje sekoriste za rješavanje sistema linearnih algebarskih jednačina?

2. Objasniti Gaussovu metodu eliminacije!

3. Objasniti postupke zamjene redova i skaliranja! Iz kojih razloga se koristeovi postupci?

4. Objasniti Gauss-Jordanovu metodu eliminacije!

5. Na koji način se koristeći Gauss-Jordanovu metodu eliminacije može odre-diti inverzna matrica?

6. Objasniti matričnu metodu!

7. Objasniti koncept metode faktorizacije! Koje metode faktorizacije razli-kujemo?

8. Koji su nedostaci direktnih metoda?

9. Objasniti utjecaj greške zaokruživanja na numerički algoritam koji se ko-risti za rješavanje sistema linearnih algebarskih jednačina pomoću direkt-nih metoda!

10. Objasniti pojam podešenosti matrice sistema!

11. Objasniti koncept korištenja iterativnih metoda!

12. Objasniti Jacobijevu metodu!

13. Objasniti Gauss-Seidelovu metodu!

14. Objasniti metode relaksacije!

15. U nekom programskom jeziku, napisati program za rješavanje sistemalinearnih algebarskih jednačina koristeći:

a) Gaussovu metode eliminacije,b) Gauss-Jordanovu metodu,c) Jacobijevu metodu,d) Gauss-Seidelovu metodu,e) metode relaksacije.

16. Sljedeće sisteme jednačina riješiti

Page 69: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 71

a) Gaussovom metodom eliminacije,b) Gauss-Jordanovom metodom,c) matričnom metodom, odnosno metodom Doolittlea,d) metodom relaksacije.

I)

−2x1 + 3x2 + x3 = 9

3x1 + 4x2 − 5x3 = 0

x1 − 2x2 + x3 = −4

II)

x1 + 3x2 + 2x3 − x4 = 9

4x1 + 2x2 + 5x3 + x4 = 27

3x1 − 3x2 + 2x3 + 4x4 = 19

−x1 + 2x2 − 3x3 + 5x4 = 14

III)

1 −2 12 1 2

−1 1 3

x1

x2

x3

=

−1

38

IV)

2 −2 2 12 −4 1 3

−1 3 −4 22 4 3 −2

x1

x2

x3

x4

=

710

−141

17. Sljedeće sisteme jednačina riješiti Jacobijevom i Gauss-Seidelovom itera-tivnom metodom:

a)

2 1 0 01 2 1 00 1 2 10 0 1 2

x1

x2

x3

x4

=

48

1211

Page 70: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

72 3 Rješavanje sistema linearnih algebarskih jednačina

b)

3 2 0 02 3 2 00 2 3 20 0 2 3

x1

x2

x3

x4

=

1217147

c)

−2 1 0 01 −2 1 00 1 −2 10 0 1 −2

x1

x2

x3

x4

=

12

−7−1

d)

2 −1 0 0−1 2 −1 0

0 −1 2 −10 0 −1 2

x1

x2

x3

x4

=

5108

18. Primjere iz zadatka 17 riješiti metodom relaksacije s ω = 1.08!

19. Naći optimalnu vrijednost faktora relaksacije za primjer 3.12. Rezultatpredstaviti grafički - kao koordinatne ose koristiti broj iteracija i vrijed-nost ω. U tu svrhu napisati program u nekom od programskih jezika, ilikomercijalnih softvera.

Page 71: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 4

Interpolacija i aproksimacijafunkcija

U mnogim inženjerskim problemima, podaci koji se posmatraju su poznatisamo za niz diskretnih tačaka, a ne kao neprekidna funkcija, odnosno za takvepodatke nemamo analitički izraz kojim možemo da odredimo vrijednost f(x).Drugim riječima, može se desiti da je funkcija

y = f(x) (4.1)

poznata samo u n diskretnih vrijednosti x (npr. zadata tabelarno):

yi = y(xi) (i = 1, 2, . . . , n) (4.2)

Ovaj slučaj se često javlja u praksi prilikom mjerenja raznih fizikalnih veličina,kao na primjer kod krive opterećenje-pomjeranje, napon-naprezanje, itd.

Međutim, vrijednosti funkcije u datim tačkama nisu uvijek ono što namatreba, nego nam ponekad trebaju i vrijednosti u nekim drugim tačkama. Ta-kođer, mogu nam trebati i derivacije takve funkcije, ili njen integral. S drugestrane, funkcija f(x), zadata analitičkim izrazom, može imati vrlo kompliko-van oblik za računanje njenih vrijednosti, derivacija ili njenog integrala, štootežava njenu upotrebu u takvom obliku. U ovakvim slučajevima se čestozahtijeva aproksimacija funkcije f(x) nekom jednostavnijom, tzv. aproksima-cionom funkcijom, φ(x).

Funkcija φ(x) se bira prema prirodi modela, ali tako da bude relativno jed-nostavna za računanje. Ona obično zavisi od parametara ak, k = 0, 1, . . . , m,koje treba odrediti prema nekom kriterijumu, tj.

φ(x) = φ(x; a0, a1, . . . , am) (4.3)

Page 72: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

74 4 Interpolacija i aproksimacija funkcija

Dakle, problem aproksimacije funkcije f(x) funkcijom φ(x) se svodi na izboroblika funkcije φ(x) i određivanje parametara ak, k = 0, 1, . . . ,m, po nekomkriterijumu.

Za funkciju φ(x) zapisanu u obliku (4.3) kažemo da ima opšti oblik apro-ksimacione funkcije ili tzv. generalisani polinom. Postoji veliki broj funkcijakoje se mogu koristiti kao aproksimacione, ali se sve (grubo) mogu podijelitina linearne i nelinearne. Najčešće korištene linearne aproksimacione funkcijesu algebarski polinomi, trigonometrijski polinomi, te tzv. polinomi po dijelo-vima (linearni, kubni, splajn funkcije, itd.), dok su eksponencijalne i racionalneaproksimacije oblici nelinearnih aproksimacionih funkcija.

Za određivanje aproksimacionih funkcija, postoje dva fundamentalno razli-čita pristupa:

1. interpolacija, i

2. aproksimacija.

Kod interpolacije se zahtijeva da se vrijednosti funkcija f i φ podudaraju nanekom konačnom skupu argumenata, odnosno tačaka (vidi sliku 4.1a). Drugimriječima, funkcije f i φ se podudaraju u svim tačkama u kojima je poznatafunkcija f . Pri tome se u tim tačkama mogu, ali i ne moraju, poklapati vrijed-nosti nekih derivacija. Nasuprot tome, aproksimacijom se dolazi do funkcijakoje aproksimiraju grupu podataka na najbolji mogući način, bez obaveze daaproksimaciona kriva tačno prođe kroz sve zadate tačke (slika 4.1b).

x

y

Diskretne ta ke

a) b)

x

y

Diskretne ta ke

Slika 4.1: Približno predstavljanje podataka funkcijama: a) interpolacija, b)aproksimacija

Page 73: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Interpolacija polinomima 75

4.1 Interpolacija polinomima

Interpolacija polinomom predstavlja određivanje funkcije φ, koja za polinomn-tog reda ima sljedeći oblik:

φ(x) = Pn(x) = a0 + a1x + a2x2 + . . . + anx

n (4.4)

gdje n predstavlja red polinoma, a ai (i = 0, 1, . . . , n) su konstantni koefici-jenti. Za proces interpolacije pomoću polinoma veoma su bitne sljedeće dvijeteoreme:

• Weierstrassov aproksimacioni polinom: Ako je funkcija f(x) neprekidnana intervalu [a, b], tada za svako proizvoljno malo ε > 0 postoji polinomPn(x), kod kojeg vrijednost n zavisi od vrijednosti ε, tako da za svako xu intervalu [a, b] vrijedi

|Pn(x)− f(x)| < ε

• Teorem o jedinstvenosti rješenja: Polinom n-tog reda koji prolazi kroztačno (n + 1) različitih diskretnih tačaka je jedinstven.

Dakle, bilo koja funkcija se može interpolirati do željene ili tražene tačnostipolinomom dovoljno velikog reda. U narednim poglavljima date su neke odmetoda koje se koriste za izračunavanje koeficijenata interpolacionih polinoma.

4.1.1 Direktna metoda

Neka je dato (n + 1) tačaka [x0, f(x0)], [x1, f(x1)], . . . ,[xn, f(xn)], koje mo-žemo pisati i u obliku (x0, y0), (x1, y1), . . . ,(xn, yn), pri čemu razmak izmeđupojedinih tačaka (u odnosu na vrijednost x) može biti jednak ili nejednak.Problem se svodi na određivanje jedinstvenog polinoma n-tog reda, datog iz-razom (4.4), koji prolazi kroz sve date tačke. Uvrštavajući svaki podatak u(4.4) dobiva se sistem od (n + 1) jednačina sa (n + 1) nepoznatih koeficijenataai (i = 0, 1, . . . , n), tj.:

y0 = a0 + a1x0 + a2x20 + . . . + anx

n0

y1 = a0 + a1x1 + a2x21 + . . . + anx

n1

y2 = a0 + a1x2 + a2x22 + . . . + anx

n2

. . . . . . . . . . . . . . . . . . . . .

yn = a0 + a1xn + a2x2n + . . . + anx

nn

(4.5)

Page 74: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

76 4 Interpolacija i aproksimacija funkcija

Determinanta sistema jednaka je:∣∣∣∣∣∣∣∣∣∣

1 x0 x20 . . . xn

0

1 x1 x21 . . . xn

1

1 x2 x22 . . . xn

2...

...... . . . ...

1 xn x2n . . . xn

n

∣∣∣∣∣∣∣∣∣∣

(4.6)

i naziva se Vandermondeova determinanta. Može se pokazati da je vrijednostdeterminante različita od nule ako su xi (i = 0, 1, . . . , n) međusobno razli-čiti [7]. Prema tome, sistem (4.5) ima jedinstveno rješenje, tj. postoji tačnojedan polinom Pn stepena ne većeg od n koji prolazi kroz svih (n + 1) tačaka.Dati sistem jednačina može se riješiti nekom od metoda koje su objašnjene upoglavlju 3.

Primjer 4.1

Primjenu procesa interpolacije pomoću direktne metode prikazati na primjerufunkcije f(x) = 1/x, koristeći podatake u tabeli 4.1. Interpolirati vrijednostza x = 3.44, koristeći linearnu, kvadratnu i kubnu interpolacionu formulu.

Tabela 4.1: Uz primjer 4.1x 3.35 3.40 3.50 3.60

f(x) 0.298507 0.294118 0.285714 0.277778

Rješenje

Tačna vrijednost funkcije u datoj tački je:

f(3.44) =1

3.44= 0.290698 (4.7)

Interpolacione vrijednosti se dobivaju kako slijedi:

• U slučaju linearne aproksimacije tražimo polinom oblika:

P1(x) = a + bx (4.8)

Uzimamo dvije tačke (drugu i treću, jer se zadata tačka nalazi izmeđunjih), tj. x0 = 3.40 i x1 = 3.50, pa se prema (4.5) dobiva sljedeći sistemjednačina:

0.294118 = a + b(3.40)

0.285714 = a + b(3.50)(4.9)

Page 75: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Interpolacija polinomima 77

Sistem jednačina (4.9) ima rješenje a = 0.579854 i b = −0.08404, štodovodi do polinoma:

P1(x) = 0.579854− 0.08404x (4.10)

Uvrštavajući vrijednost x = 3.44 u prethodni polinom dobivamo:

P1(3.44) = 0.579854− 0.08404 · 3.44 = 0.290756 (4.11)

• Za kvadratnu interpolaciju imamo oblik polinoma drugog reda:

P2(x) = a + bx + cx2 (4.12)

i uzimamo tri tačke iz tabele 4.1, na primjer, x0 = 3.35, x1 = 3.4, x2 =3.5. Ako polinom (4.12) primijenimo na svaku od datih tačaka, dobivamosljedeći sistem jednačina:

0.298507 = a + b(3.35) + c(3.35)2

0.294118 = a + b(3.40) + c(3.40)2

0.285714 = a + b(3.50) + c(3.50)2

(4.13)

Sistem jednačina (4.13) se može riješiti nekom od metoda pokazanih uprethodnom poglavlju (npr. Gaussova metoda eliminacije), tako da sedobiva sljedeći polinom:

P2(x) = 0.876561− 0.256080x + 0.0249333x2 (4.14)

Uvrštavajući vrijednost x = 3.44 u prethodni polinom dobivamo:

P2(3.44) = 0.876561− 0.256080 · 3.44 + 0.0249333 · 3.442

= 0.290697(4.15)

• U slučaju kubnog interpolacionog polinoma (polinom trećeg reda), neop-hodne su nam sve četiri zadate tačke, pa se dobiva sljedeći sistem jedna-čina:

0.298507 = a + b(3.35) + c(3.35)2 + d(3.35)3

0.294118 = a + b(3.40) + c(3.40)2 + d(3.40)3

0.285714 = a + b(3.50) + c(3.50)2 + d(3.50)3

0.277778 = a + b(3.60) + c(3.60)2 + d(3.60)3

(4.16)

sa konačnim rješenjem u obliku kubnog polinoma:

P3(x) = 1.121066− 0.470839x + 0.0878x2 − 0.00613333x3 (4.17)

Page 76: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

78 4 Interpolacija i aproksimacija funkcija

odnosno, uvrštavajući vrijednost x = 3.44

P3(3.44) = 0.290698 (4.18)

Poredeći dobivene rezultate s tačnim rješenjem dobivaju se sljedeće veličinegrešaka:

P (3.44) =0.290756 linearni Greška = 0.000058

=0.290697 kvadratni =−0.000001

=0.290698 kubni = 0.000000

čime se pokazuje prednost korištenja polinoma višeg reda za ovaj konkretanprimjer.

4.1.2 Lagrangeov interpolacioni polinom

Kao što se moglo vidjeti u prethodnom dijelu, direktna metoda je veoma jed-nostavna po svom principu. Međutim, ona ima i mnogo loših osobina, međukojima prednjači znatno vrijeme koje je potrebno za određivanje koeficijenatapolinoma. Osim toga, za polinome višeg reda (n > 4) sistem jednačina možebiti slabo podešen, što može da uzrokuje veliku grešku u procjeni koeficijenatainterpolacionog polinoma.

Alternativa direktnoj metodi je upotreba Lagrangeovih interpolacionih po-linoma. Ovaj postupak se, također, može koristiti za interpolaciju podataka sjednakim i nejednakim razmacima između tačaka. Posmatrajmo, na primjer,slučaj s dva podatka [a, f(a)] i [b, f(b)]. Linearni Lagrangeov polinom kojitačno prolazi kroz obje tačke dat je izrazom:

P1(x) =(x− b)

(a− b)f(a) +

(x− a)

(b− a)f(b) (4.19)

što je lako pokazati. U slučaju tri zadate tačke, [a, f(a)], [b, f(b)] i [c, f(c)],polinom ima oblik:

P2(x) =(x− b)(x− c)

(a− b)(a− c)f(a) +

(x− a)(x− c)

(b− a)(b− c)f(b)

+(x− a)(x− b)

(c− a)(c− b)f(c)

(4.20)

Slično prethodnom slučaju, lako je pokazati da dobiveni polinom prolazi krozsve tri zadate tačke.

Page 77: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Interpolacija polinomima 79

Općenito, gore sprovedena procedura može se primijeniti za bilo koji skupod (n + 1) tačaka, koji će dati polinom n-tog reda. U tom slučaju, za (n + 1)tačku [x0, f(x0)], [x1, f(x1)], . . . , [xn, f(xn)], imamo:

Pn(x) =(x− x1)(x− x2) . . . (x− xn)

(x0 − x1)(x0 − x2) . . . (x0 − xn)f(x0)

+(x− x0)(x− x2) . . . (x− xn)

(x1 − x0)(x1 − x2) . . . (x1 − xn)f(x1)

+ . . . +(x− x0)(x− x1) . . . (x− xn−1)

(xn − x0)(xn − x1) . . . (xn − xn−1)f(xn)

(4.21)

ili u nešto drugačijem obliku:

Pn(x) = L0(x)f(x0) + L1(x)f(x1) + . . . + Ln(x)f(xn)

=n∑

k=0

Lk(x)f(xk)(4.22)

gdje

Lk(x) =(x− x0) . . . (x− xk−1)(x− xk+1) . . . (x− xn)

(xk − x0) . . . (xk − xk−1)(xk − xk+1) . . . (xk − xn)

=n∏

i=0i6=k

x− xi

xk − xi

(k = 0, 1, . . . , n)(4.23)

predstavljaju tzv. Lagrangeove polinome.Vidi se da za određivanje Lagrangeovog interpolacionog polinoma nema po-

trebe za rješavanjem sistema jednačina, ali je, ipak, neophodno znatno ra-čunarsko vrijeme za dobivanje njegovih koeficijenata. Način određivanja La-grangeovog interpolacionog polinoma je znatno drugačiji od onog dobivenogdirektnom metodom, ali po teoremu jedinstvenosti rješenja, obje metode dajuisto rješenje.

Slično direktnoj metodi, i ova metoda ima jednostavnu primjenu. Ipak, zaveći broj tačaka, odnosno polinome višeg reda, potrebno je znatno vrijeme zaračunanje koeficijenata polinoma, pa se u tu svrhu koriste specijalni algoritmi,kao Nevillov algoritam i razlika dividendi, koji se mogu naći u literaturi [5,10].

Primjer 4.2

Primjer 4.1 riješiti pomoću Lagrangeovog interpolacionog polinoma koristećilinearnu, kvadratnu i kubnu interpolaciju.

Page 78: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

80 4 Interpolacija i aproksimacija funkcija

Rješenje

Najprije ćemo odrediti interpolacioni polinom prvog reda, koristeći drugu itreću tačku iz tabele 4.1. Prema izrazu (4.19) imamo:

P1(x) =(x− 3.50)

(3.40− 3.50)0.294118 +

(x− 3.40)

(3.50− 3.40)0.285714

= 0.579854− 0.08404x

(4.24)

Za polinom drugog reda, koristimo prve tri tačke iz tabele 4.1 i izraz (4.20),pa je:

P2(x) =(x− 3.40)(x− 3.50)

(3.35− 3.40)(3.35− 3.50)0.298507

+(x− 3.35)(x− 3.50)

(3.40− 3.35)(3.40− 3.50)0.294118

+(x− 3.35)(x− 3.40)

(3.50− 3.35)(3.50− 3.40)0.285714

= 0.876561− 0.256080x + 0.0249333x2

(4.25)

Za dobivanje polinoma trećeg reda koristimo opštu formulu (4.22), pri čemuje n = 3. U tu svrhu, koriste se sve četiri tačke iz tabele 4.1. Može se pokazatida je konačno rješenje:

P3(x) = 1.121066− 0.470839x + 0.0878x2 − 0.00613333x3 (4.26)

Vidi se da su sva rješenja jednaka onim dobivenim u primjeru 4.1, što se imoglo očekivati s obzirom na teorem jedinstvenosti polinoma.

4.1.3 Newtonovi interpolacioni polinomi

Jedan od oblika polinoma n-tog reda koji prolazi kroz (n + 1) tačaka (xi, fi),i = 0, 1, . . . , n, je i:

Pn(x) = f0 +

(s

1

)∆f0 +

(s

2

)∆2f0 + . . . +

(s

n

)∆nf0 (4.27)

gdje je parametar s, tzv. interpolaciona promjenljiva, dat izrazom:

s =x− x0

hčime je x = x0 + sh (4.28)

Page 79: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Interpolacija polinomima 81

h = xi+1 − xi korak, a razlike ∆f0, ∆2f0, . . . , su date izrazima:

∆f0 = f1 − f0

∆2f0 = ∆f1 −∆f0 = f2 − 2f1 + f0

. . . . . .

∆nf0 = ∆n−1f1 −∆n−1f0 =n∑

i=0

(−1)i+n

(n

i

)fi

(4.29)

Ove razlike se mogu dobiti i pomoću tzv. tabele podijeljenih razlika. Jednatakva tabela za četiri vrijednosti funkcije data je na slici 4.2, pri čemu vri-jednost svakog člana tabele s predznakom ∆ predstavlja razliku dvije najbliževrijednosti s lijeve strane, kao što je to dato i izrazima (4.29).

xi fi ∆fi ∆2fi ∆3fi

x0 f0

∆f0

x1 f1 ∆2f0

∆f1 ∆3f0

x2 f2 ∆2f1

∆f2

x3 f3

Slika 4.2: Tabela podijeljenih razlika

Polinom predstavljen jednačinom (4.27) naziva se prvi Newtonov interpola-cioni polinom, ili Newtonov interpolacioni polinom za diferenciranje unaprijed.Ovaj polinom uopšte ne liči ni na jedan od polinoma koji su dati u poglavlju oaproksimacionim funkcijama, ali ipak ima osobinu da prolazi kroz svih (n+1)zadatih tačaka. Imajući u vidu teorem o jedinstvenosti rješenja, on predstavljaželjeni jedinstveni aproksimacioni polinom.

Primjer 4.3

Koristeći prvi Newtonov interpolacioni polinom izračunati vrijednost funkcijef(x) = 1/x u tački za x = 3.44. U tu svrhu koristiti tabelu podijeljenih razlikadatu na slici 4.3.

Page 80: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

82 4 Interpolacija i aproksimacija funkcija

xi fi ∆fi ∆2fi ∆3fi ∆4fi

3.1 0.322581

-0.010081

3.2 0.312500 0.000611

-0.009470 -0.000053

3.3 0.303030 0.000558 0.000003

-0.008912 -0.000050

3.4 0.294118 0.000508 0.000010

-0.008404 -0.000040

3.5 0.285714 0.000468 0.000000

-0.007936 -0.000040

3.6 0.277778 0.000428 0.000008

-0.007508 -0.000032

3.7 0.270270 0.000396 0.000000

-0.007112 -0.000032

3.8 0.263158 0.000364

-0.006748

3.9 0.256410

Slika 4.3: Tabela podijeljenih razlika za primjer 4.3

Rješenje

Prema podacima na slici 4.3, imamo da je x0 = 3.40, te h = xi+1−xi = 0.1,pa je:

s =x− x0

h=

3.44− 3.40

0.1= 0.4 (4.30)

Iz izraza (4.27) se direktno dobiva:

P (3.44) = f(3.4) + s∆f(3.4) +s(s− 1)

2!∆2f(3.4)

+s(s− 1)(s− 2)

3!∆3f(3.4) + . . .

(4.31)

Page 81: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Interpolacija polinomima 83

te uvodeći brojne vrijednosti u (4.31):

P (3.44) = 0.294118 + 0.4(−0.008404)

+0.4(0.4− 1)

2(0.000468)

+0.4(0.4− 1)(0.4− 2)

3!(−0.000040) + . . .

(4.32)

Uzimajući u obzir samo prva dva člana dobiva se linearna interpolacija. Doda-vajući i treći član dobiva se kvadratna, a uzmajući u obzir prva četiri člana po-linoma u izrazu (4.32) dobiva se kubna interpolacija, pa su vrijednosti funkcijeza zadatu tačku i odgovarajuća greška (uz tačno rješenje f(3.44) = 0.290698):

P (3.44) =0.290756 linearni Greška =0.000058

=0.290700 kvadratni =0.000002

=0.290698 kubni =0.000000

Rješenje za linearnu i kubnu interpolaciju je potpuno isto kao i u primjerima4.1 i 4.2, dok je u slučaju kvadratne aproksimacije rezultat nešto drugačiji,s obzirom da u razmatranje nisu uzete iste tačke. No, i ovdje se vidi da sepovećanjem reda polinoma znatno povećava tačnost.

U prethodnom primjeru smo kao početnu tačku uzeli tačku x0 = 3.4, takoda tražena vrijednost x = 3.44 pada u posmatrani opseg i imamo proces inter-polacije (na primjer, za linearni polinom vrijedi x = 3.44 ∈ (3.4, 3.5)). Ako,pak, želimo izračunati vrijednost funkcije za x = 3.44, ali kao početnu tačku uz-memo x0 = 3.1, onda za linearnu, kvadratnu i kubnu interpolaciju (uzimajućiredom potrebne tačke sa slike 4.3), tražena vrijednost ne pripada posmatra-nim intervalima, pa imamo ekstrapolaciju. U tom slučaju, za x0 = 3.1, imamos = 3.4 i dobiva se:

P (3.44) =0.288306 linearni Greška =−0.002392

=0.290798 kvadratni = 0.000100

=0.290698 kubni = 0.000000

Vidimo da je greška za linearnu i kvadratnu ekstrapolaciju znatno veća negoza slučaj interpolacije u prethodna dva primjera, dok kubna dovodi do greškeinterpolacionog polinoma.

Prvi Newtonov interpolacioni polinom se koristi za interpolaciju podatakakoji se nalaze s početka ili u sredini zadate grupe podataka. U slučaju kada je

Page 82: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

84 4 Interpolacija i aproksimacija funkcija

neophodno interpolirati vrijednosti podataka koji su dati na kraju grupe (naprimjer za vrijednost x0 = 3.85 u prethodnom primjeru), neophodne razlikeunaprijed ne postoje, pa se koristi tzv. drugi Newtonov interpolacioni polinomili Newtonov interpolacioni polinom za diferenciranje unazad. Drugi Newtonovinterpolacioni polinom dat je izrazom:

Pn(x) = f0 +

(s+

1

)∆f0 +

(s+

2

)∆2f0 + . . . +

(s+

n

)∆nf0 (4.33)

pri čemu je:(

s+

i

)=

s(s + 1)(s + 2) · · · (s + [i− 1])

i!(4.34)

a ostale oznake su kao u prethodnom slučaju.

Primjer 4.4

Koristeći drugi Newtonov interpolacioni polinom izračunati vrijednost funkcijef(x) = 1/x u tački za x = 3.44 (tačno rješenje je x = 0.290698 . . .). Kaopočetnu vrijednost uzeti x0 = 3.5.

Rješenje

Prema podacima na slici 4.3, h = 0.1 i uz x0 = 3.5, imamo:

s =x− x0

h=

3.44− 3.50

0.1= −0.6 (4.35)

Iz izraza (4.33) se direktno dobiva:

P (3.44) = f(3.5) + s∆f(3.5) +s(s + 1)

2!∆2f(3.5)

+s(s + 1)(s + 2)

3!∆3f(3.5) + . . .

(4.36)

te uvodeći brojne vrijednosti u (4.36):

P (3.44) = 0.285714 + (−0.6)(−0.008404)

+(−0.6)(−0.6 + 1)

2(0.000508)

+(−0.6)(−0.6 + 1)(−0.4 + 2)

3!(−0.000050) + . . .

(4.37)

Page 83: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Aproksimacija funkcija 85

Slično korištenju izraza (4.32) vrijednosti funkcije za zadatu tačku i odgovara-juće greške za sva tri slučaja su:

P (3.44) =0.290756 linearni Greška = 0.000058

=0.290695 kvadratni =−0.000003

=0.290698 kubni = 0.000000

4.1.4 Greška interpolacije

Kao što je poznato, interpolacioni polinom se s datom funkcijom poklapa usvim čvornim tačkama. Međutim, to ne znači da se i vrijednosti funkcije iz-među čvornih tačaka dobro poklapaju s interpolacionim polinomom. Razlikaizmeđu vrijednosti polinoma i funkcije, koju dati polinom interpolira, predstav-lja grešku interpolacije. Može se pokazati da je ova greška interpolacije, Rn(x),za neku neprekidnu i diferencijabilnu funkciju do reda (n+1) na intervalu [a, b]data izrazom:

Rn(x) = f(x)− Pn(x) = ψ(x)f (n+1)(ξ)

(n + 1)!(4.38)

gdje je:

ψ(x) =n∏

i=0

(x− xi) i ξ ∈ (a, b) (4.39)

Formula (4.38) ima ograničenu praktičnu vrijednost, s obzirom da se rijetkopoznaje f (n+1), a gotovo nikada ξ. Ipak, formula ima teoretsku vrijednost uprocjeni greške kod numeričkog diferenciranja i integriranja.

4.2 Aproksimacija funkcija

Posmatrajmo, na primjer, grupu od N diskretnih tačaka [xi, Y (xi)] = (xi, Yi),i = 1, 2, . . . , N i aproksimacioni polinom y(x) koji je izabran da predstavi ovepodatke, kao što je prikazano na slici 4.4. Pri tome, diskretne tačke mogu,ali i ne moraju da leže na krivoj y(x). Osnovna ideja određivanja aproksi-macione funkcije zasniva se na minimiziranju devijacija (razmaka) tačaka odaproksimacionog polinoma. Pri tome, može se pretpostaviti da su vrijednostinezavisne promjenljive xi tačne, a da devijacija zavisi od zavisno promjenljiveYi. Tada je devijacija ei razlika između Yi i yi = f(xi), tj.

ei = Yi − yi (4.40)

Page 84: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

86 4 Interpolacija i aproksimacija funkcija

x

y(x)

Yi(xi)

Diskretne ta ke

y(x) Yi

xi

ei

Slika 4.4: Grafička interpretacija aproksimacije

Proces minimiziranja se može izvršiti na različite načine, ali se u tu svrhunajčešće koristi metoda najmanjih kvadrata.

4.2.1 Metoda najmanjih kvadrata

Metoda najmanjih kvadrata zasniva se na minimiziranju zbira kvadrata razlikaei = Yi − yi, tj. na minimiziranju funkcije S, koja je data izrazom:

S =N∑

i=1

(ei)2 =

N∑i=1

(Yi − yi)2 (4.41)

Pri tome, aproksimaciona funkcija y(x) može biti linearna ili nelinearna (pritome se naziv linearan odnosi na linearnost po parametrima, a ne nezavisnimveličinama). Primjer linearne funkcije je polinom n-tog reda.

Aproksimacija polinomom

Neka je dato N tačaka (xi, Yi), i = 1, 2, . . . , N , koje treba aproksimirati poli-nomom n-tog reda:

y = a0 + a1x + a2x2 + . . . + anx

n (4.42)

Page 85: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Aproksimacija funkcija 87

Zbir kvadrata devijacija prema izrazu (4.41) je:

S(a0, a1, a2, . . . , an) =N∑

i=1

(ei)2 =

N∑i=1

(Yi − yi)2

=N∑

i=1

(Yi − a0 − a1xi − . . .− anxni )2

(4.43)

Potreban uslov za postojanje ekstrema (time i minimuma) ove funkcije s višenepoznatih je:

∂S

∂ak

=N∑

i=1

2(Yi−a0−a1xi− . . .−anxni )(−xk

i ) = 0 (k = 0, 1, . . . , n) (4.44)

Na taj način se dobiva sistem od (n + 1) linearnih jednačina koji nakon pre-uređivanja ima oblik:

a0N + a1

N∑i=1

xi + . . . + an

N∑i=1

xni =

N∑i=1

Yi

a0

N∑i=1

xi + a1

N∑i=1

x2i + . . . + an

N∑i=1

xn+1i =

N∑i=1

xiYi

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a0

N∑i=1

xni + a1

N∑i=1

xn+1i + . . . + an

N∑i=1

x2ni =

N∑i=1

xni Yi

(4.45)

Sistem jednačina (4.45) može se riješiti nekom od metoda za rješavanje sistemalinearnih algebarskih jednačina.

Na osnovu izraza (4.45), lako je pokazati da se u slučaju aproksimacijelinearnom funkcijom y = a + bx dobiva sljedeći sistem jednačina:

aN + b

N∑i=1

xi =N∑

i=1

Yi

a

N∑i=1

xi + b

N∑i=1

x2i =

N∑i=1

xiYi

(4.46)

koji se vrlo lako može riješiti. Aproksimacija polinomom prvog reda se naj-češće koristi u praksi. Pri korištenju polinoma višeg reda mogu se pojaviti pro-blemi, jer sistem jednačina (4.45) može biti slabo podešen. Ipak, skaliranjem

Page 86: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

88 4 Interpolacija i aproksimacija funkcija

jednačina i korištenjem dvostruke preciznosti ovi problemi se mogu prevazići.Polinomi do 6-tog reda obično daju vrlo dobre rezultate, dok vrijednosti zan od 6 do 10 mogu, ali i ne moraju dovesti do dobrih rezultata. Vrijednostin > 10 općenito vode lošim rezultatima. Slaba podešenost sistema jednačinamože se prevazići korištenjem nekih drugih oblika linearne aproksimacije, kaošto su, na primjer, Čebiševljevi polinomi i mogu se naći u literaturi (npr. [6,7]).

Primjer 4.5

U tabeli 4.2 date su vrijednosti specifične toplote zraka pri konstantnom priti-sku, Cp, za visoke temperature, u zavisnosti od temperature zraka, T . Koris-teći metodu najmanjih kvadrata potrebno je odrediti aproksimacioni polinomdrugog reda koji je dat u obliku:

Cp = a + bT + cT 2 (4.47)

Tabela 4.2: Uz primjer 4.5

T , K Cp, kJ/kg K Cp, kJ/kg K Rel. greška, %

1000 1.1410 1.1427 0.15

1500 1.2095 1.2059 0.29

2000 1.2520 1.2522 0.02

2500 1.2782 1.2815 0.26

3000 1.2955 1.2938 0.13

Rješenje

Koristeći izraze (4.45) za n = 3 dobiva se sljedeći sistem jednačina:

5a + b

5∑i=1

Ti + c

5∑i=1

Ti2 =

5∑i=1

Cp,i

a

5∑i=1

Ti + b

5∑i=1

Ti2 + c

5∑i=1

Ti3 =

5∑i=1

TiCp,i

a

5∑i=1

Ti2 + b

5∑i=1

Ti3 + c

5∑i=1

Ti4 =

5∑i=1

Ti2Cp,i

(4.48)

Page 87: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Aproksimacija funkcija 89

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:

5a + 10 · 103b + 22.5 · 106c = 6.1762

10 · 103a + 22.5 · 106b + 55 · 109c = 12.5413 · 103

22.5 · 106a + 55 · 109b + 142.125 · 1012c = 288.5186 · 106

(4.49)

Koristeći neku od metoda za rješavanje sistema linearnih jednačina dobiva se:

Cp = 0.965460 + 0.211197 · 10−3T − 0.0339143 · 10−6T 2 (4.50)

U tabeli 4.2 date su i vrijednosti dobivene izrazom (4.50), Cp, te relativnegreške aproksimacije, dok je na slici 4.5 dat grafički prikaz podataka i aproksi-macione funkcije. Vidi se da dobijeni aproksimacioni polinom dobro aproksi-mira date vrijednosti specifične toplote zraka pri konstantom pritisku u zavis-nosti od temperature zraka.

750 1000 1250 1500 1750 2000 2250 2500 2750 3000 3250

Temperatura, K

1

1.05

1.1

1.15

1.2

1.25

1.3

1.35

1.4

Cp,

kJ/k

g K

aproksimaciona funkcijapodaci iz tabele

Slika 4.5: Zavisnost specifične toplote od temperature - uz primjer 4.5

Nelinearna aproksimacija

U mnogim inženjerskim problemima fizikalne osobine nekih procesa navode nasna korištenje drugih oblika aproksimacionih funkcija, kao što su na primjer lo-garitamske, eksponencijalne, i sl. U tim slučajevima, metoda najmanjih kvad-rata vodi do sistema jednačina koji je nelinearan, pa je traženje koeficijenata

Page 88: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

90 4 Interpolacija i aproksimacija funkcija

takvih funkcija otežano. Ipak, ponekad je nelinearni aproksimacioni problemmoguće svesti na linearan koristeći pogodne smjene.

Posmatrajmo stepenu funkciju koja se često koristi za opisivanje fizikalnihprocesa:

y = axb (4.51)

Logaritmiranjem gornjeg izraza dobiva se:

ln y = ln a + b ln x (4.52)

i uvođenjem smjena Y = ln y, A = ln a, X = ln x i B = b, problem se svodi naaproksimaciju polinomom prvog reda:

Y = A + Bx (4.53)

Pored prethodne, često se koristi i eksponencijalna funkcija (na primjer,kriva napon-naprezanje za nelinearne materijale):

y = aebx (4.54)

koja se može nakon logaritmiranja svesti na oblik linearne funkcije:

ln y = ln a + bx ⇒ Y = A + Bx (4.55)

Postoji i niz drugih funkcija koje se mogu koristiti u ovu svrhu. Koja odnjih je najpodesnija, zavisi od prirode fizikalnog procesa koji se opisuje. U tusvrhu nam može pomoći i grafičko predstavljanje podataka u Descartesovomili nekom specijalnom koordinatnom sistemu (logaritamski, polulogaritamski,itd.).

Primjer 4.6

Podatke date u tabeli 4.3 aproksimirati pomoću nelinearne relacije date jed-načinom:

y = aebx (4.56)

Tabela 4.3: Uz primjer 4.6x 0 1 2 3 4y 3 6 12 24 48

Y = ln(y) 1.098612 1.791759 2.484907 3.178053 3.871201

Page 89: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 91

Rješenje

Prema izrazu (4.55), trebamo prvo odrediti ln y (dato u tabeli 4.3), a ondaproblem svesti na određivanje aproksimacione funkcije Y = A + Bx, pri čemuje Y = ln y, A = ln a i B = b. Na taj način dobivamo sistem jednačina:

5A + B

5∑i=1

xi =5∑

i=1

Yi

A

5∑i=1

xi + B

5∑i=1

xi2 =

5∑i=1

xiYi

(4.57)

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:

8A + 10B = 12.424533

10A + 30B = 31.780538(4.58)

Koristeći neku od metoda za rješavanje sistema linearnih jednačina dobiva se:

Y = A + Bx = 1.09861 + 0.69315x (4.59)

odnosno, koristeći smjene:

y = aebx = eAeBx = e1.09861e0.69315x = 3e0.69315x (4.60)

Posljednja jednakost se može predstaviti i u obliku:

y = 3e0.69315x = 3(e0.69315)x = 3 · 2x (4.61)

4.3 Pitanja i zadaci

1. Objasniti razliku između aproksimacije i interpolacije!

2. Navesti metode interpolacije!

3. Objasniti prednosti i mane direktne metode za interpolaciju funkcija!

4. Objasniti Lagrangeov interpolacioni polinom. Navesti njegove prednostii mane!

5. Objasniti upotrebu Newtonovih interpolacionih polinoma za interpolacijufunkcija!

Page 90: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

92 4 Interpolacija i aproksimacija funkcija

6. Navesti metode koje se koriste za aproksimaciju funkcija!

7. Objasniti metodu najmanjih kvadrata!

8. Objasniti metodu najmanjih kvadrata korištenjem linearne aproksimacije!

9. Objasniti metodu najmanjih kvadrata korištenjem nelinearne aproksima-cije!

10. Tabela 4.4 daje zavisnost specifične toplote zraka pri konstantnom priti-sku, Cp i entalpije, h, od temperature, T .

Tabela 4.4: Uz zadatak 10

T , K Cp, kJ/kg K h, kJ/kg T , K Cp, kJ/kg K h, kJ/kg

1000 1.1410 1047.248 1400 1.1982 1515.792

1100 1.1573 1162.174 1500 1.2095 1636.188

1200 1.1722 1278.663 1600 1.2197 1757.657

1300 1.1858 1396.578

Koristeći direktnu metodu, naći:

a) vrijednost Cp(1120) koristeći dvije tačke,

b) vrijednost Cp(1120) koristeći tri tačke,

c) vrijednost Cp(1480) koristeći dvije tačke,

d) vrijednost Cp(1480) koristeći tri tačke.

Kao početnu tačku koristiti onu koja je najbliža traženoj vrijednosti.

11. Zadatak 10 riješiti za h(T ) umjesto Cp(T )!

12. Zadatke 10 i 11 riješiti koristeći Lagrangeov interpolacioni polinom!

13. Zadatke 10 i 11 riješiti korištenjem prvog Newtonovog interpolacionogpolinoma!

14. Koristeći podatke za specifičnu toplotu zraka pri konstantnom pritisku,Cp, iz tabele 4.4 za 1000 ≤ T ≤ 1400, naći najbolju aproksimaciju poli-nomom prvog reda. Dati grešku za svaki tabelarni podatak.

15. Prethodni zadatak riješiti uzimajući u obzir sve podatke iz tabele 4.4.Rezultate uporediti s onim iz prethodnog primjera.

Page 91: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 93

16. Naći polinom četvrtog reda kao aproksimaciju podataka za specifičnu gus-tinu zraka pri konstantnom pritisku iz primjera 10, i dati grešku za svakitabelarni podatak.

17. Napisati program za izračunavanje kvadratne interpolacione funkcije zadate podatke, koristeći direktnu metodu!

18. Napisati program koji interpolira vrijednost grupe podataka, koristećiLagrangeov interpolacioni polinom!

19. Napisati program s metodom najmanjih kvadrata za slučaj polinoma pr-vog reda!

20. Koeficijent trenja za laminarno tečenje se može povezati s Raynoldsovimbrojem, Re, koristeći sljedeću relaciju:

f = aReb (4.62)

Koristeći podatke iz tabele 4.5, naći a i b koristeći metodu najmanjihkvadrata.

Tabela 4.5: Uz zadatak 20

Re 500 1000 1500 2000

f 0.0320 0.0160 0.0107 0.0080

Page 92: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0
Page 93: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 5

Numeričko diferenciranje iintegriranje

5.1 Numeričko diferenciranje

U mnogim inženjerskim problemima zahtijeva se izračunavanje izvoda (na pri-mjer, određivanje brzine ili ubrzanja na osnovu podataka o pređenom putu).Pri tome, funkcija koja se želi diferencirati može biti zadata nekim analitičkimizrazom, ali može biti i niz diskretnih podataka o nekom procesu, odnosno za-data tabelarno. Općenito, funkcije zadate (eksplicitnim) analitičkim izrazomse lako mogu diferencirati, dok je za one zadate nizom diskretnih podatakaneophodno koristiti numeričko diferenciranje.

5.1.1 Diferenciranje pomoću interpolacionih polinoma

Funkcija f(x), koja je zadata nizom diskretnih podataka, odnosno tabelarno,može se diferencirati diferenciranjem aproksimacionih funkcija koje su izvedeneu prethodnom poglavlju. Najprije se odredi funkcija φ(x) koja aproksimirafunkciju f(x), a zatim se izvrši njeno diferenciranje, tj. vrijedi:

d

dx(f(x)) ∼= d

dx(φ(x))

Za slučaj interpolacije polinom, dobiva se aproksimaciona funkcija oblika(4.4):

φ(x) = Pn(x) = a0 + a1x + a2x2 + . . . + anx

n

tako da je postupak diferenciranja veoma lagan.

Page 94: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

96 5 Numeričko diferenciranje i integriranje

Ipak, treba napomenuti da je ovakav proces diferenciranja veoma nestabilani netačan, i da mala odstupanja aproksimacione funkcije od stvarne, odnosno|f(x)−Pn(x)|, ne znače i mala odstupanja derivacija, odnosno |f ′(x)−P ′

n(x)|,kao što je to grafički prikazano na slici 5.1.

x

f(x)

x0 x1 x2

f(x)

Pn(x)

f’(x)

P’n(x)

Slika 5.1: Greška diferenciranja korištenjem aproksimacionog polinoma

Zbog toga se ovaj način diferenciranja veoma rijetko koristi, pa se koriste drugemetode za numeričko diferenciranje, kao što su formule za diferenciranje, kojesu objašnjene u sljedećem poglavlju.

Primjer 5.1

Za podatke u Tabeli 5.1, koji i u ovom primjeru predstavljaju funkciju f(x) =1/x, izračunati vrijednost prvog izvoda u tački x = 3.5, koristeći polinomdrugog reda.

Rješenje

Tačna vrijednost prvog izvoda u tački x = 3.5 je:

f ′(3.5) =

(1

x

)′= − 1

x2= − 1

3.52= −0.081633 . . .

Koeficijenti polinoma drugog reda, koje prolaze kroz sve tri zadate tačke,mogu se dobiti nekom od metoda opisanih u prethodnom poglavlju (direktna,

Page 95: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko diferenciranje 97

Tabela 5.1: Uz primjer 5.1

x 3.40 3.50 3.60

f(x) 0.294118 0.285714 0.277778

Lagrangeovi polinomi, Newtonovi interpolacioni polinomi). Na primjer, koris-teći direktnu metodu, imamo sistem:

0.294118 = a + b(3.40) + c(3.40)2

0.285714 = a + b(3.50) + c(3.50)2

0.277778 = a + b(3.60) + c(3.60)2

(5.1)

Koristeći neku od metoda za rješavanje sistema linearnih algebarskih jedna-čina, dobiva se: a = 0.858314, b = −0.2455 i c = 0.0234, odnosno:

P2(x) = 0.858314− 0.2455x + 0.0234x2

Sada je lako odrediti i prvi izvod:

P ′2(x) = −0.2455 + 0.0468x

pa je:

P ′2(3.5) = −0.2455 + 0.0468 · 3.5 = −0.0817

Na osnovu greške, |f(3.5)−Pn(3.5)| = 0.000067, možemo zaključiti da dobivenipolinom dobro aproksimira funkciju i u pogledu njenog prvog izvoda.

5.1.2 Formule za diferenciranje

Diferenciranje se može izvesti i pomoću formula za diferenciranje. Formuleza diferenciranje se mogu dobiti iz definicije izvoda neke funkcije f(x) u tačkix = xi:

f ′(xi) = limh→0

f(xi + h)− f(xi)

h(5.2)

gdje je h razmak između dvije susjedne tačke xi+1(= xi + h) i xi. Ako se sadauzme približna vrijednost izvoda u tački xi, dobiva se:

f ′(xi) ≈ f(xi + h)− f(xi)

h(5.3)

Page 96: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

98 5 Numeričko diferenciranje i integriranje

što predstavlja aproksimaciju prvog izvoda funkcije f(x). Ako se, pak, umjestoh u jednačini (5.3) uzme vrijednost −h dobiva se formula:

f ′(xi) ≈ f(xi)− f(xi − h)

h(5.4)

Izrazi (5.3) i (5.4) predstavljaju formule za diferenciranje unaprijed i una-zad, respektivno. Na slici 5.2 data je grafička interpretacija ovih formula, pričemu nagib linije t odgovara tačnom izvodu funkcije f(x) u tački C. Dakle,nagib linije t−, koja prolazi kroz tačke A i C, odgovara formuli za diferen-ciranje unazad, a nagib linije t+, koja prolazi kroz tačke C i B, formuli zadiferenciranje unaprijed.

x

f(x)

xi-1 xi xi+1

f (xi-h) f (xi)

A

f (xi+h)

B

C t

tc

t-

t+

Slika 5.2: Grafička interpretacija formula za diferenciranje

Iz slike se vidi da bi nagib linije koja prolazi kroz tačke A i B (linija tc) bilabolja aproksimacija izvoda funkcije f(x), a iznosi:

f ′(xi) ≈ f(xi + h)− f(xi − h)

2h(5.5)

Ovaj izraz predstavlja formulu za centralno diferenciranje.Na osnovu definicije drugog izvoda:

f ′′(xi) = limh→0

f ′(xi)− f ′(xi − h)

h(5.6)

i formule (5.3) dobiva se najjednostavnija formula za drugi izvod:

f ′′(xi) ≈ f(xi + h)− 2f(xi) + f(xi − h)

h2(5.7)

Page 97: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko diferenciranje 99

Do istih izraza, ali uz mogućnost procjene greške, može se doći i razvojemfunkcije f(x) u Taylorov red u okolini tačke xi:

f(x) = f(xi) + f ′(xi)(x− xi) +f ′′(xi)

2(x− xi)

2 + . . .

+f (n)(xi)

n!(x− xi)

n + . . .

(5.8)

odnosno zanemarivanjem članova višeg reda od prvog, za xi < ζ < xi + h,imamo

f(x) = f(xi) + f ′(xi)(x− xi) +f ′′(ζ)

2h2 (5.9)

Iz izraza (5.9) direktno se za x−xi = h (diferenciranje unaprijed) i x−xi =−h (diferenciranje unazad) dobiva, respektivno:

f ′(xi) ≈ f(xi + h)− f(xi)

h− h

2f ′′(ζ) (5.10)

f ′(xi) ≈ f(xi)− f(xi − h)

h− h

2f ′′(ζ) (5.11)

Za centralno diferenciranje, greška se dobiva ako se uzmu u obzir prva tri članau jednačini (5.8), tj.

za xi < ζ1 < xi + h

f(xi + h) = f(xi) + f ′(xi)h +f ′′(xi)

2h2 +

f ′′′(ζ1)

3!h3

za xi − h < ζ2 < xi

f(xi − h) = f(xi)− f ′(xi)h +f ′′(xi)

2h2 − f ′′′(ζ1)

3!h3

pa se oduzimanjem druge jednačine od prve dobiva:

f(xi + h)− f(xi − h)

2h= f ′(xi) + [f ′′′(ζ1) + f ′′′(ζ2)]

h2

12(5.12)

odnosno za ζ ∈ (ζ1, ζ2):

f ′(xi) =f(xi + h)− f(xi − h)

2h= f ′(xi)− f ′′′(ζ)

h2

6(5.13)

Page 98: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

100 5 Numeričko diferenciranje i integriranje

Na osnovu prethodnih izraza možemo zaključiti da je greška diskretizacijediferenciranjem unaprijed i unazad proporcionalna koraku h, dok je kod cen-tralnog proporcionalna kvadratu koraka h, što pokazuje da, ukoliko opada,greška kod centralnog diferenciranja opada mnogo brže nego je to slučaj s os-tala dva postupka. To je i razlog zbog kojeg se centralno diferenciranje trebakoristiti gdje je god to moguće.

Posljednji način određivanja formula za diferenciranje se često koristi i zaizvođenje aproksimacija tačnih izvoda, koji se javljaju u diferencijalnim jed-načinama. Također, metoda se može koristiti i za numeričko diferenciranjefunkcija više promjenljivih. Na kraju, treba naglasiti da postoji niz drugihformula za diferenciranje, koje se mogu izvesti na sličan način kao formule zadiferenciranje unaprijed, unazad i centralno diferenciranje (vidi npr. [10]).

Primjer 5.2

Koristeći podatke iz primjera 5.1 izračunati vrijednost prvog izvoda u tačkix = 3.5, koristeći formule za diferenciranje unaprijed, unazad i centralno dife-renciranje.

Rješenje

Kao i u prethodnom primjeru, tačna vrijednost prvog izvoda u tački x = 3.5je:

f ′(3.5) =

(1

x

)′= − 1

x2= − 1

3.52= −0.081633 . . .

Na osnovu formula (5.3), (5.4) i (5.5) dobiva se:

• diferenciranje unaprijed:

f ′(3.5) =f(3.6)− f(3.5)

3.6− 3.5=

0.277778− 0.285714

0.1= −0.07936

sa greškom | − 0.081633− (−0.07936)| = 0.002273

• diferenciranje unazad:

f ′(3.5) =f(3.5)− f(3.4)

3.5− 3.4=

0.285714− 0.294118

0.1= −0.08404

sa greškom | − 0.081633− (−0.08404)| = 0.002407

Page 99: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 101

• centralno diferenciranje:

f ′(3.5) =f(3.6)− f(3.4)

3.6− 3.4=

0.277778− 0.294118

0.2= −0.0817

sa greškom | − 0.081633− (−0.0817)| = 0.000067

Na osnovu dobivenih rezultata, vidi se da formula za centralno diferenciranjedaje najbolju aproksimaciju za posmatrani problem.

5.2 Numeričko integriranje

Veoma važno mjesto u mnogim inženjerskim problemima zauzima i numeričkointegriranje (na primjer, izračunavanje pređenog puta na osnovu zavisnostibrzine kretanja od vremena). Numerička integracija ili kvadratura (izraz do-lazi od činjenice da vrijednost određenog integrala predstavlja površinu ispodfunkcije, kao što je prikazano na slici 5.3), predstavlja izračunavanje integrala:

I =

∫ b

a

f(x) dx (5.14)

koristeći neku od formula koje aproksimiraju funkciju f(x). Pri tome, funkcijamože biti zadata eksplicitno ili kao niz diskretnih tačaka, odnosno tabelarno.U narednim poglavljima date su neke poznatije formule koje se koriste u ovusvrhu.

5.2.1 Integriranje pomoću interpolacionih polinoma

Slično numeričkom diferenciranju, najlakša procedura za numeričku integra-ciju, koja se može koristiti i za podatke s jednakim i nejednakim razmacimaizmeđu tačaka, je pomoću interpolacionih polinoma. U tom slučaju, funkcijaf(x), zadata analitičkim izrazom, za koju je teško ili nemoguće izračunati in-tegral, ili je predstavljena nizom diskretnih tačaka, može da se aproksimirapolinomom Pn(x):

f(x) ≈ Pn(x) = a0 + a1x + a2x2 + . . . (5.15)

a koeficijenti polinoma se mogu dobiti korištenjem neke od metoda za inter-polaciju ili aproksimaciju.

Page 100: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

102 5 Numeričko diferenciranje i integriranje

x

f(x)

a b

b

a

dxxfI )(

Slika 5.3: Grafička interpretacija integrala

Nakon dobivanja polinoma, i integriranja dobiva se:

I =

∫ b

a

f(x) dx ≈∫ b

a

Pn(x) dx =

(a0x + a1

x2

2+ . . .

)∣∣∣∣b

a

(5.16)

Primjer 5.3

Izračunati vrijednost određenog integrala

I =

∫ 3.9

3.1

1

xdx

koristeći podatke u Tabeli 5.2 i polinom drugog reda.

Tabela 5.2: Uz primjer 5.3

x 3.10 3.50 3.90

f(x) 0.32258065 0.28571429 0.25641026

Rješenje

Tačna vrijednost integrala je:

I =

∫ 3.9

3.1

1

xdx = ln(x)

∣∣∣∣3.9

3.1

= ln(3.9

3.1) = 0.22957444

Page 101: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 103

Koeficijenti polinoma drugog reda koji prolazi kroz sve tri zadate tačke, moguse dobiti nekom od metoda opisanih u prethodnom poglavlju (direktna, La-grangeovi polinomi, Newtonovi interpolacioni polinomi). Na primjer, koristećidirektnu metodu, imamo:

0.32258065 = a + b(3.10) + c(3.10)2

0.28571429 = a + b(3.50) + c(3.50)2

0.25641026 = a + b(3.90) + c(3.90)2

(5.17)

Koristeći neku od metoda za rješavanje sistema linearnih jednačina, dobiva se:a = 0.86470519, b = −0.24813896 i c = 0.02363228, odnosno:

P2(x) = 0.86470519− 0.24813896x + 0.02363228x2

Sada je lako odrediti i integral:

I =

∫ 3.9

3.1

P2(x) dx

= 0.86470519x− 0.1240698x2 + 0.0078776x3∣∣3.9

3.1

I = 0.22957974

Na osnovu greške, |0.22957974 − 0.22957444| = 0.0000053, možemo zaklju-čiti da dobiveni polinom dobro aproksimira funkciju u pogledu izračunavanjavrijednosti integrala između zadatih granica integracije.

5.2.2 Newton-Cotesove formule

Kao što je poznato, određivanje aproksimacionih funkcija zahtijeva jako mnogokompjuterskih resursa kada je neophodno odrediti veliki broj koeficijenata po-linoma. Kada se, pak, radi o funkciji ili nizu podataka s jednakim razmacimah (ekvidistantne tačke) onda je moguće koristiti neke druge, mnogo efikasnijemetode, kao što su Newton-Cotesove formule.

Do izraza za Newton-Cotesove formule se može doći na različite načine, ajedan od njih je korištenjem Newtonovog aproksimacionog polinoma za dife-renciranje unaprijed:

Pn(x) = f0 +

(s

1

)∆f0 +

(s

2

)∆2f0 + . . . +

(s

n

)∆nf0 + greška (5.18)

Page 102: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

104 5 Numeričko diferenciranje i integriranje

gdje je f0 = f(x0), h korak, s interpolaciona promjenljiva data izrazom:

s =x− x0

hčime je x = x0 + sh (5.19)

a ostali parametri, ∆f0, ∆2f0, itd. su objašnjeni u poglavlju 4.1.3 (izraz(4.29)). Greška je data izrazom:

greška =

(s

n + 1

)hn+1f (n+1)(ξ) x0 < ξ < xn (5.20)

Problem izračunavanja integrala (5.14):

I =

∫ b

a

f(x) dx

se svodi na na izračunavanje integrala:

I =

∫ b

a

f(x) dx ≈∫ b

a

Pn(x) dx (5.21)

Radi lakšeg računanja, polinom Pn(x) se može predstaviti u zavisnosti odaproksimacione promjenljive s, pa se smjenom promjenljivih dobiva:

I =

∫ b

a

f(x) dx ≈∫ b

a

Pn(x) dx = h

∫ s(b)

s(a)

Pn(s) ds (5.22)

gdje je iz (5.19):

dx = h ds (5.23)

a s(a) i s(b) su nove granice integracije. Ako se za x0 u polinomu Pn(x) izaberetačka x = a, koristeći izraz (5.19) dobiva se: s(a) = 0 i s(b) = (b − a)/h,odnosno

I =

∫ b

a

f(x) ≈∫ b

a

Pn(x) dx = h

∫ b−ah

0

Pn(x0 + sh) ds (5.24)

Zavisno od stepena polinoma n, mogu se dobiti različite Newton-Cotesoveformule; za n = 0, 1, 2, 3 dobivaju se tzv. pravilo pravougaonika, te trapezno,Simpsonovo 1/3 i Simpsonovo 3/8 pravilo, respektivno. U narednim dijelovimabiće objašnjeni trapezno i Simpsonovom 1/3 pravilo (pravilo pravougaonika,koje ima veliku grešku, neće se razmatrati, jer nije od praktične važnosti.)

Page 103: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 105

Trapezno pravilo

Trapezno pravilo za jedinični interval (dužine b − a = h) se dobiva kada se uizraz (5.22) uvrsti polinom prvog reda (n = 1), tj. imamo:

I =

∫ b−ah

0

P1(x0 + sh)ds = h

∫ 1

0

(f0 + s∆f0)ds (5.25)

= h

(sf0 +

s2

2∆f0

) ∣∣∣∣1

0

I = h(f0 +1

2∆f0) = h[f0 +

1

2(f1 − f0)]

pa izraz za trapeznu formulu za jedinični interval ima oblik:

I =h

2(f0 + f1) (5.26)

Opšti oblik trapezne formule koja se primjenjuje na interval [a, b] koji sedijeli na n > 1 dijelova ima oblik:

I =n−1∑i=0

1

2hi(fi + fi+1) (5.27)

Za ekvidistantne tačke vrijedi da je hi = h = (b− a)/n za i = 0, 1, . . . , n − 1,pa se izraz (5.27) svodi na:

I =n−1∑i=0

1

2h(fi + fi+1)

= h

(f0 + f1

2+

f1 + f2

2+ . . . +

fn−2 + fn−1

2+

fn−1 + fn

2

)

= h

(f0

2+ f1 + . . . + fn−1 +

fn

2

)=

b− a

n

[1

2(f0 + fn) +

n−1∑i=1

fi

]

I =b− a

2n

[f0 + fn + 2

n−1∑i=1

fi

]

(5.28)

Do sličnih izraza moglo se doći i preko grafičke interpretacije trapeznogpravila, koja je data na slici 5.4. Osjenčeni dio je površina trapeza stranicaf(a) i f(B) s visinom B−a i predstavlja aproksimaciju stvarne površine ispodkrive f(x) u intervalu [a,B]. Na taj način, ukupna površina ispod krive f(x)

Page 104: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

106 5 Numeričko diferenciranje i integriranje

x

f(x)

a bB

C

D

b

a

dxxfI )(

f(x)

Slika 5.4: Grafička interpretacija integrala

aproksimira se zbirom površina trapeza pojedinih segmenata, odakle i potičeime metode.

Koristeći izraz (5.20) dobiva se i greška trapeznog pravila:• za jedinični interval:

greška = h

∫ 1

0

s(s− 1)

2h2f ′′(ξ)ds

= − 1

12h3f ′′(ξ) = O(h3)

(5.29)

• za opšti interval [a, b]

greška =n−1∑i=0

− 1

12h3f ′′(ξ) = n[− 1

12h3f ′′(ξ)]

= − 1

12(b− a)h2f ′′(ξ) = O(h2)

(5.30)

Dakle, greška opšteg trapeznog pravila je drugog reda.

Primjer 5.4

Izračunati vrijednost određenog integrala

I =

∫ 3.9

3.1

1

xdx

pomoću trapeznog pravila koristeći jednu, dvije, i četiri podjele intervala.

Page 105: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 107

Tabela 5.3: Uz primjer 5.4

i 0 1 2 3 4

x 3.10 3.30 3.50 3.70 3.90

f(x) 0.32258065 0.30303030 0.28571429 0.27027027 0.25641026

Rješenje

S obzirom da je funkcija data jednačinom (f(x) = 1/x), podatke koji suneophodni za proračun dobivamo kreiranjem tabele 5.3. Kao i u prethodnompoglavlju, tačna vrijednost integrala je:

I =

∫ 3.9

3.1

1

xdx = ln(x)

∣∣∣∣3.9

3.1

= ln(3.9

3.1) = 0.22957444

U slučaju jednog intervala (izraz (5.26)) imamo:

I =

∫ 3.9

3.1

1

xdx ≈ b− a

2n(f0 + f1)

=0.8

2 · 1(0.32258065 + 0.25641026)

I = 0.23159636

pa je greška jednaka |0.23159636− 0.22957444|=0.00202192.Koristeći izraz (5.28) za dva intervala dobivamo:

I =

∫ 3.9

3.1

1

xdx ≈ b− a

2n(f0 + 2f1 + f2)

=0.8

2 · 2(0.32258065 + 2 · 0.28571429 + 0.25641026)

I = 0.23008389

sa greškom |0.23008389− 0.22957444|=0.00050945.Za četiri podjele, vrijednost integrala je:

I =

∫ 3.9

3.1

1

xdx ≈ b− a

2n(f0 + 2(f1 + f2 + f3) + f4)

=0.8

2 · 4(0.32258065 + 2(0.30303030 + 0.28571429

+ 0.27027027) + 0.25641026)

I = 0.22970206

Page 106: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

108 5 Numeričko diferenciranje i integriranje

pri čemu je greška sada jednaka |0.22970206− 0.22957444|=0.00012762.Upoređujući greške integracije za različite podjele intervala, možemo zaklju-

čiti da se povećanjem broja podjela, odnosno smanjenjem koraka h, povećavai tačnost izračunavanja.

Simpsonovo 1/3 pravilo

Simpsonovo 1/3 pravilo se dobiva kada se tri ekvidistantne tačke aproksimirajupolinomom drugog reda, tj. kada se u izrazu (5.22) uvrsti n = 2. S obziromda se jedinični interval sastoji od tri ekvidistantne tačke ((b − a)/h = 2) zajedinični interval imamo:

I =

∫ b−ah

0

P2(x0 + sh)ds = h

∫ 2

0

[f0 + s∆f0 +

s(s− 1)

2∆2f0

]ds (5.31)

Nakon izvršavanja integracije, te zamjene za vrijednosti ∆f0 i ∆2f0, za jediničniinterval se može dobiti:

I =1

3h(f0 + 4f1 + f2) (5.32)

pri čemu je h = (b− a)/2. Na osnovu prethodnog izraza može se dobiti opštiizraz za Simpsonovo 1/3 pravilo za n > 1, tj. h = (b− a)/(2n):

I =h

3

[f0 + f2n + 4

n−1∑i=0

f2i+1 + 2n−1∑i=1

f2i

]

=b− a

6n

[f0 + f2n + 4

n−1∑i=0

f2i+1 + 2n−1∑i=1

f2i

] (5.33)

Analogno proračunu za trapezno pravilo, greška za Simpsonovo 1/3 praviloza jedinični interval je:

greška = h

∫ 2

0

s(s− 1)(s− 2)

6h3f iii(ξ)ds = 0 (5.34)

Ovo, međutim, ne znači da je greška jednaka nuli, nego da se integracijomkubnog člana dobiva vrijednost nuli, pa se stvarna greška za jedinični intervaldobiva preko sljedećeg člana, koji je četvrtog reda:

greška = h

∫ 2

0

s(s− 1)(s− 2)(s− 3)

24h4f iv(ξ)ds

= − 1

90h5f iv(ξ) = O(h5)

(5.35)

Page 107: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 109

a za opšti interval [a, b]

greška =n−1∑i=0

− 1

90h5f iv(ξ) =

= − 1

180(b− a)h4f iv(ξ) = O(h4)

(5.36)

Dakle, opšta greška Simpsonovog 1/3 pravila je četvrtog reda, pa se ova metodai najčešće koristi u praksi.

Primjer 5.5

Koristeći podatke u Tabeli 5.3 izračunati vrijednost određenog integrala

I =

∫ 3.9

3.1

1

xdx

pomoću Simpsonovog 1/3 pravila za jednu i dvije podjele intervala [3.1, 3.9].

Rješenje

Tačna vrijednost integrala je:

I =

∫ 3.9

3.1

1

xdx = ln(x)

∣∣∣∣3.9

3.1

ln(3.9

3.1) = 0.22957444

U slučaju jednog intervala, n = 1, koji sadrži 2n + 1 = 3 tačke, imamo premaizrazu (5.32):

I =

∫ 3.9

3.1

1

xdx ≈ h

3(f0 + 4f1 + f2)

=0.4

3(0.32258065 + 4 · 0.28571429 + 0.25641026)

I = 0.22957974

sa greškom |0.22957974− 0.22957444|=0.0000043.Koristeći izraz (5.33) za dva intervala, n = 2, koji sadrži 2n + 1 = 5 tačaka,

Page 108: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

110 5 Numeričko diferenciranje i integriranje

imamo:

I =

∫ 3.9

3.1

1

xdx ≈ h

3(f0 + 4(f1 + f3) + 2f2 + f4)

=0.2

3(0.32258065 + 4(0.30303030 + 0.27027027)

+ 2 · 0.28571429 + 0.25641026)

I = 0.22957478

pa je greška integracije jednaka |0.22957478− 0.22957444|=0.00000034.Već na prvi pogled je jasno da je tačnost Simpsonovog 1/3 pravila daleko

veća od trapeznog. Također, tačnost se povećava s povećanjem broja podjela,odnosno smanjenjem koraka h, i u ovom primjeru već za podjelu na dva inter-vala iznosi 10−6.

Na sličan način mogu se izvesti i Newton-Cotesove formule za druge vrijed-nosti stepena polinoma n.

5.2.3 Gaussove kvadraturne formule

Metode za numeričko integriranje koje su opisane u prethodnim poglavljimadaju najbolje moguće rješenje za slučajeve s jednakim razmacima između ta-čaka (ekvidistantne tačke). Na taj način, za n datih tačaka, dobiva se polinom(n + 1) stepena koji na najbolji način aproksimira funkciju.

Međutim, izračunavanje određenog integrala se u opštem slučaju može pred-staviti sljedećim izrazom:

I =

∫ b

a

f(x) dx =n∑

i=1

Cif(xi) (5.37)

gdje su xi lokacije tačaka u kojima je integrand poznat, a Ci su težinski faktori(koeficijenti). Na taj način, u slučajevima kada se treba integrirati funkcijakoja je zadata analitičkim izrazom (za koju je teško ili nemoguće izračunati in-tegral), javljaju se dodatni stepeni slobode – lokacije xi u kojima se izračunavavrijednost funkcije. Dakle, ako se koristi n tačaka, imamo na raspolaganju 2nparametara: n parametara xi i n parametara Ci (i = 1, 2, . . . , n). S ovih 2nparametara moguće je naći polinom 2n − 1 stepena, pri čemu je neophodnoodrediti pomenute parametre. Kao posljedica, dobivaju se daleko tačnije me-tode za numeričku integraciju, a Gaussove kvadraturne formule predstavljaju

Page 109: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 111

jednu takvu metodu. U daljem tekstu pokazaće se primjena Gaussovih kva-draturnih formula trećeg reda, tj. za n = 2.

Da bismo pojednostavili dobivanje Gaussovih kvadraturnih formula, po-smatrajmo prvo integral funkcije F (t) s granicama −1 i 1:

I =

∫ 1

−1

F (t)dt =n∑

i=1

CiF (ti) (5.38)

i n = 2. Problem se svodi na izračunavanje parametara t1, t2, C1 i C2, tako daje I tačno za polinom trećeg reda (2n− 1 = 3). Ovo je ispunjeno ako integralvrijedi za sljedeće polinome∗: F (t) = 1, t, t2 i t3. Na taj način dobivamo sistemjednačina:

I[F (t) = 1] =

∫ 1

−1

1dt = 2 = C1 + C2 (5.39a)

I[F (t) = t] =

∫ 1

−1

tdt = 0 = C1t1 + C2t2 (5.39b)

I[F (t) = t2] =

∫ 1

−1

t2dt =2

3= C1t

21 + C2t

22 (5.39c)

I[F (t) = t3] =

∫ 1

−1

t3dt = 0 = C1t31 + C2t

32 (5.39d)

čije je rješenje†:

C1 = C2 = 1 t1 = − 1√3

t2 =1√3

(5.40)

Dakle, rješenje izraza (5.38) je:

I =

∫ 1

−1

F (t)dt =2∑

i=1

CiF (ti) = F

(− 1√

3

)+ F

(1√3

)(5.41)

Sada je potrebno dobiveno rješenje iskoristiti za rješavanje izraza:

I =

∫ b

a

f(x) dx (5.42)

∗Potreban i dovoljan uslov da jednakost (5.38) vrijedi za sve algebarske polinome stepena ne višeg od mje da vrijedi za sve funkcije f(t) = 1, t, t2, . . . , tm [7]

†Parametri ti predstavljaju korijene Legendreovih polinoma, s obzirom da se metoda zasniva na njihovojaproksimaciji.

Page 110: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

112 5 Numeričko diferenciranje i integriranje

Ovo se vrlo lako može uraditi smjenom:

x = mt + c (5.43)

pri čemu je za x = a, t = −1, za x = b, t = 1, pa se dobiva:

m =b− a

2i c =

b + a

2(5.44)

Ovom smjenom se funkcija f(x) transformiše u funkciju F (t) i vrijedi:

F (t) = f(mt + c) (5.45)

Na osnovu jednakosti (5.43) vrijedi dx = mdt, pa (5.42) postaje:

I =

∫ b

a

f(x) dx =

∫ 1

−1

f(mt + c)mdt =b− a

2

∫ 1

−1

F (t) dt

I =b− a

2

(F

(− 1√

3

)+ F

(1√3

)) (5.46)

Posljednji izraz predstavlja Gaussovu kvadraturnu formulu za n = 2. Na sličannačin se mogu izvesti i formule za druge vrijednosti n.

Primjer 5.6

Slično prethodnim primjerima, i u ovom treba izračunati vrijednost određenogintegrala

I =

∫ 3.9

3.1

1

xdx

ali pomoćuGaussove kvadraturne formule za n = 2. Proračun izvršiti s jednomi dvije podjele intervala. Tačno rješenje je I = 0.22957444.

Rješenje

Na osnovu izraza (5.44) dobiva se:

m =b− a

2= 0.4 i c =

b + a

2= 3.5 (5.47)

pa je:

x = 0.4t + 3.5 i F (t) = f(mt + c) =1

mt + c=

1

0.4t + 3.5(5.48)

Page 111: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričko integriranje 113

Konačno je prema (5.46)

I =b− a

2

∫ 1

−1

F (t)dt = 0.4

[F

(−1√3

)+ F

(1√3

)]

I = 0.22957092

(5.49)

pa je greška integracije jednaka |0.22957092 − 0.22957444|=0.00000352. Vidise da je već za samo jednu podjelu intervala tačnost ove metode uporediva stačnošću Simpsonovog pravila za h = 0.4.

Ako bismo željeli koristiti više intervala, postupak bi se sastojao u podjeliintervala i primjeni metode za svaki interval pojedinačno, pa za dva intervalajednake dužine imamo:

I =

∫ 3.9

3.1

1

xdx =

∫ 3.5

3.1

1

xdx +

∫ 3.9

3.5

1

xdx = I1 + I2

Za prvi integral, I1, je:

m =b− a

2= 0.2 i c =

b + a

2= 3.3 (5.50)

pa je:

x = 0.2t + 3.3 i F (t) = f(mt + c) =1

0.2t + 3.3(5.51)

i

I1 =b− a

2

∫ 1

−1

F (t)dt = 0.2

[F

(−1√3

)+ F

(1√3

)]

I1 = 0.12136071

(5.52)

Analogno, za integral I2 je:

m =b− a

2= 0.2 i c =

b + a

2= 3.7 (5.53)

x = 0.2t + 3.7 i F (t) =1

0.2t + 3.7(5.54)

i

I2 = 0.2

∫ 1

−1

F (t)dt = 0.2

[F

(−1√3

)+ F

(1√3

)]

I2 = 0.10821350

(5.55)

Page 112: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

114 5 Numeričko diferenciranje i integriranje

Sada je:

I = I1 + I2 = 0.12136071 + 0.10821350 = 0.22957421 (5.56)

a greška integracije |0.22957421 − 0.22957444|=0.00000023. Na osnovu rezul-tata se može zaključiti da je u ovom slučaju metoda uporediva sa Simpsonovimpravilom za h = 0.2.

Metode numeričke integracije pokazane u prethodnim poglavljima na pri-mjerima izračunavanja jednostrukih integrala, mogu se koristiti i za izraču-navanje višestrukih integrala. Detaljnije o ovom problemu može se naći uliteraturi (npr. [5, 6, 10]).

5.3 Pitanja i zadaci

1. Objasniti postupak diferenciranja pomoću aproksimacionih polinoma!

2. Navesti i objasniti razlike između formula za diferenciranje!

3. Tabela 5.4 daje vrijednosti funkcije f(x) = ex za zadate vrijednosti x.Treba izračunati vrijednost f ′(1.0) pomoću interpolacionog polinoma. Pritome koristiti tačke:

a) 1.0, 1.01b) 1.0, 1.01, 1.02c) 1.0, 1.01, 1.02, 1.03

Interpolacioni polinom dobiti jednom od metoda objašnjenih u prethod-nim poglavljima.

Tabela 5.4: Uz zadatak 3

x f(x) x f(x) x f(x)

0.94 2.55998142 0.98 2.66445624 1.02 2.77319476

0.95 2.58570966 0.99 2.69123447 1.03 2.80106584

0.96 2.61169647 1.00 2.71828183 1.04 2.82921701

0.97 2.63794446 1.01 2.74560102 1.05 2.85765112

4. Naći vrijednost f ′(1.0) za podatke iz zadatka 3 koristeći:

a) formulu za diferenciranje unaprijed,

Page 113: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 115

b) formulu za diferenciranje unazad,c) formulu za centralno diferenciranje.

5. Pri kretanju tečnosti preko neke površine S, za tangencijalni napon τ napovršini u Pa, vrijedi jednakost:

τ = µdu

dy

∣∣∣∣S

gdje je µ = 0.00024 Pa s viskozitet, u brzina paralelna površini u m/s, iy okomita udaljenost od površine u m. U tabeli 5.5 date su vrijednostibrzine za različite udaljenosti, dobivene pomoću LDV (eng. laser-Dopplervelocitymetre) brzinomjera.Treba izračunati vrijednost tangencijalnog napona na površini, ako sekoristi polinom prvog, drugog i trećeg reda. Izračunati tangencijalnu silukoja djeluje na površinu, ako je S = 50 cm2.

Tabela 5.5: Uz zadatak 5

y, m 0.00 0.01 0.02 0.03

u, m/s 0.00 55.56 88.89 100.00

6. Pri kretanju tečnosti preko neke površine A, za brzinu prenosa toplote qna površinu u W, vrijedi jednakost:

q = −kA µdT

dy

∣∣∣∣A

gdje je k koeficijent provođenja toplote u W/m K, T temperatura u K, iy okomita udaljenost od površine u m. U tabeli 5.6 date su vrijednostitemperature za različite udaljenosti, dobivene pomoću termopara.Na umjerenim temperaturama vrijedi k = 0.003 W/m K. Treba izra-čunati vrijednost q/A na površini, ako se koristi polinom prvog, drugog itrećeg reda. Izračunati toplotu koja se prenese na površinu, ako je A = 50cm2.

Tabela 5.6: Uz zadatak 6

y, m 0.00 0.01 0.02 0.03

T , K 1000.00 533.33 355.56 300.00

7. Napisati program za određivanje vrijednosti prvog i drugog izvoda po-moću interpolacionih polinoma!

Page 114: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

116 5 Numeričko diferenciranje i integriranje

8. Napisati program za određivanje vrijednosti prvog izvoda pomoću formulaza diferenciranje!

9. Objasniti osnovne karakteristike numeričkog integriranja!

10. Objasniti postupak numeričkog integriranja pomoću aproksimacionihfunkcija!

11. Izvesti formulu za trapezno pravilo!

12. Izvesti formulu za Simpsonovo 1/3 pravilo!

13. Izvesti Gaussove kvadraturne formule za n = 2 i n = 3!

14. Koristeći podatke iz tabele 5.7 izračunati integral:

I =

∫ 2.0

0.4

f(x) dx

pomoću trapeznog pravila. Pri tome koristiti dvije i četiri podjele inter-vala.

Tabela 5.7: Uz zadatak 14

x f(x) x f(x) x f(x)

0.4 5.1600 1.2 3.1067 2.0 5.0000

0.6 3.6933 1.4 3.3886 2.2 5.7491

0.8 3.1400 1.6 3.8100 2.4 6.5933

1.0 3.0000 1.8 4.3511 2.6 7.5292

15. Zadatak 14 riješiti pomoću Simpsonovog 1/3 pravila koristeći dvije i četiripodjele intervala.

16. Koristeći Gaussove kvadraturne formule (za n = 2) riješiti integral:∫ 2.5

1.5

ln x dx

sa jednom i dvije podjele intervala.

Page 115: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 6

Rješavanje običnih diferencijalnihjednačina

Diferencijalne jednačine se javljaju u svim oblastima nauke i inženjerstva, sobzirom da se njima opisuju mnogi fizički procesi. Općenito, većina fizičkihprocesa uključuje više od jedne nezavisne promjenljive, pa su odgovarajućediferencijalne jednačine parcijalne diferencijalne jednačine. Ipak, u mnogimslučajevima, ove jednačine se mogu svesti na obične diferencijalne jednačine.

Za većinu diferencijalnih jednačina koje opisuju fizičke procese nije mogućenaći rješenje u zatvorenom obliku. Međutim, sve one se, s manjim ili većimpoteškoćama, mogu riješiti koristeći za tu svrhu razvijene numeričke metode.

6.1 O običnim diferencijalnim jednačinama

Obične diferencijalne jednačine daju zavisnost između funkcije s jednom neza-visnom promjenljivom i njenih izvoda u odnosu na tu nezavisnu promjenljivu.Red obične diferencijalne jednačine je određen najvećim izvodom u diferenci-jalnoj jednačini. Na primjer, opšti oblik diferencijalne jednačine n-tog redadat je izrazom:

any(n) + an−1y

(n−1) + . . . + a2y′′ + a1y

′ + a0y = F (t) (6.1)

gdje je:

y(n) =dny

dtn(6.2)

izvod n-tog reda, a ai(t, y), i = 0, 1, . . . , n su koeficijenti.

Page 116: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

118 6 Rješavanje običnih diferencijalnih jednačina

Opšte rješenje neke diferencijalne jednačine sadrži jednu ili više konstantiintegracije. Na taj način se dobiva familija rješenja za tu diferencijalnu jed-načinu, a partikularno rješenje se dobiva koristeći granične uslove, pri čemuje broj graničnih uslova jednak broju konstantni integracije, odnosno redu di-ferencijalne jednačine. Dakle, rješenje neke obične diferencijalne jednačine jeona partikularna funkcija koja identički zadovoljava tu diferencijalnu jedna-činu u njenoj domeni rješavanja, te zadovoljava uslove koji su specificirani nagranicama domene.

Zavisno od tipa graničnih uslova, razlikujemo dvije vrste ili klase običnihdiferencijalnih jednačina (isto važi i za sisteme običnih diferencijalnih jedna-čina):

1. diferencijalne jednačine s početnim vrijednostima – granični uslovi su datiza jednu vrijednost nezavisne promjenljive. Klasičan primjer takve jed-načine je opšta diferencijalna jednačina prvog reda:

y′ = f(t, y) y(t0) = y0 (6.3)

Ovaj problem se naziva Cauchyjev problem ili problem početnih vrijed-nosti. O sistemima običnih diferencijalnih jednačina s početnim vrijed-nostima vidi poglavlje 6.4.

2. diferencijalne jednačine s graničnim vrijednostima – granični uslovi suspecificirani za dvije ili više različitih vrijednosti nezavisne promjenljive.Primjer diferencijalne jednačine s graničnim vrijednostima je opšta dife-rencijalna jednačina drugog reda:

y′′ + P (x, y)y′ + Q(x, y)y = F (t, y)

y(x1) = y1 i y(x2) = y2

(6.4)

Problemi ovog tipa nazivaju se problemi graničnih vrijednosti.

U narednim poglavljima date su numeričke metode koje se koriste za rješavanjeovih tipova diferencijalnih jednačina.

6.2 Rješavanje problema početnih vrijednosti

Postoji jako veliki broj numeričkih metoda koje se mogu koristiti za rješava-nje problema početnih vrijednosti. Njihova podjela je različita od autora doautora. Jedna takva podjela je, na primjer, na jednokoračne, ekstrapolacionei višekoračne metode.

Page 117: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 119

Jednokoračne metode rješavaju jednačinu od tačke do tačke koristeći po-datke samo jedne tačke. U ove metode spadaju Eulerova metoda (i njene va-rijacije), te nejpoznatija među njima, Runge-Kutta metoda. Ekstrapolacionemetode (na primjer, ekstrapolirana modificirana metoda srednje vrijednosti)izračunava vrijednost u nekoj tački domene za različite veličine razmaka iz-među tačaka, a zatim ekstrapolira ove vrijednosti kako bi se dobilo tačnijerješenje. Višekoračne metode traže rješenje koristeći podatke nekoliko tačaka(na primjer, Adamsova metoda).

Sve tri navedene vrste metoda za rješavanje običnih diferencijalnih jednačinaspadaju u tzv. metode konačnih razlika. No, prije nego se opišu neke od njih,data je Taylorova metoda.

6.2.1 Taylorova metoda

Ova metoda koristi činjenicu da se Taylorov red može koristiti za izračunavanjevrijednosti funkcije ako se zna izraz za njen izvod i vrijednost u nekoj tački.Taylorov red za funkciju y(t) u tački t = t0 dat je sa:

y(t) = y(t0) + y′(t0)(t− t0) +y′′(t0)

2(t− t0)

2 + . . .

+y(n)(t0)

n!(t− t0)

n + . . .

(6.5)

ili

y(t) = y(t0) + y′(t0)∆t +y′′(t0)

2(∆t)2 + . . . +

y(n)(t0)

n!(∆t)n + . . . (6.6)

Izraz (6.5), osnosno (6.6), može se koristiti za izračunavanje vrijednosti y(t),ako se mogu odrediti vrijednosti y0 = f(t0) i izvod u tački t0. Vrijednost y0

se naziva početna vrijednost (vidi jednačinu (6.3)). Prvi izvod se može lakoizračunati, s obzirom da predstavlja vrijednost funkcije f(t, y), dok se ostaliizvodi moraju izračunati sukcesivnim diferenciranjem prvog od izraza (6.3).Tako se za drugi izvodi dobiva:

y′′ = (y′)′ =d(y′)dt

d(y′) = d(y′(t, y)) =∂y′

∂tdt +

∂y′

∂ydy = dt

(∂y′

∂t+

∂y′

∂y

dy

dt

)

y′′ =d(y′)dt

=∂y′

∂t+

∂y′

∂y

dy

dt= y′t + y′yy

(6.7)

Page 118: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

120 6 Rješavanje običnih diferencijalnih jednačina

a za treći izvod:

y′′′ = (y′′)′ =d(y′′)

dt=

∂t(y′t + y′yy

′) +∂

∂y(y′t + y′yy

′)dy

dt

y′′′ = y′tt + 2y′tyy′ + y′ty

′y + (y′y)

2y′ + y′yy(y′)2

(6.8)

Pri tome, indeksi t i y označavaju izvode po t i y, respektivno; na primjer,y′ty predstavlja izvod prvog izvoda y′ po y, a zatim izvod dobivenog rezultataderiviranja po t. Izvodi višeg reda postaju znatno komplikovaniji, tako da ihnije praktično koristiti.

Primjer 6.1

Prenos toplote zračenjem s tijela mase m u okolinu opisuje se Stefan-Boltz-manovim zakonom zračenja:

qr = Aεσ(T 4 − T 4

a

)=

dE

dt=

d(mcpT )

dt(6.9)

gdje je qr brzina prenosa toplote u W, A površina tijela mase m u m2, εStefan-Boltzmanova konstanta (5.67 × 10−8 W/m2K4), σ bezdimenzionalnakonstanta emisije tijela koja predstavlja odnos stvarnog zračenja sa zračenjemcrnog tijela, T je unutrašnja temperatura mase u K, Ta temperatura okoline uK, a cp specifična toplota materijala tijela u J/kg K. Ako se usvoji da su masam i specifična toplota cp konstantni, izraz (6.9) se može prikazati u obliku:

dT

dt= T ′ = −α

(T 4 − T 4

a

)(6.10)

gdje je:

α =Aεσ

mcp

(6.11)

Koristeći Taylorovu metodu riješiti jednačinu (6.10) za prvih 10 s. Uzeti da jeα = 4 · 10−12 (K3/s)−1, Ta = 250 K i T (0) = T0 = 2500 K.

Rješenje

Tačno rješenje jednačine (6.10) može se dobiti razdvajanjem promjenljivih.Koristeći početni uslov T (0) = T0, dobiva se:

arctg(

T

Ta

)− arctg

(T0

Ta

)+

1

2ln

[(T0 − Ta)(T0 + Ta)

(T − Ta)(T + Ta)

]

= 2αT 3a t

(6.12)

Page 119: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 121

Uvrštavajući zadate veličine dobiva se rješenje u obliku:

arctg(

T

250

)+

1

2ln

[6187500

(T − 250)(T + 250)

]

= 2(4 · 10−12)2503t + arctg(10)

(6.13)

Rješenje jednačine (6.13) za proizvoljnu vrijednost t nije moguće naći u za-tvorenom obliku, pa je neophodno primijeniti neku od metoda za numeričkorješavanje jednačina za svaku pojedinačnu vrijednosti t iz zadatog intervala.Tačno rješenje u prvih 10 s dato je grafički na slici 6.1.

0 2 4 6 8 10

Vrijeme t, s

1000

1500

2000

2500

3000

Tem

per

atura

T,

K

Slika 6.1: Tačno rješenje problema zračenja

Riješimo sada zadatak koristeći Taylorovu metodu. Prema izrazu (6.6),Taylorov red za T (t) je dat izrazom

T (t) = T0 + T ′|0t +1

2T ′′|0t2 +

1

6T ′′′|0t3 +

1

24T (4)|0T 4 + . . . (6.14)

gdje je ∆t = t − t0 = t. Koristeći sada jednačinu (6.10) dobivamo vrijednostiza izvode u početnoj tački kako slijedi:

T ′|0 = −α(T 4 − T 4a )|0

= −(4 · 10−12)(25004 − 2504) = −156.234375(6.15)

Page 120: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

122 6 Rješavanje običnih diferencijalnih jednačina

T ′′ = (T ′)′ =∂T ′

∂t+

∂T ′

∂TT ′ = 0− 4αT 3T ′ = −4αT 3T ′

T ′′|0 = −4(4 · 10−12)25003(−156.234375) = 39.058594

T ′′ = 4α2(T 7 − T 3T 4a )

(6.16)

T ′′′ = (T ′′)′ =∂T ′′

∂t+

∂T ′′

∂TT ′ = 0 + 4α2(7T 6 − 3T 2T 4

a )T ′

= 4α2(7T 6 − 3T 2T 4a )T ′

T ′′′|0 = 4(4 · 10−12)2(7 · 25006 − 3 · 25002 · 2504)(−156.234375)

T ′′′|0 = −17.087402

T ′′′ = −4α3(7T 10 − 10T 6T 4a + 3T 2T 8

a )

(6.17)

T (4) = (T ′′′)′ =∂T ′′′

∂t+

∂T ′′′

∂TT ′

= 0− 4α3(70T 9 − 60T 5T 4a + 6Tt8a)T

T (4)|0 = −4(4 · 10−12)3(70 · 25009 − 60 · 25005 · 2504

+ 6 · 2500 · 2508)(−156.234375)

T (4)|0 = 10.679169

(6.18)

Uvrštavajući prethodno dobivene vrijednosti u izraz (6.14) dobiva se:

T (t) = 2500− 156.284375t + 19.52929t2 − 2.8479t3 + 0.444965t4 (6.19)

Tačno rješenje i rješenja dobivena izrazom (6.19) (uzimajući u obzir prva dva,tri, četiri i svih pet članova) data su grafički na slici 6.2.

Na osnovu ovih podataka je jasno da se tačnost rješenja povećava sa po-većanjem broja članova Taylorovog reda. Međutim, već za t > 2 s rješenje jeveoma netačno, tako da je potrebno koristiti mnogo više članova Taylorovogreda, zbog čega je Taylorova metoda neefikasna u rješavanju običnih diferen-cijalnih jednačina s početnim vrijednostima.

Treba naglasiti da i pored činjenice što Taylorova metoda nije efikasna u rje-šavanju običnih diferencijalnih jednačina s početnim vrijednostima, ona pred-stavlja osnovu za mnoge efikasne numeričke metode. Kako se vidi iz slike 6.2ona je vrlo tačna za male vrijednosti t, i to upravo predstavlja osnovu za mnogedruge metode u rješavanju običnih diferencijalnih jednačina; metoda se možekoristiti za mali vremenski korak u blizini početne tačke, a zatim se određenimmodifikacijama dobiva rješenje za novu tačku.

Page 121: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 123

0 2 4 6 8 10

Vrijeme t, s

1000

1500

2000

2500

3000

Tem

pera

tura

T,K

tacv

no rjesv

enjeTaylor 1. redaTaylor 2. redaTaylor 3. redaTaylor 4. reda

Slika 6.2: Rješenje problema zračenja Taylorovom metodom

6.2.2 Eulerova metoda

Eulerova metoda (ili metode) predstavlja najjednostavniju metodu za rješa-vanje Cauchyjevog problema. Razlikujemo eksplicitnu i implicitnu Eulerovumetodu.

Eksplicitna Eulerova metoda

Formula za eksplicitnu Eulerovu metodu se može jednostavno dobiti iz jedna-čine Cauchyjevog problema, ako se prvi izvod aproksimira pomoću formule zadiferenciranje unaprijed, tj.

y′ = f(t, y) (6.20)yn+1 − yn

h= f(tn, yn) (6.21)

pri čemu je

h = xn+1 − xn (6.22)

i konačno

yn+1 = yn + h f(tn, yn) (6.23)

Osnovne karakteristike eksplicitne Eulerove metode su:

Page 122: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

124 6 Rješavanje običnih diferencijalnih jednačina

• Metoda je eksplicitna, jer fn = f(tn, yn) ne zavisi od yn+1.

• Potrebna je samo jedna poznata tačka, pa metoda spada u jednokoračnemetode (metode jedne poznate tačke).

• Potrebno je samo jedno izračunavanje izvoda funkcije po koraku (itera-ciji).

• Može se pokazati da je greška izračunavanja vrijednosti yn+1 drugog reda,O(∆t2) (Ova greška se pravi u svakom iterativnom koraku i naziva selokalna greška), pa je greška koja se akumulira nakon N koraka, (tzv.globalna greška) prvog reda, O(∆t).

Primjer 6.2

Problem prenosa toplote zračenjem iz primjera 6.1 riješiti eksplicitnom Eule-rovom metodom. Koristiti vremenske korake od 1 i 2 sekunde.

Rješenje

Koristeći formulu (6.23), diferencijalna jednačina prenosa toplote zračenjem(6.10)

dT

dt= T ′ = −α

(T 4 − T 4

a

)

se može napisati u obliku:

Tn+1 = Tn −∆tα(T 4n − T 4

a ) (6.24)

pri čemu n predstavlja indeks vremenskog koraka. Za ∆t = 2 i koristećipodatke iz zadatka 6.1 imamo redom:

T1 = T0 −∆tα(T 40 − T 4

a )

T1 = 2500− 2(4 · 10−12)(25004 − 2504) = 2187.53125

T2 = T1 −∆tα(T 41 − T 4

a )

T2 = 2187.53125− 2(4 · 10−12)(2187.531254 − 2504) = 2004.37027

. . .

Postupak rješavanje je isti i za vremenski korak od 1 sekunde, s tim da se uzimada je ∆t = 1 s. Svi rezultati su dati u tabeli 6.1 s odgovarajućim greškama(kolona T−T ). Vidi se da se smanjenjem koraka h značajno povećava i tačnostrješenja.

Page 123: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 125

Tabela 6.1: Uz primjer 6.2

∆t = 1 s ∆t = 2 s

t, s T , K T , K T − T , K T , K T − T , K

0 2500.00 2500.00 - 2500.00 -

1 2360.83 2343.77 -17.06

2 2248.25 2223.08 -25.17 2187.53 -60.72

3 2154.47 2125.40 -29.07

4 2074.61 2043.79 -30.82 2004.37 -70.24

5 2005.42 1974.01 -31.40

6 1944.62 1913.29 -31.33 1875.27 -69.34

7 1890.58 1859.70 -30.88

8 1842.09 1811.87 -30.22 1776.37 -65.72

9 1798.23 1768.78 -29.45

10 1758.26 1729.64 -28.62 1696.74 -61.52

Implicitna Eulerova metoda

Formula za implicitnu Eulerovu metodu se dobiva ako se posmatra tačka saindeksom (n + 1) i u njoj primijeni formula za diferenciranje unazad, tj.

y′ = f(t, y) (6.25)yn+1 − yn

h= f(tn+1, yn+1) (6.26)

pri čemu je

h = xn+1 − xn (6.27)

Konačno se dobiva:

yn+1 = yn + h f(tn+1, yn+1) (6.28)

Osnovne karakteristike implicitne Eulerove metode su:

• Vrijednost yn+1 zavisi od vrijednosti fn+1, pa je metoda implicitna.

• Potrebna je samo jedna poznata tačka, pa metoda spada u jednokoračnemetode.

Page 124: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

126 6 Rješavanje običnih diferencijalnih jednačina

• Potrebno je samo jedno izračunavanje izvoda funkcije po koraku.

• Može se pokazati da je greška izračunavanja vrijednosti yn+1 drugog reda,O(∆t2), pa je greška koja se akumulira nakon N koraka, prvog reda,O(∆t).

Primjer 6.3

Problem prenosa toplote zračenjem iz primjera 6.1 riješiti implicitnom Eule-rovom metodom. Koristiti vremenske korake od 1 i 2 sekunde.

Rješenje

Koristeći formulu (6.28), diferencijalna jednačina prenosa toplote zračenjem(6.10)

dT

dt= T ′ = −α

(T 4 − T 4

a

)

se može napisati u obliku:

Tn+1 = Tn −∆tα(T 4n+1 − T 4

a ) (6.29)

pri čemu n predstavlja indeks iteracije (u vremenu). Iako je jednačinu (6.29)moguće analitički riješiti po Tn+1, rješavanje je nešto komplikovanije, pa je zanjeno rješavanje bolje koristiti neku od metoda za numeričko rješavanje jedna-čina. Nakon što se izračuna vrijednost Tn+1 prelazi se na sljedeću iteraciju.

Dakle, za prvu iteraciju, uzimajući da je ∆t = 1, dobiva se:

T1 = T0 −∆tα(T 41 − T 4

a )

T1 = 2500− 1 · (4 · 10−12)(T 41 − 2504)

(6.30)

pa jednačinu treba riješiti po T1. Koristeći na primjer Newton-Raphsonovumetodu, dobija se:

T1 = 2373.14596

Nakon toga se prelazi na drugi vremenski korak i dobiva jednačina:

T2 = T1 −∆tα(T 42 − T 4

a )

T2 = 2373.14596− 1 · (4 · 10−12)(T 42 − 2504)

(6.31)

Page 125: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 127

čijim se rješavanjem dobiva:

T2 = 2267.431887

Postupak se nastavlja za sve posmatrane vrijednosti t. U tabeli 6.2 su datirezultati za prvih 10 sekundi za oba zadata vremenska koraka uz odgovarajućugrešku računanja (kolona T − T ).

Tabela 6.2: Uz primjer 6.3

∆t = 1 s ∆t = 2 s

t, s T , K T , K T − T , K T , K T − T , K

0 2500.00 2500.00 - 2500.00 -

1 2360.83 2373.15 12.32

2 2248.25 2267.43 19.18 2282.79 34.54

3 2154.47 2177.52 23.05

4 2074.61 2099.77 25.16 2120.93 46.32

5 2005.42 2031.64 26.23

6 1944.62 1971.26 26.64 1994.39 49.78

7 1890.58 1917.23 26.65

8 1842.09 1868.49 26.39 1891.93 49.84

9 1798.23 1824.21 25.98

10 1758.26 1783.73 25.47 1806.72 48.46

Na osnovu rezultata datih u tabeli, može se zaključiti da je greška pri ra-čunanju pomoću implicitne Eulerove metode nešto manja nego je to slučajpri korištenju eksplicitne metode. S druge strane, riješeni primjer pokazujeda se kod korištenja implicitne metode može pojaviti potreba za numeričkimrješavanjem jednačine koja slijedi iz izraza (6.28) u svakom koraku, što uspo-rava proces rješavanja. Ipak, sljedeća diskusija pokazuje još jednu vrlo važnuosobinu, koja daje prednost korištenju implicitne Eulerove metode - osobinustabilnosti.

O stabilnosti Eulerovih metoda

Za neku metodu (konačnih razlika), koja se koristi za rješavanje običnih diferen-cijalnih jednačina, kaže se da je stabilna∗ ako za stabilnu običnu diferencijalnu

∗Pored stabilnosti, vrlo važno mjesto u proučavanju numeričkih metoda za rješavanje diferencijalnihjednačina zauzimaju i osobine konzistentnost, red, i konvergencija [7].

Page 126: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

128 6 Rješavanje običnih diferencijalnih jednačina

jednačinu daje ograničeno rješenje, odnosno nestabilna ako daje neograničenorješenje. Osobinu stabilnosti Eulerovih metoda ćemo pokazati na primjeruhomogene linearne diferencijalne jednačine prvog reda:

y′ = −y y(0) = 1 (6.32)

Dakle, vrijedi f(t, y) = −y, a tačno rješenje iznosi y(t) = e−t.Koristeći (6.23) za eksplicitnu metodu se dobiva:

yn+1 = yn + ∆tf(t, yn) = yn + ∆t(−yn)

yn+1 = (1−∆t)yn

(6.33)

a prema (6.28) izraz za implicitnu metodu glasi:

yn+1 = yn + ∆tf(t, yn+1) = yn + ∆t(−yn+1)

yn+1 =yn

1 + ∆t

(6.34)

Koristeći prethodno dobivene izraze mogu se dobiti grafici dati na slici 6.3-lijevo i desno, za eksplicitnu i implicitnu Eulerovu metodu, respektivno (nagraficima je dato i tačno rješenje). Pri tome, vremenski korak ∆t se mijenjaod 0.25 do 3 sekunde za eksplicitnu i 0.5 do 5 sekundi za implicitnu metodu.

0 2 4 6 8 10Vrijeme t, s

-2

-1

0

1

2

y(t)

tacv

no∆t=0.25 s∆t=0.50 s∆t=0.75 s∆t=1.00 s∆t=1.50 s∆t=2.00 s∆t=3.00 s

0 2 4 6 8 10Vrijeme t, s

0

0.2

0.4

0.6

0.8

1

y(t)

tacv

no∆t=0.50 s∆t=1.00 s∆t=2.00 s∆t=5.00 s

Slika 6.3: Problem stabilnosti Eulerovih metoda za različite vrijednosti ∆t: lijevo –eksplicitna, desno – implicitna metoda

Sa slike 6.3-lijevo se vidi da se numeričko rješenje ponaša korektno u fizičkomsmislu (monotono opada) za ∆t ≤ 1.0 s, a za t → ∞ se približava tačnomrješenju y(∞) = 0. Za ∆t = 1 s numeričko rješenje dostiže tačno asimptotskorješenje u jednom koraku.

Za slučaj kada je 1 ≤ ∆t ≤ 2 s, numeričko rješenje osciluje oko tačnogasimptotskog rješenja, i približava mu se u prigušenom obliku kada t → ∞.

Page 127: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 129

Za ∆t = 2 s, numeričko rješenje stabilno osciluje oko tačnog rješenja i nikadase ne približava asimptotskom rješenju. Na taj način se može zaključiti da surješenja stabilna kada je ∆t ≤ 2 s.

U slučajevima za ∆t > 2 s, numeričko rješenje osciluje oko tačnog asimp-totskog rješenja ali na nestabilan način – eksponencijalno se udaljava izvanfizičkih granica. Ovo predstavlja numeričku nestabilnost. Dakle, može se za-ključiti da je eksplicitna Eulerova metoda uslovno stabilna, pošto je stabilnasamo za ∆t ≤ 2 s. Ipak, treba naglasiti da je i oscilatorno ponašanje nume-ričkih metoda nepoželjno, s obzirom da ne predstavlja fizičku realnost. Zbogtoga se općenito usvaja vremenski korak za 50% kraći od graničnog za koji jemetoda stabilna.

S druge strane, iz slike 6.3-desno se jasno vidi da se rješenja u slučajuimplicitne Eulerove metode uvijek, tj. za sve vrijednosti ∆t, ponašaju fizičkikorektno i asimptotski približavaju tačnom rješenju.

Ovaj jednostavan primjer pokazuje u čemu je osnovna prednost implicitnemetode u odnosu na eksplicitnu, s obzirom na činjenicu da su obje metode istogreda tačnosti, a dobivanje rezultata implicitnom metodom znatno otežano. Uoba slučaja se, također, može primijetiti da se greška povećava s povećanjemvremenskog koraka.

6.2.3 Runge-Kutta metode

Runge-Kutta metode predstavljaju grupu jednokoračnih metoda kod kojih se∆y = yn+1− yn izračunava kao težinski zbir nekoliko razlika ∆yi (i = 1, 2, . . .),pri čemu se svako ∆yi izračunava kao proizvod ∆t i izvoda funkcije, f(t, y), unekoj tački iz intervala tn ≤ t ≤ tn+1. Na taj način imamo:

yn+1 = yn + ∆y (6.35)∆y = C1∆y1 + C2∆y2 + C3∆y3 + . . . (6.36)

gdje su Ci (i = 1, 2, . . .) težinski faktori (koeficijenti).

Runge-Kutta drugog reda

Za Runge-Kutta metodu drugog reda, ∆y se dobiva kao težinski zbir dvijerazlike ∆y, tj.

yn+1 = yn + C1∆y1 + C2∆y2 (6.37)

gdje je razlika ∆y1 data eksplicitnom Eulerovom formulom (6.23):

∆y1 = ∆t f(tn, yn) = ∆t fn

Page 128: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

130 6 Rješavanje običnih diferencijalnih jednačina

a ∆y2 se računa na osnovu vrijednosti funkcije f(t, y) negdje na intervalutn ≤ t ≤ tn+1, tj.:

∆y2 = ∆t f [(tn + (α∆t), yn + (β∆y1)) (6.38)

Može se pokazati da postoji beskonačno mnogo rješenja za izbor parametaraC1, C2, α i β, a jedno od takvih rješenja je C1 = C2 = 1/2 i α = β = 1. Naovaj način se dobiva metoda koja se naziva modifikovana Eulerova metoda, iliprva modifikacija Eulerove metode, a formule imaju oblik:

∆y1 = hf(tn, yn) = hfn (6.39a)∆y2 = hf (tn + ∆t, yn + ∆y1) = hfn+1 (6.39b)

yn+1 = yn +1

2∆y1 +

1

2∆y2 = yn +

h

2(fn + fn+1) (6.39c)

Iz prethodnog se vidi da je za ovu metodu neophodno dva puta izračunativrijednost funkcije izvoda u svakom vremenskom koraku. Može se pokazatida je modifikovana Eulerova metoda drugog reda tačnosti (globalna greška jedrugog reda), i uslovno stabilna.

Primjer 6.4

Problem prenosa toplote zračenjem iz primjera 6.1 riješiti modifikovanom Eule-rovom metodom. Koristiti vremenske korake od 1 i 2 sekunde.

Rješenje

Kao i u prethodnim primjerima funkcija izvoda je jednaka

f(t, T ) = −α(T 4 − T 4a )

pa se prema izrazu (6.39a) za prvi vremenski korak uz ∆t = 2 dobiva:

∆y1 = ∆tf(t0, T0) = 2[−α(T 40 − T 4

a )]

= 2[−4 · 10−12(25004 − 2504)]

∆y1 = −312.46875

(6.40)

Sada je prema (6.39b):

∆y2 = ∆tf(t0 + ∆t, T0 + ∆y1) = 2[−α((T0 + ∆y1)4 − T 4

a )]

= 2[−4 · 10−12((2500− 312.46875)4 − 2504)]

∆y2 = −183.16098

(6.41)

Page 129: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 131

Vrijednost T0 +∆y1 se naziva prediktor vrijednost, a njeno računanje prediktorfaza ili prediktor jednačina konačnih razlika. Ovakav postupak rješavanja jepoznat pod imenom prediktor-korektor metoda. Konačno se na osnovu formule(6.39c), dobiva rješenje, koje se još naziva i korektor rješenje, i to:

T1 = T0 +1

2(∆y1 + ∆y2)

= 2500 +1

2(−312.46875− 183.16098)

T1 = 2252.18513

(6.42)

Rezultati za vremenske korake jednake 1 i 2 sekunde s odgovarajućim greškama(kolona T − T ) dati su u tabeli 6.3. Vidi se da je da je ova metoda znatnotačnija (više od 10 puta) od prethodno opisanih metoda.

Tabela 6.3: Uz primjer 6.4

∆t = 1 s ∆t = 2 s

t, s T , K T , K T − T , K T , K T − T , K

0 2500.00 2500.00 - 2500.00 -

1 2360.83 2361.54 0.71

2 2248.25 2249.26 1.01 2252.19 3.94

3 2154.47 2155.59 1.12

4 2074.61 2075.76 1.15 2079.15 4.54

5 2005.42 2006.55 1.13

6 1944.62 1945.71 1.09 1948.97 4.35

7 1890.58 1891.63 1.05

8 1842.09 1843.09 1.00 1846.08 3.99

9 1798.23 1799.17 0.94

10 1758.26 1759.16 0.90 1761.86 3.60

Osim prethodnog izbora, često se za koeficijent C1 bira vrijednost C1 = 0,pa se za ostale koeficijente dobiva: C2 = 1 i α = β = 1/2. Na ovaj način dobivase tzv. modifikovana metoda srednje vrijednosti, poboljšana Eulerova metoda,ili druga modifikacija Eulerove metode. Metoda je data sljedećim formulama:

∆y1 = hf(tn, yn) = hfn (6.43a)

∆y2 = hf

(tn +

h

2, yn +

∆y1

2

)= hfn+1/2 (6.43b)

Page 130: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

132 6 Rješavanje običnih diferencijalnih jednačina

yn+1 = yn + 0 ·∆y1 + 1 ·∆y2 = yn + hfn+1/2 (6.43c)

I ova metoda predstavlja prediktor-korektor metodu za koju je u svakom vre-menskom koraku neophodno dva puta izračunati vrijednost funkcije izvoda.Slično prethodnoj, i ova metoda je drugog reda tačnosti (globalna greška jedrugog reda) i uslovno je stabilna.

Primjer 6.5

Problem prenosa toplote zračenjem iz primjera 6.1 riješiti modifikovanom me-todom srednje vrijednosti. Koristiti vremenske korake od 1 i 2 sekunde.

Rješenje

Prema izrazu (6.43a) za prvi vremenski korak uz ∆t = 2 dobiva se:

∆y1 = ∆tf(t0, T0) = 2[−α(T 40 − T 4

a )]

= 2[−4 · 10−12(25004 − 2504)]

∆y1 = −312.46875

(6.44)

Sada se prema (6.43b) dobiva:

∆y2 = ∆tf(t0 +∆t

2, T0 +

∆y1

2)

= 2[−α((T0 +∆y1

2)4 − T 4

a )]

= 2[−4 · 10−12((2500− 312.46875/2)4 − 2504)]

∆y2 = −241.37399

(6.45)

U ovom slučaju prediktor vrijednost data je izrazom T0 + (∆y1)/2. Konačnose na osnovu (6.43c), dobiva (korektor) rješenje:

T1 = T0 + ∆y2 = 2500 + (−241.37399)

T1 = 2258.626001(6.46)

Rezultati za vremenske korake jednake 1 i 2 dati su u tabeli 6.4. Kako se vidiiz tabele, metoda je nešto manje tačna od prethodno opisane metode, ali jošuvijek znatno tačnija od eksplicitne i implicitne Eulerove metode.

Page 131: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 133

Tabela 6.4: Uz primjer 6.5

∆t = 1 s ∆t = 2 s

t, s T , K T , K T − T , K T , K T − T , K

0 2500.00 2500.00 - 2500.00 -

1 2360.83 2362.40 1.57

2 2248.25 2250.46 2.21 2258.63 10.38

3 2154.47 2156.91 2.44

4 2074.61 2077.09 2.48 2086.27 11.66

5 2005.42 2007.85 2.43

6 1944.62 1946.96 2.34 1955.59 10.97

7 1890.58 1892.82 2.24

8 1842.09 1844.22 2.13 1852.00 9.91

9 1798.23 1800.24 2.01

10 1758.26 1760.17 1.91 1767.12 8.86

Runge-Kutta četvrtog reda

Najpoznatija Runge-Kutta metoda je ona četvrtog reda. Kao i u prethod-nom slučaju, postoji beskonačno mnogo rješenja za izbor parametara†, ali jenajpoznatija tzv. standardna Runge-Kutta metoda data sljedećim formulama:

yn+1 = yn +1

6(∆y1 + 2∆y2 + 2∆y3 + ∆y4) (6.47)

∆y1 = hf(tn, yn) (6.48a)

∆y2 = hf

(tn +

h

2, yn +

∆y1

2

)(6.48b)

∆y3 = hf

(tn +

h

2, yn +

∆y2

2

)(6.48c)

∆y4 = hf(tn + h, yn + ∆y3) (6.48d)

Osnovne karakteristike Runge-Kutta metode četvrtog reda su:

1. Potrebna je samo jedna poznata tačka, pa metoda spada u jednokoračnemetode

†Ukupno je potrebno odrediti osam parametara - četiri Ci parametra (i = 1, 2, 3, 4) i četiri preostala (α,β, γ i δ)

Page 132: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

134 6 Rješavanje običnih diferencijalnih jednačina

2. Aproksimirane jednačine su eksplicitne i zahtijevaju četiri izračunavanjafunkcije izvoda u jednom koraku (iteraciji)

3. Može se pokazati da je lokalna greška reda O(∆t5), a globalna reda O(∆t4)

4. Jednačine su uslovno stabilne.

Primjer 6.6

Problem prenosa toplote zračenjem iz primjera 6.1 riješiti Runge-Kutta meto-dom četvrtog reda. Koristiti vremenske korake od 1 i 2 sekunde.

Rješenje

Na osnovu izraza (6.47) i (6.48) dobiva se:

Tn+1 = Tn +1

6(∆y1 + 2∆y2 + 2∆y3 + ∆y4) (6.49)

∆y1 = ∆tf(tn, Tn) (6.50a)

∆y2 = ∆tf

(tn +

∆t

2, Tn +

∆y1

2

)(6.50b)

∆y3 = ∆tf

(tn +

∆t

2, Tn +

∆y2

2

)(6.50c)

∆y4 = ∆tf(tn + ∆t, Tn + ∆y3) (6.50d)

Ako se sada uzme da je funkcija izvoda jednaka −α(T 4−T 4a ) i vremenski korak

∆t = 2, imamo za prvu iteraciju, T1:

∆y1 = ∆tf(t0, T0) = 2[−α(T 40 − T 4

a )]

= 2[−4 · 10−12(25004 − 2504)]

∆y1 = −312.46875

(6.51)

∆y2 = ∆tf(t0 +∆t

2, T0 +

∆y1

2)

= 2[−α((T0 +∆y1

2)4 − T 4

a )]

= 2[−4 · 10−12((2500− 312.46875/2)4 − 2504)]

∆y2 = −241.37399

(6.52)

Page 133: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema početnih vrijednosti 135

∆y3 = ∆tf

(tn +

∆t

2, Tn +

∆y2

2

)

= 2[−α((T0 +∆y2

2)4 − T 4

a )]

= 2[−4 · 10−12((2500− 241.37399/2)4 − 2504)]

∆y3 = −256.355925

(6.53)

∆y4 = ∆tf(tn + ∆t, Tn + ∆y3)

= 2[−α((T0 + ∆y3)4 − T 4

a )]

= 2[−4 · 10−12((2500− 256.355925)4 − 2504)]

∆y4 = −202.693063

(6.54)

Uvrštavajući prethodno dobivene vrijednosti u formulu (6.49) dobiva se:

T1 = T0 +1

6(∆y1 + 2∆y2 + 2∆y3 + ∆y4)

= 2500 +1

6[−312.46875 + 2(−241.37399)

+ 2(−256.355925)− 202.69306]

T1 = 2248.229723

(6.55)

Rezultati za prvih 10 sekundi za oba vremenska koraka dati su u tabeli 6.5.Na osnovu greške računanja može se zaključiti da je Runge-Kutta metoda zapokazani primjer čak 110000 puta tačnija od eksplicitne Eulerove metode, ioko 3500 puta tačnija od prve modifikacije Eulerove metode. Na taj način sepokazuje osnovna prednost korištenja metoda višeg reda.

6.2.4 Ostale metode

U prethodnim dijelovima su date najčešće korištene jednokoračne metode zanumeričko rješavanje običnih diferencijalnih jednačina. Međutim, postoji i nizdrugih metoda kao što su ekstrapolacione, te višekoračne metode. Kod eks-trapolacionih metoda se proračun vrši za više različitih vremenskih koraka, aonda se na osnovu grešaka za pojedine vremenske korake, pomoću ekstrapola-cije dolazi do numeričkog rješenja.

S druge strane, višekoračne metode koriste više tačaka za računanje vrijed-nosti funkcije u novim tačkama. Postoji čitav niz ovih metoda među kojimasu najpoznatije Adamsova i njene varijante [5, 6, 10].

Page 134: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

136 6 Rješavanje običnih diferencijalnih jednačina

Tabela 6.5: Uz primjer 6.6

∆t = 1 s ∆t = 2 s

t, s T , K T , K T − T , K T , K T − T , K

0 2500.00000 2500.00000 - 2500.00 -

1 2360.83000 2360.82956 -0.00044

2 2248.24730 2248.24681 -0.00049 2248.22972 -0.02

3 2154.47080 2154.47030 -0.00050

4 2074.61190 2074.61144 -0.00046 2074.59623 -0.02

5 2005.41640 2005.41595 -0.00045

6 1944.61840 1944.61804 -0.00036 1944.60559 -0.01

7 1890.58290 1890.58252 -0.00038

8 1842.09450 1842.09420 -0.00030 1842.08395 -0.01

9 1798.22790 1798.22758 -0.00032

10 1758.26340 1758.26311 -0.00029 1758.25452 -0.01

U svrhu rješavanja opštih diferencijalnih jednačina prvog reda s početnimvrijednostima kod kojih je funkcija izvoda nelinearna (kao što je problem pre-nosa toplote zračenjem), koriste se i procedure za rješavanje nelinearnih im-plicitnih jednačina konačnih razlika. Najpoznatije među njima su procedurevremenske linearizacije, te Newtonova metoda, i mogu se naći u literaturi [10].

6.3 Obične diferencijalne jednačine višeg reda

U prethodnim poglavljima obrađene su metode rješavanja običnih diferencijal-nih jednačina prvog reda (Cauchyjev problem). Međutim, veliki broj prirodnihprocesa, problema u inženjerstvu i sl. opisuje se diferencijalnim jednačinamavišeg reda (jednačine kretanja, na primjer). Kao što je poznato, diferencijalnejednačine višeg reda se općenito mogu svesti na sistem običnih diferencijalnihjednačina prvog reda. U slučajevima kada se radi o sistemu jednačina višegreda, svaka od jednačina sistema se može svesti na sistem običnih diferenci-jalnih jednačina prvog reda, pa se i sistem diferencijalnih jednačina višeg redatada svodi na sistem diferencijalnih jednačina prvog reda. Na taj način se obaproblema mogu rješavati koristeći iste metode.

Posmatrajmo, na primjer, opštu diferencijalnu jednačinu n-tog reda s po-četnim vrijednostima:

y(n) = f(t, y, y′, y′′, . . . , y(n−1)) (6.56)

Page 135: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Obične diferencijalne jednačine višeg reda 137

y(t0) = y0 i y(i)(t0) = y(i)0 (i = 1, 2, . . . , n− 1) (6.57)

Ova jednačina se može zamijeniti ekvivalentnim sistemom od n diferencijalnihjednačina prvog reda, pri čemu se definiše n pomoćnih promjenljivih:

y1 = y

y2 = y′ = y′1y3 = y′′ = y′2. . . . . . . . .

yn = y(n−1) = y′n−1

(6.58)

Diferenciranjem posljednje jednačine dobiva se:

y′n = y(n) (6.59)

Preuređenjem sistema jednačina (6.58), i uvrštavanjem dobivenih rezultata ujednačinu (6.59), dobiva se sljedeći sistem od n diferencijalnih jednačina prvogreda:

y′1 = y2 y1(0) = y0

y′2 = y3 y2(0) = y′0. . . . . . . . .

y′n−1 = yn yn−1(0) = y(n−2)0

y′n = F (t, y1, y2, . . . , yn) yn(0) = y(n−1)0

(6.60)

gdje je posljednja jednačina u nizu početna diferencijalna jednačina n-tog reda(6.56), izražena pomoću pomoćnih promjenljivih yi (i = 1, 2, . . . , n). Ovakvaredukcija se gotovo uvijek može ostvariti, a dobiveni sistem od n diferencijalnihjednačina prvog reda se može riješiti na način opisan u narednom poglavlju.

Primjer 6.7

Na primjeru diferencijalne jednačine koja opisuje vertikalni let rakete, opisatipostupak svođenja diferencijalne jednačine višeg reda na sistem diferencijalnihjednačina prvog reda.

Page 136: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

138 6 Rješavanje običnih diferencijalnih jednačina

Rješenje

D

T

Slika 6.4: Vertikalni let rakete

Fizikalni sistem koji opisuje problem vertikalnog leta rakete dat je na slici6.4. Za takav sistem može se postaviti jednačina drugog Newtonovog zakonakako slijedi:

∑F = T −mg −D = ma = mv′ = my′′ (6.61)

pri čemu je T sila koju proizvodi motor rakete, m trenutna masa rakete,m(t) = m0−

∫ t

0mdt, m0 početna masa rakete, m brzina promjene mase rakete,

g gravitaciono ubrzanje koje općenito zavisi od nadmorske visine y, D aero-dinamički uzgon, a ubrzanje rakete, a v brzina rakete. Početna brzina raketejednaka je v(0) = v0 = 0, a početna visina y(0) = y0 = 0.

Ako se pretpostavi da su promjena mase, m, i gravitaciono ubrzanje kons-tantni, te aerodinamički uzgon zanemariv, dolazi se do sljedeće diferencijalnejednačine drugog reda s početnim uslovima:

y′′ =T

m0 − mt− g y(0) = 0 y′(0) = 0 (6.62)

Ova jednačina se može svesti na sistem diferencijalnih jednačina prvog reda nasljedeći način. Ako uzmemo pomoćnu promjenljivu v i stavimo da je y′ = v,direktno se dobiva sljedeći sistem s odgovarajućim početnim uslovima:

y′ = v y(0) = 0

v′ =T

m0 − mt− g y′(0) = 0

(6.63)

Page 137: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Sistem običnih diferencijalnih jednačina 139

Jednačine (6.63) predstavljaju sistem od dvije diferencijalne jednačine prvogreda, koji se može riješiti jednom od metoda za numeričko rješavanje običnihdiferencijalnih jednačina prvog reda s početnim uslovima, kako je objašnjenou daljem tekstu.

6.4 Sistem običnih diferencijalnih jednačina

Mnogi problemi u praksi uključuju nekoliko zavisno promjenljivih, od kojihje svaka funkcija jedne te iste nezavisne promjenljive i jedne ili više zavisnihpromjenljivih, i od kojih se svaka može opisati običnom diferencijalnom jedna-činom. Tako se dobiva sistem običnih diferencijalnih jednačina, kao na primjersistem običnih diferencijalnih jednačina prvog reda:

y′ = f(t, y, z) (6.64a)z′ = f(t, y, z) (6.64b)

U prethodnom poglavlju smo vidjeli da se i diferencijalne jednačine višegreda mogu svesti na sistem diferencijalnih jednačina prvog reda. Na taj način,obje vrste problema se mogu numerički riješiti na isti način, tj. korištenjemistih metoda.

Svaka od diferencijalnih jednačina u sistemu jednačina se može riješiti kaopojedinačna diferencijalna jednačina koristeći metode opisane u prethodnimpoglavljima. Jedina razlika je u tome što se mora voditi posebna pažnja oredosljedu računanja. Također, veličina koraka mora biti jednaka za sve jed-načine.

Primjer 6.8

Sistem običnih diferencijalnih jednačina prvog reda (6.63) dobiven u primjeru6.7

y′ = v y(0) = 0

v′ =T

m0 − mt− g y′(0) = 0

riješiti koristeći Runge-Kutta metodu. Uzeti da je T = 10000 N, m0 = 100 kg,m = 5 kg/s, g = 9.8 m/s2, te ∆t = 1 s.

Page 138: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

140 6 Rješavanje običnih diferencijalnih jednačina

Rješenje

Tačno rješenje sistema

y′ = f(t, y, v) = v y(0) = 0

v′ = g(t, y, v) =T

m0 − mt− g y′(0) = 0

(6.65)

je dato jednačinama:

v(t) = − T

mln

(1− mt

m0

)− gt

y(t) =m0

m

T

m

(1− mt

m0

)ln

(1− mt

m0

)+

Tt

m− 1

2gt2

(6.66)

odnosnov(t) = −1000 ln (1− 0.05t)− 9.8t

y(t) = 10000 (1− 0.05t) ln (1− 0.05t) + 2000t− 4.9t2(6.67)

Riješimo sada zadatak koristeći Runge-Kutta metodu. Uvrštavajući zadatevrijednosti u sistem jednačina (6.65), dobiva se sistem diferencijalnih jedna-čina:

y′ = v y(0) = 0

v′ =10000

100− 5t− 9.8 y′(0) = 0

(6.68)

Prvo sa ∆yi (i = 1, 2, 3, 4) označimo inkremente (priraste) funkcije y(t), a sa∆vi (i = 1, 2, 3, 4) inkremente funkcije v(t), pa prema izrazu (6.47) imamo:

yn+1 = yn +1

6(∆y1 + 2∆y2 + 2∆y3 + ∆y4)

vn+1 = vn +1

6(∆v1 + 2∆v2 + 2∆v3 + ∆v4)

(6.69)

gdje su odgovarajući inkrementi dati formulama:

∆y1 = ∆tf(tn, yn, vn) (6.70a)∆v1 = ∆tg(tn, yn, vn) (6.70b)

∆y2 = ∆tf

(tn +

∆t

2, yn +

∆y1

2, vn +

∆v1

2

)(6.70c)

∆v2 = ∆tg

(tn +

∆t

2, yn +

∆y1

2, vn +

∆v1

2

)(6.70d)

Page 139: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Sistem običnih diferencijalnih jednačina 141

∆y3 = ∆tf

(tn +

∆t

2, yn +

∆y2

2, vn +

∆v2

2

)(6.70e)

∆v3 = ∆tg

(tn +

∆t

2, yn +

∆y2

2, vn +

∆v2

2

)(6.70f)

∆y4 = ∆tf(tn + ∆t, yn + ∆y3, vn + ∆v3) (6.70g)∆v4 = ∆tg(tn + ∆t, yn + ∆y3, vn + ∆v3) (6.70h)

Vrlo važno je napomenuti da se algoritam rješavanja sastoji u tome da seprvo izračunavaju vrijednosti ∆y1 i ∆v1, pa tek onda ide na izračunavanjevrijednosti ∆y2 i ∆v2, zatim na rješavanje vrijednosti inkremenata ∆y3 i ∆v3,itd. Vrijednost vremenskog inkrementa mora biti ista za sve jednačine i iznosi∆t.

Funkcije f(t, y, v) i g(t, y, v), a time i inkrementi dati izrazima (6.70), op-ćenito zavise od promjenljivih t, y i v, ali se s obzirom na jednačine (6.65) iuvrštavajući zadate vrijednosti, inkrementi mogu svesti na sljedeći oblik:

∆y1 = ∆tvn (6.71a)

∆v1 = ∆t

(10000

100− 5tn− 9.8

)(6.71b)

∆y2 = ∆t

(vn +

∆v1

2

)(6.71c)

∆v2 = ∆t

[10000

100− 5(tn + ∆t/2)− 9.8

](6.71d)

∆y3 = ∆t

(vn +

∆v2

2

)(6.71e)

∆v3 = ∆t

[10000

100− 5(tn + ∆t/2)− 9.8

](6.71f)

∆y4 = ∆t(vn + ∆v3) (6.71g)

∆v4 = ∆t

[10000

100− 5(tn + ∆t)− 9.8

](6.71h)

Sada, za prvi vremenski korak i ∆t = 1 računamo redom:

∆y1 = 1 · 0 = 0 (6.72a)

∆v1 = 1

(10000

100− 5 · 0 − 9.8

)= 90.2 (6.72b)

∆y2 = 1

(0 +

90.2

2

)= 45.1 (6.72c)

Page 140: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

142 6 Rješavanje običnih diferencijalnih jednačina

∆v2 = 1

[10000

100− 5(0 + 1/2)− 9.8

]= 92.7641 (6.72d)

∆y3 = 1

(0 +

95.463158

2

)= 46.382 (6.72e)

∆v3 = 1

[10000

100− 5(0 + 1/2)− 9.8

]= 92.7641 (6.72f)

∆y4 = 1(0 + 95.463158) = 92.7641 (6.72g)

∆v4 = 1

[10000

100− 5(0 + 1)− 9.8

]= 95.4631 (6.72h)

Uvrštavajući dobivene vrijednosti u izraze (6.69) dobivamo rješenje za prvivremenski korak:

y1 = 0 +1

6[0 + 2(45.1 + 46.382) + 95.4631] = 45.9547

v1 = 0 +1

6[90.2 + 2(92.7641 + 92.7641) + 95.4631] = 92.7866

(6.73)

U tabeli 6.6 data su rješenja za y i v za prvih deset sekundi s tačnim rješenjima,y i v. S obzirom na mala odstupanja između analitičkog i numeričkog rješenja,može se zaključiti da je metoda izuzetno efikasna u rješavanju problema ovogtipa.

Tabela 6.6: Uz primjer 6.8

t, s y, m y, m v, m/s v, m/s

0 0.0000 0.0000 0.0000 0.0000

1 45.9548 45.9547 92.7866 92.7866

2 187.4214 187.4212 191.1210 191.1210

3 430.2564 430.2560 295.6379 295.6379

4 781.0064 781.0058 407.0871 407.0871

5 1247.0378 1247.0370 526.3641 526.3642

6 1836.7016 1836.7004 654.5499 654.5500

7 2559.5442 2559.5426 792.9658 792.9660

8 3426.5850 3426.5829 943.2512 943.2514

9 4450.6860 4450.6832 1107.4740 1107.4743

10 5647.0564 5647.0525 1288.2944 1288.2947

Treba naglasiti da je prethodni primjer jednostavna verzija problema ver-tikalnog leta rakete. U realnosti sve veličine mogu biti zavisne od sve tri

Page 141: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema graničnih vrijednosti 143

promjenljive, t, y i v, tako da se mogu dobiti komplikovaniji oblici jednačine(6.62)‡. No, i u ovom slučaju postupak rješavanja je potpuno isti, s tim da jepotrebno prije proračunavanja, na primjer, veličine ∆y2, koja ovisi o tn+∆t/2,yn + ∆y1/2 i vn + ∆v1/2, izračunati sve veličine koje su zavisne od navedenihpromjenljivih (na primjer, za jednačinu u fusnoti treba izračunati vrijednostiT , m, ρ i cD).

6.5 Rješavanje problema graničnih vrijednosti

Kao što je rečeno u uvodnom dijelu, primjer problema graničnih vrijednostije rješavanje diferencijalne jednačine drugog reda s graničnim vrijednostima,koja je data u sljedećem obliku:

y′′ + P (x, y)y′ + Q(x, y)y = F (x)

y(x1) = y1 i y(x2) = y2

(6.74)

Rješenje ove jednačine je funkcija, koja zadovoljava dva granična uslova nadvije granice oblasti (domene) rješavanja, pri čemu je oblast rješavanja zatvo-rena, tj. x1 ≤ x ≤ x2.

U svrhu rješavanja jednačina tipa (6.74) u narednim poglavljima biće po-kazane dvije fundamentalno različite metode:

1. metoda gađanja, i

2. metoda konačnih razlika.

6.5.1 Metoda gađanja

Metoda gađanja transformiše diferencijalnu jednačinu s graničnim vrijednos-tima na sistem diferencijalnih jednačina prvog reda s početnim vrijednostima,koje se mogu riješiti koristeći metode za rješavanje problema početnih vrijed-nosti. Na primjer, jednačina (6.74)

y′′ + P (x, y)y′ + Q(x, y)y = F (x)

y(x1) = y1 i y(x2) = y2

‡Na primjer,

y′′ =T (t, y)

m0 −∫ t0 mdt

− g(y)− cD(ρ, V, y) 12ρ(y)Av2

m0 −∫ t0 mdt

y(0) = 0 y′(0) = 0

gdje je cD empirijski koeficijent uzgona, ρ specifična gustina atmosfere, a A poprečni presjek rakete.

Page 142: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

144 6 Rješavanje običnih diferencijalnih jednačina

se svodi na sljedeći sistem diferencijalnih jednačina prvog reda sa početnimvrijednostima:

y′ = v y(x1) = y1

v′ + P (x, y)v + Q(x, y)y = F (x) v(x1) = v1

(6.75)

Dakle, granični uslov na jednoj strani se koristiti kao početni uslov (uslovy(x1) = y1), a granični uslov na drugoj strani ostaje neiskorišten (uslov y(x2) =y2). Dodatni početni uslov, koji je potreban za v, se pretpostavi (uslov v(x1) =v1), a zatim se riješi sistem (6.75). Ukoliko je

|y(x2)− y2| < ε (6.76)

gdje je ε zadana tačnost, problem je riješen. Ukoliko nije, (iterativni) processe nastavlja promjenom dodatnog početnog uslova (v(x1) = v1). Obično se uprve dvije aproksimacije pretpostave dodatni početni uslovi, a zatim se upo-trebom metode sekante dolazi do sljedećih aproksimacija. Proces rješavanjase zaustavlja kada se ispuni uslov (6.76). U figurativnom smislu, pokušavase gađanjem doći do tačnog rješenja, odakle i ime metode. Primjena metodegađanja je pokazana u sljedećem primjeru.

Primjer 6.9

Stacionarni problem jednodimenzionalnog prenosa toplote sastoji se od to-plotne difuzije, odnosno kondukcije, uzduž šipke s konstantnim poprečnim pre-sjekom i toplotne konvekcije na okolinu. Može se pokazati da se ovaj problemopisuje sljedećom običnom diferencijalnom jednačinom drugog reda s granič-nim vrijednostima:

d2T

dT 2− α2T = −α2Ta

T (x1) = T (0) = T1 T (x2) = T (L) = T2

(6.77)

gdje je T temperatura u šipki, α = hP/kA, h koeficijent prenosa toplote, Pperimetar šipke, k toplotna provodljivost, A i L poprečni presjek i dužina šipke,respektivno, Ta temperatura okoline, a T1 i T2 temperature na krajevima šipke.

Uzeti da je: L = 0.01 m, T1 = 0 C, T2 = 100 C, α = 400 m−1, Ta = 0 C,i ∆x = 0.0025 m.

Page 143: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema graničnih vrijednosti 145

Rješenje

Tačno rješenje jednačine (6.77) za T i T ′ dato je jednačinama:

T (x) = Aeαx + Be−αx + Ta

T ′(x) = α(Aeαx −Be−αx)(6.78)

gdje je:

A =(T2 − Ta)− (T1 − T2)e

−αL

eαL − e−αx

B =(T1 − T2)e

αL − (T2 − Ta)

eαL − e−αx

Uzimajući u obzir zadatke podatke, dobiva se rješenje:

T (x) = 1.832179(e400x − e−400x)

T ′(x) = 732.8716(e400x + e−400x)(6.79)

Riješimo sada jednačinu (6.77) koristeći metodu gađanja. Prvo, zadatudiferencijalnu jednačinu drugog reda (6.77), svodimo na sistem od dvije običnediferencijalne jednačine prvog reda s početnim vrijednostima kako je opisanou poglavlju 6.3:

T ′ = u T (0) = 0

u′ = α2(T − Ta) u(0) = T ′(0)(6.80)

pri čemu se drugi uslov na početnoj granici, u(0) = T ′(0), pretpostavi.Pretpostavimo da je za prvu aproksimaciju u(0) = T

′(1)(0) = 1000 C/m, iriješimo sistem koristeći Runge-Kutta metodu, kao što je pokazano u poglavlju6.4. U tabeli 6.7 sumarno su dati rezultati za T i T ′.

Tabela 6.7: Uz primjer 6.9

T ′(0) = 1000C/m T ′(0) = 2000C/m

x, m T , C T ′, C/m T , C T ′, C/m

0 0.0000 1000.0000 0.0000 2000.0000

0.0025 2.9167 1541.6667 5.8333 3083.3333

0.0050 8.9931 3737.8472 17.9861 7475.6944

0.0075 24.7664 9959.2737 49.5327 19918.5475

0.0100 67.22934 26911.50957 134.45867 53823.01915

Page 144: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

146 6 Rješavanje običnih diferencijalnih jednačina

Na osnovu tabele se vidi da je vrijednost temperature na drugoj granicijednaka T (1)(L) = 67.22934 C, što je manje od zadate vrijednosti na istojgranici, tj. T (L) = 100 C. Sada pretpostavimo drugu aproksimaciju uslovaT ′(0) na početnoj granici, na primjer T

′(2)(0) = 2000 C/m, te ponovimopostupak rješavanja sistema jednačina (6.80) s novim početnim uslovima. Utabeli 6.7 sumarno su dati rezultati i za ovu pretpostavku dodatnog početnoguslova.

Ovaj put rješenje na drugoj granici, T (2)(L) = 134.45867 C, je veće odzadatog, T (L) = 100 C, pa postupak treba ponoviti koristeći novu aproksi-maciju. U tu svrhu se najčešće koristi metoda sekante, pri čemu su prve dvijeaproksimacije jednake onim koje smo pretpostavili, tj. T

′(1)(0) = 1000 C/m iT′(2)(0) = 2000 C/m. Opšta formula ima oblik:

T′(n+2)(0) = T

′(n+1)(0) +T (L)− T (n+1)(L)

nagib

nagib =T (n+1)(L)− T (n)(L)

T ′(n+1)(0)− T ′(n)(0)

(6.81)

pri čemu indeks (n + 2) predstavlja brojač iteracije. Dakle, za sljedeću aprok-simaciju, T

′(3), se dobiva:

nagib =134.45867− 67.22934

2000− 1000= 0.06722933

T′(3)(0) = 2000 +

100− 134.45867

0.06722933= 1487.4459

(6.82)

Koristeći dobiveno rješenje T′(3)(0) ponovimo postupak rješavanja sistema

(6.80). Rezultati su dati u tabeli 6.8 uz tačno rješenje prema izrazima (6.78).

Tabela 6.8: Uz primjer 6.9

x, m T , C T , C T ′, C/m T ′, C/m

0 0 0 1465.74 1487.45

0.0025 4.3064 4.3384 2261.76 2293.15

0.0050 13.2901 13.3767 5514.41 5559.85

0.0075 36.7091 36.8386 14756.60 14813.88

0.0100 100.0000 100.0000 40026.85 40029.42

Na osnovu tabele, lako se zaključuje da se radi o tačnom rješenju, s obziromda je T (L) = 100 C. Ovo se moglo i očekivati u ovoj iteraciji (linearnaaproksimacija vrijednosti), s obzirom da se radi o linearnom problemu.

Page 145: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema graničnih vrijednosti 147

Sljedeći primjer pokazuje primjenu metode gađanja za slučaj kada je na dru-goj granici umjesto vrijednosti funkcije (y(x2) = x2) poznata vrijednost prvogizvoda funkcije (y′(x2) = y′2). Postupak rješavanja je isti kao u prethodnomslučaju, osim što se umjesto "gađanja" vrijednosti funkcije na kraju intervala"gađa" vrijednost prvog izvoda na tom kraju.

Primjer 6.10

Riješiti zadatak iz primjera 6.9, s tim da je na drugom kraju šipka izolirana,tj. T ′(L) = 0.

Rješenje

U ovom slučaju treba riješiti diferencijalnu jednačinu s graničnim uslovima:

d2T

dT 2− α2T = −α2Ta

T (0) = T1 T ′(L) = 0(6.83)

odnosno sistem diferencijalnih jednačina:

T ′ = u T (0) = 0

u′ = α2(T − Ta) u(0) = T ′(0)(6.84)

Analitičko rješenje je dato izrazom:

T (x) = Aeαx + Be−αx + Ta

T ′(x) = α(Aeαx −Be−αx)(6.85)

s tim da je:

A =(T1 − Ta)

1 + e2αL

B =(T1 − Ta)e

2αL

1 + e2αL

odnosno za zadate podatke:

T (x) = 0.03353501(e4x + 99.96646499e−4x)

T ′(x) = 0.13414004(e4x − 99.96646499e−4x)(6.86)

Slično prethodnom primjeru, prvo pretpostavimo dvije vrijednosti za T ′(0),na primjer T

′(1)(0) = −40000 C/m i T′(2)(0) = −35000 C/m i riješimo

Page 146: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

148 6 Rješavanje običnih diferencijalnih jednačina

zadatak koristeći neku od metoda za rješavanje sistema običnih diferencijalnihjednačina s početnim vrijednostima. U tabeli 6.9 su dati rezultati proračunaza obje pretpostavljene vrijednosti T ′(0).

Tabela 6.9: Uz primjer 6.10

T ′(0) = −40000 C/m T ′(0) = −35000 C/m

x, m T , C T ′, C/m T , C T ′, C/m

0 100.0000 -40000.0000 100.0000 -35000.0000

0.0025 37.5000 -15000.0000 52.0833 -7291.6667

0.0050 14.0625 -5625.0000 59.0278 13064.2361

0.0075 5.2734 -2109.3750 129.1052 47686.9936

0.0100 1.97754 -791.01563 338.12422 133766.5322

Vidi se da je vrijednost T ′(L) za T′(1)(0) = −40000 C/m jednaka T

′(1)(L) =−791.01563 C/m, dok je za T

′(2)(0) = −35000 C/m jednaka T′(2)(L) =

133766.5322 C/m, pa sljedeću aproksimaciju tražimo koristeći metodu sekante(ovaj put umjesto vrijednosti T koristimo vrijednosti T ′), tj.

T′(3)(0) = T

′(2)(0) +T ′(L)− T

′(2)(L)

nagib

nagib =T′(2)(L)− T

′(1)(L)

T ′(2)(0)− T ′(1)(0)

(6.87)

nagib =133766.5322− (−791.01563)

−35000− (−40000)= 26.912

T′(3)(0) = −35000 +

0− 133766.5322

26.912= −39970.6068

(6.88)

Tabela 6.10: Uz primjer 6.10

x, m T , C T , C T ′, C/m T ′, C/m

0 100 100 -39973.17 -39970.6068

0.0025 36.8668 37.5857 -14673.78 -14954.6855

0.0050 13.7768 14.3268 -5312.48 -5515.1327

0.0075 5.6506 6.0014 -1721.39 -1816.6401

0.0100 3.6619 3.9536 0.00 -0.0002

Koristeći dobiveno rješenje T′(3)(0) = −39970.6068 C/m, ponovimo postu-

pak rješavanja sistema (6.83). Rezultati su dati u tabeli 6.10 uz tačno rješenje

Page 147: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema graničnih vrijednosti 149

prema izrazima (6.85). Ovaj put odstupanja numeričkog rješenja od analitič-kog su nešto veća nego u prethodnom primjeru, ali se tačnost može povećatismanjenjem koraka ∆x (Zaokruživanje vrijednosti T ′(L) na četvrtu decimalu,također je utjecalo na rezultat!).

6.5.2 Metoda konačnih razlika

Metoda konačnih razlika primijenjena na problem rješavanja obične diferen-cijalne jednačine drugog reda s graničnim vrijednostima, se ostvaruje krozsljedeće korake:

1. Neprekidna oblast (domena) se prekrije numeričkom mrežom§, tj. podijelina određeni broj pod-domena.

2. Izvodi u diferencijalnoj jednačini se aproksimiraju izrazima za numeričkodiferenciranje.

3. Dobivene aproksimacije izvoda se uvrste u diferencijalnu jednačinu kakobi se dobila algebarska jednačina konačnih razlika.

4. Rješava se rezultujuća jednačina konačnih razlika.

Kada se jednačina konačnih razlika primijeni na svaku tačku u numeričkojmreži, dobiva se sistem jednačina, koji se može riješiti nekom od metoda objaš-njenih u poglavlju 3. Primjena metode je pokazana na sljedećem primjeru.

Primjer 6.11

Primjer stacionarnog problema jednodimenzionalnog prenosa toplote 6.9 rije-šiti pomoću metode konačnih razlika. Domenu rješavanja podijeliti na četirijednaka dijela.

Rješenje

Jednačina koju treba riješiti ima oblik:

T ′′ − α2T = −α2Ta

T (x1) = T (0) = T1 T (x2) = T (L) = T2

(6.89)

Prvi korak u rješavanju je podjela domene na određeni broj dijelova. Premazadatku, domena je podijeljena na četiri jednaka dijela, dužine ∆x, čime sedobiva 5 čvornih tačaka, kao što je prikazano na slici 6.5.

§Za jednodimenzionalne probleme radi se o segmentima, odnosno podintervalima.

Page 148: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

150 6 Rješavanje običnih diferencijalnih jednačina

L

x

1 2 3 4 5T1 T2

x

Slika 6.5: Podjela domene za problem kondukcije – uz primjer 6.11

Sljedeći korak je aproksimacija izvoda izrazima za konačne razlike. Koristećiizraz (5.7), drugi izvod T ′′

i ima oblik:

T ′′i =

Ti+1 − 2Ti + Ti−1

∆x2(6.90)

pri čemu je i indeks čvorne tačke, i = 1, 2, . . . , 5. Pri tome indeksi 1 i 5predstavljaju čvorne tačke na granicama domene. Uvrštavanjem izraza (6.90)u jednačinu (6.89), nakon sređivanja, dobiva se jednačina konačnih razlika:

Ti−1 − (2 + α2∆x2)Ti + Ti+1 = α2∆x2Ta (6.91)

odnosno, nakon uvrštavanja zadatih veličina:

Ti−1 − 3Ti + Ti+1 = 0 (6.92)

Sada se jednačina primijeni na svaku unutrašnju tačku domene (i = 2, 3, 4),tj. mrežne tačke za x = 0.25, 0.5 i 0.75 cm, pa se dobiva:

x = 0.25 T1 − 3T2 + T3 = 0 (6.93a)x = 0.50 T2 − 3T3 + T4 = 0 (6.93b)x = 0.75 T3 − 3T4 + T5 = 0 (6.93c)

Uvrštenjem vrijednosti za T1 = 0 i T5 = 100 u jednačine (6.93a) i (6.93c),respektivno, dobiva se sistem, koji se može prikazati u matričnom obliku nasljedeći način:

−3 1 0

1 −3 1

0 1 −3

T2

T3

T4

=

0

0

−100

(6.94)

Page 149: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Rješavanje problema graničnih vrijednosti 151

Sistem je moguće riješiti bilo kojom metodom opisanom u poglavlju 3. Utabeli 6.11 dato je rješenje u svim čvornim tačkama, Ti, s odgovarajućim ana-litičkim rješenjem, T . Imajući u vidu mali broj podjela posmatrane domene,numeričko rješenje ne odstupa mnogo od analitičkog. Tačnost se može pove-ćati povećanjem broja podjela, odnosno smanjenjem dužine ∆x. S obzirom daje sistem rijedak (za jednodimenzionalne probleme maksimalno tri elementau svakom redu su različita od nule), a obično je i dijagonalno dominantan,u svrhu rješavanja se najčešće koriste iterativne metode za rješavanje sistemajednačina.

Tabela 6.11: Uz primjer 6.11

i x, m T , C T , C

1 0 0 0

2 0.0025 4.3064 4.7619

3 0.0050 13.2901 14.2857

4 0.0075 36.7091 38.0952

5 0.0100 100.0000 100.0000

Sljedeći primjer pokazuje primjenu metode konačnih razlika za slučaj kada jena drugoj granici umjesto vrijednosti funkcije poznata vrijednost prvog izvodafunkcije.

Primjer 6.12

Primjer 6.10 riješiti pomoću metode konačnih razlika. Domenu rješavanjapodijeliti na četiri jednaka dijela.

Rješenje

Problem se svodi na rješavanje diferencijalne jednačine drugog reda sa za-datim graničnim uslovima:

T ′′ − α2T = −α2Ta

T (0) = T1 T ′(L) = 0(6.95)

Slično prethodnom primjeru, data diferencijalna jednačina se za unutrašnjetačke može aproksimirati sljedećom jednačinom konačnih razlika:

Ti−1 − (2 + α2∆x2)Ti + Ti+1 = α2∆x2Ta (6.96)

Page 150: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

152 6 Rješavanje običnih diferencijalnih jednačina

Za razliku od prethodnog primjera, u kojem su na granicama date vrijednostitemperature T , u ovom slučaju na desnoj granici imamo vrijednost prvog iz-voda temperature, T ′ , što znači da vrijednost temperature T5 na drugoj granicinije poznata. Zbog toga se i za ovu tačku postavlja jednačina konačnih razlika,koja ima oblik:

T6 − 2T5 + T4

∆x2− α2T5 = −α2Ta (6.97)

S obzirom da tačka 6 ne postoji, može se smatrati fiktivnom kao što je prikazanona slici 6.6 (izvan domene), a dodatna jednačina se dobiva tako što se vrijednostprvog izvoda za tačku 5, koja je zadata zadatkom, aproksimira koristeći formuleza diferenciranje. Na primjer, koristeći formulu za centralno diferenciranjeimamo:

T ′5 = T ′(L) =

T6 − T4

2∆x(6.98)

L

x

1 2 3 4 5T1 T’

x x

6

Slika 6.6: Podjela domene za problem kondukcije – uz primjer 6.12

Uvrštavajući izraz (6.98) u (6.97), nakon sređivanja, dobiva se sljedeća jed-nakost:

2T4 − (2 + α2∆x2)T5 = −2∆xT ′(L)− α2Ta∆x2 (6.99)

odnosno, nakon uvrštavanja zadatih veličina:

2T4 − 3T5 = 0 (6.100)

Dakle, uzimajući u obzir unutrašnje tačke (i = 2, 3, 4), i tačku na granici nakojoj je poznat izvod T ′ (i = 5), dobivamo sistem jednačina:

x = 0.25 T1 − 3T2 + T3 = 0 (6.101a)x = 0.50 T2 − 3T3 + T4 = 0 (6.101b)x = 0.75 T3 − 3T4 + T5 = 0 (6.101c)

Page 151: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 153

x = 1.00 2T4 − 3T5 = 0 (6.101d)

koji se uz T1 = 100 može prikazati u matričnom obliku kao:

−3 1 0 0

1 −3 1 0

0 1 −3 1

0 0 2 −3

T2

T3

T4

T5

=

−100

0

0

0

(6.102)

Sistem je moguće riješiti bilo kojom metodom opisanom u poglavlju 3. Utabeli 6.12 dato je rješenje T za pojedine čvorove uz analitičko rješenje T .Slično prethodnom primjeru, tačnost rješenja se može poboljšati povećanjembroja podjele.

Tabela 6.12

i x, m T , C T , C

1 0 100 100

2 0.0025 36.8668 38.298

3 0.0050 13.7768 14.8940

4 0.0075 5.6506 6.3830

5 0.0100 3.6619 4.2550

6.6 Pitanja i zadaci

1. Nabroj metode za numeričko rješavanje običnih diferencijalnih jednačinas početnim vrijednostima!

2. Opiši Taylorovu metodu!

3. U čemu se sastoji Eulerova metoda!

4. U čemu je razlika između implicitne i eksplicitne Eulerove metode?

5. Šta su to Runge-Kutta metode i na koji način se izvode njihove jednačine!

6. Objasni razliku između prve i druge modifikacije Eulerove metode, od-nosno Runge-Kutta metoda drugog reda.

7. Na koji način se rješavaju diferencijalne jednačine s početnim vrijednos-tima višeg reda?

Page 152: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

154 6 Rješavanje običnih diferencijalnih jednačina

8. Na koji način se rješavaju sistemi diferencijalnih jednačina s početnimvrijednostima?

9. Koje metode se koriste za rješavanje diferencijalnih jednačina s graničnimvrijednostima?

10. Objasni postupak rješavanja običnih diferencijalnih jednačina s graničnimvrijednostima pomoću metode gađanja!

11. Objasni postupak rješavanja običnih diferencijalnih jednačina s graničnimvrijednostima pomoću metode konačnih razlika!

12. Koristeći neki od programskih jezika, napisati program za:

• Eulerovu eksplicitnu metodu• Eulerovu implicitnu metodu• prvu modifikaciju Eulerove metode• drugu modifikaciju Eulerove metode• Runge-Kutta metodu 4. reda• metodu konačnih razlika.

13. Rast populacije neke biološke vrste se često modelira običnom diferenci-jalnom jednačinom oblika:

dN

dt= aN − bN2 N(0) = N0 (6.103)

gdje je N populacija, aN predstavlja natalitet, a bN2 mortalitet usljedsvih uzroka (bolest, borba za hranu, . . . ). Ako je N0 = 105, a = 0.1, ib = 8 · 10−7, izračunati N(t) za period od 0 do 20 godina. Koristiti nekuod metoda za numeričko rješavanje običnih diferencijalnih jednačina spočetnim vrijednostima.

14. Tijelo mase m s početnom temperaturom T0 se hladi konvekcijom natemperaturu okoline Ta. Na osnovu Newtonovog zakona hlađenja može sedobiti: qkonv = hA(T − Ta), gdje je h koeficijent hlađenja konvekcijom iA površina tijela mase m. Kako je unutrašnja energija tijela E = mcpT ,gdje je cp specifična toplota, na osnovu održanja energije (brzina promjeneunutrašnje energije E je jednaka brzini hlađenja usljed konvekcije qkonv),dobiva se:

dT

dt= − hA

mC(T − Ta) T (0) = T0 (6.104)

Page 153: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 155

Koristeći neku od metoda za numeričko rješavanje običnih diferencijalnihjednačina s početnim vrijednostima, riješiti T (t) za vrijeme od 0 do 10sekundi, s korakom od 2 sekunde. Uzeti da je tijelo sferičnog oblika,prečnika r = 0.01 m, izrađeno od legure za koju je ρ = 3000 kg/m3, icp = 1000 J/kg K, h = 500 W/m2K, T (0) = 500 C, Ta = 50 C.

15. Prethodni zadatak kombinovati s primjerom 6.1 kako bi uzeli u obzirsimultano hlađenje konvekcijom i zračenjem.

16. Jačina struje i(t) u serijskom RLC kolu data je jednačinom:

Ldi

dt+ Ri +

1

Cq = U(t)

i(0) = i0 q(0) = q0

(6.105)

gdje je i jačina struje u A, q naboj u C, dq/dt = i, L induktivitet u H, Rotpor u Ω, C konduktivitet u F, a U je napon u V. Za podatke: L = 100mH, R = 10 Ω, C = 1 mF, U = 10 V, i0 = 0 i q0 = 0, treba izračunati i(t)za vrijeme od 0 do 0.05 sekundi. Koja je maksimalna vrijednost struje, ikada se javlja?

17. Ugaono odstupanje klatna bez trenja, θ(t), dato je jednačinom:

d2θ

dt2+

g

Lsin θ = 0

θ(0) = θ0 θ′(0) = θ′0

(6.106)

gdje je g gravitaciono ubrzanje, a L dužina klatna. Za male otklone θ,jednačina (6.106) se svodi na jednostavniji oblik:

d2θ

dt2+

g

Lθ = 0

θ(0) = θ0 θ′(0) = θ′0

(6.107)

Koristeći neku od metoda za numeričko rješavanje običnih diferencijalnihjednačina s početnim vrijednostima, riješiti θ(t) za jedan period oscilacijaza tačnu i pojednostavljenu jednačinu klatna. Uzeti da je θ(0) = 0.1 iθ(0) = 0.5 radijana uz L = 0.1, 1 i 10 m, te θ′(0) = 0.

18. Populacija dvije biološke vrste koje se natječu za isti izvor hrane može semodelirati sistemom običnih diferencijalnih jednačina:

dN1

dt= N1(A1 −B1N1 − C1N2) N1(0) = N1,0

dN2

dt= N2(A2 −B2N2 − C2N1) N2(0) = N2,0

(6.108)

Page 154: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

156 6 Rješavanje običnih diferencijalnih jednačina

gdje AN predstavlja natalitet, BN2 mortalitet usljed bolesti, a CN mor-talitet usljed borbe za hranu. Ako je N1(0) = N2(0) = 100, A1 = 0.1,B1 = 8 · 10−7, C1 = 10−6, A2 = 0.1, B2 = 8 · 10−7, C1 = 10−7, izračunatiN1(t) i N2(t) za vrijeme od 0 do 100 godina.

19. Raspodjela temperature u zidu cijevi kroz koju protiče vruća tečnost dataje sljedećom diferencijalnom jednačinom:

d2T

dr2+

1

r

dT

dr= 0

T1(1) = 100C T (2) = 0C(6.109)

Odrediti temperaturni profil u zidu cijevi.

20. Ako se cijev iz prethodnog primjera hladi konvekcijom na spoljašnjoj po-vršini, toplotna kondukcija na spoljašnjem zidu, qkond jednaka je toplotnojkonvekciji s okolinom, tj:

qkond = −kAdT

dr= qkonv = hA(T − Ta) (6.110)

gdje je toplotni konduktivitet k = 100 W/m K, koeficijent hlađenja kon-vekcijom h = 500 W/m2K, i Ta = 0 C temperatura okoline. Odredititemperaturni profil u zidu cijevi.

21. Ugib slobodno oslonjene grede opterećene kontinuiranim opterećenjem zamale ugibe, dat je diferencijalnom jednačinom:

EId2y

dx2= −qLx

2+

qx2

2y(0) = 0 y(L) = 0

(6.111)

gdje je q kontinuirano opterećenje po jedinici dužine, L dužina grede, Imoment inercije poprečnog presjeka grede, i E modul elastičnosti. Akose uzme da je I = bh3/12, te L = 5 m, b = 0.05 m, h = 0.1 m, E = 200GPa, i q = −1500 N/m, izračunati ugib y(x).

22. Zadatak 21 riješiti ako se greda optereti kontinuiranim opterećenjem povisini h, tj. I = b3h/12. U tom slučaju ugibi će biti veliki, pa se ne može

Page 155: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Pitanja i zadaci 157

koristiti jednačina (6.111), nego jednačina:

EI

d2y

dx2[1 +

(dy

dx

)2]3/2

= −qLx

2+

qx2

2

y(0) = 0 y(L) = 0

(6.112)

Uporediti dobivena rješenja.

Page 156: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0
Page 157: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Poglavlje 7

Ukratko o rješavanju parcijalnihdiferencijalnih jednačina

Parcijalne diferencijalne jednačine se javljaju u svim oblastima nauke i inže-njerstva, a većina realnih fizičkih procesa se može opisati pomoću njih. Umnogim slučajevima koriste se pojednostavljene aproksimacije, pa se parci-jalne diferencijalne jednačine mogu svesti na obične diferencijalne jednačine, aponekad i na algebarske jednačine. Međutim, u današnje vrijeme su neophodnitačniji modeli mnogih fizikalnih procesa, pa je neophodno pristupiti numerič-kom rješavanju parcijalnih diferencijalnih jednačina koje opisuju te probleme.

7.1 Ukratko o parcijalnim diferencijalnim jednačinama

Parcijalne diferencijalne jednačine su jednačine koje daju vezu između (za-visne) funkcije dvije ili više promjenljivih i parcijalnih izvoda ove funkcije snjenim nezavisnim promjenljivim. U većini inženjerskih problema nezavisnepromjenljive su prostorne koordinate i/ili vrijeme (x, y, z, t), a zavisna pro-mjenljiva zavisi od procesa koji se modelira.

Rješenje neke parcijalne diferencijalne jednačine je ona funkcija koja zado-voljava parcijalnu diferencijalnu jednačinu u čitavoj domeni posmatranja, pričemu moraju biti ispunjeni početni i/ili granični uslovi. U vrlo malom brojuslučajeva rješenje parcijalnih diferencijalnih jednačina može se prikazati u za-tvorenom obliku, pa se gotovo uvijek rješenje mora tražiti koristeći numeričkemetode.

Klasifikacija parcijalnih diferencijalnih jednačina se može izvršiti na različitenačine (prema redu, homogenosti, linearnosti koeficijenata, itd.), ali posebnomjesto zauzima ona koja ih dijeli na eliptičke, hiperboličke i paraboličke. Po-

Page 158: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

160 7 Ukratko o rješavanju parcijalnih diferencijalnih jednačina

moću ovih jednačina je moguće opisati sve tri vrste fizičkih problema koji semogu pojaviti – problemi ravnoteže, problemi kretanja (propagacije) i problemisopstvenih veličina.

Problemi ravnoteže su problemi koji opisuju stacionarna stanja, kao što jeraspodjela temperature u šipki, ravnoteža raspodjele napona u čvrstom tijeluusljed vanjskog opterećenja, te mnoga stacionarna tečenja fluida. Ovi i mnogidrugi stacionarni problemi predstavljeni su eliptičkim jednačinama. Prototipeliptičke jednačine su Laplaceova jednačina, koja opisuje nerotaciono tečenjenestišljivog fluida, te stacionarni prenos toplote kondukcijom.

Za razliku od problema ravnoteže, problemi kretanja (propagacije) ili širenjase opisuju paraboličkim ili hiperboličkim parcijalnim diferencijalnim jednači-nama. U ovu grupu spadaju problemi prenosa toplote, nestacionarna tečenja,prostiranje talasa, i dr. Klasični primjer paraboličke parcijalne diferencijalnejednačine je nestacionarna toplotna kondukcija. Hiperboličke jednačine domi-niraju analizom problema vibracija. Općenito se javljaju u vremenski zavisnimprocesima sa zanemarljivom količinom rasipanja, a prototip ove vrste jednačinaje talasna jednačina.

7.2 Numeričke metode za rješavanje parcijalnih diferen-cijalnih jednačina

Svaki od oblika parcijalnih diferencijalnih jednačina (eliptičke, paraboličke ihiperboličke) zahtijeva posebnu pažnju pri njihovom rješavanju. U tu svrhumogu se koristiti različite numeričke metode, kao što su metode konačnih raz-lika, metoda konačnih elemenata, metoda konačnih volumena, metoda granič-nih elemenata, metoda parčića, bezmrežna metoda, metode karakteristika, idr. U daljem tekstu date su osnovne ideje metode konačnih razlika, metodekonačnih elemenata, te metode konačnih volumena, s obzirom na njihovu čestuupotrebu u rješavanju mnogih inženjerskih problema.

7.2.1 Metoda konačnih razlika

O metodi konačnih razlika je već bilo riječi u poglavlju 6.5.2, gdje se poka-zala njena upotreba u numeričkom rješavanju običnih diferencijalnih jednačina.Ova metoda predstavlja i najstariju metodu za numeričko rješavanje parcijal-nih diferencijalnih jednačina (vjeruje se da ju je koristio Euler u XVIII vijeku)i postupak primjene na parcijalne diferencijalne jednačine je isti onom koji jeobjašnjen u poglavlju 6.5.2.

Page 159: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Numeričke metode za rješavanje parcijalnih diferencijalnih jednačina 161

7.2.2 Metoda konačnih volumena

Metoda konačnih volumena kao početni korak koristi integralni oblik zakonaodržanja (mase, količine kretanja, momenta količine kretanja, energije, . . . ).Domena rješavanja se podijeli na konačan broj međusobno povezanih kontrol-nih volumena, pa se jednačine održanja primijene na svaki od njih. U težištusvakog kontrolnog volumena nalazi se numerički čvor u kojem se proračunavajuvrijednosti promjenljivih. Vrijednosti promjenljivih na površinama kontrolnihvolumena se dobivaju interpolacijom preko vrijednosti promjenljivih u čvornimtačkama. Površinski i zapreminski integrali se aproksimiraju pomoću odgova-rajućih kvadraturnih formula, a na kraju se kao rezultat dobiva algebarskajednačina za svaki čvor, u kojima se javljaju i vrijednosti iz susjednih čvorova.

Metoda konačnih volumena je vjerovatno najjednostavnija metoda za razu-mijevanje i programiranje, s obzirom da svi članovi koje treba aproksimiratiimaju fizičko značenje. Upravo zbog toga je vrlo popularna kod inženjera. Je-dini nedostatak ove metode u odnosu na metodu konačnih razlika je u tomešto je metode višeg reda od drugog vrlo teško primijeniti na trodimenzionalneproračune. Ovo je zbog toga što metoda konačnih volumena ima tri nivoaaproksimacije: interpolaciju, diferenciranje i integraciju.

7.2.3 Metoda konačnih elemenata

Metoda konačnih elemenata je u mnogome slična metodi konačnih volumena.Domena rješavanja se podijeli na određeni broj diskretnih ili konačnih eleme-nata; za dvodimenzionalne probleme obično se koriste trougaoni ili četverouga-oni elementi, dok se za trodimenzionalne probleme najčešće koriste tetraedrii heksaedri. Osnovna razlika u odnosu na metodu konačnih volumena je utome što se jednačine pomnože s tzv. težinskom funkcijom prije nego se iz-vrši integracija. Kod najjednostavnijih metoda konačnih elemenata rješenje seaproksimira funkcijom linearnog oblika unutar svakog elementa na način kojigarantuje kontinuitet rješenja preko granica elemenata. Ova aproksimacija sezatim zamijeni u težinski integral zakona održanja, pa se kao rezultat dobivajunelinearne algebarske jednačine. Osnovna mana ove metode je što matrice li-neariziranih rješenja nisu dobro struktuirane, pa je teško naći efikasnu metoduza njihovo rješavanje.

Pored ovog, treba pomenuti i tzv. metodu konačnih elemenata koja sezasniva na kontrolnim volumenima (eng. control-volume-based finite elementmethod), kod koje se koriste funkcije oblika kako bi se opisale promjene pro-mjenljivih u nekom elementu. Kontrolni volumeni se formiraju oko svakogčvora tako što se povezuju težišta elemenata, pa se na svaki ovako formirani

Page 160: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

162 7 Ukratko o rješavanju parcijalnih diferencijalnih jednačina

kontrolni volumen primijene jednačine održanja na isti način kao kod metodekonačnih volumena.

Page 161: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

LITERATURA

[1] Bertolino, M. Numerička Analiza. Naučna knjiga, Beograd, 1981.

[2] Buchnan,J.L. and Turner,P.R. Numerical Methods and Analysis. McGraw-Hill, Inc., 1992.

[3] Chapra, S.C. and Canale, R.P. Numerical Methods for Engineers.McGraw-Hill Book Company, 5th edition, 2006.

[4] Collins, G.W. Fundamental Numerical Methods and Data Analysis. In-ternet Edition, 2003.

[5] Dahlquist, G. and Bjorck,A. Numerical Methods in Scientific Computing,volume I-III. Cambridge University Press, 2008.

[6] Demirdžić, I. Numerička matematika. Svjetlost, Sarajevo, 1997.

[7] Drmač, Z. and dr. Numerička Analiza. Sveučilište u Zagrebu, 2003.

[8] Ferziger, J.H. and Perić, M. Computational Methods for Fluid Dynamics.Springer-Verlag, 3th edition, 2002.

[9] Hjorth-Jensen, M. Computational Physics. University of Oslo, 2003.

[10] Hoffman, J.D. Numerical Methods for Engineers and Scientists. MarcelDekker, Inc., 2001.

[11] Schäfer, M. Computational Engineering - Introduction to Numerical Met-hods. Springer-Verlag, 2006.

Osim navedene literature, koja je korištena u toku pisanja ovog udžbenika,čitaoci se upućuju i na sljedeće naslove, koji po svom sadržaju ne samo dazadovoljavaju potrebe kursa (pojedini naslovi su vrlo korisni za vježbu, naro-čito pri korištenju raznih softvera), nego i šire, a u pojedinim su obuhvaćene idruge oblasti iz primjene numeričkih metoda. Uz to, značajan broj navedenihnaslova daje i gotove numeričke programe koji se mogu korisiti za rješavanjeodgovarajućih problema iz numeričkog inženjerstva.

Page 162: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

164 LITERATURA

[1] Billo, E. Excel for Scientists and Engineers - Numerical Methods. JohnWiley & Sons, Inc., 2007.

[2] Conte, S.D. i de Boor, C. Elementary Numerical Analysis - An Alghorit-mic Approach. McGraw-Hill Book Company, 3rd edition, 1997.

[3] Dubin, D. Numerical and Analytical Methods for Scientists and EngineersUsing Matematica. John Wiley & Sons, Inc., 2003.

[4] Kiusalaas, J. Numerical Methods in Engineering with MATLAB. Cam-bridge University Press, 2005.

[5] Manassah, J. Elementary Mathematical and Computational Tools forElectrical and Computer Engineers using MATLAB. CRC Press LLC,2001.

[6] Marić-Dedijer, M. Zbirka riješenih zadataka iz Numeričke Analize. Na-učna knjiga, Građevisnki fakuktet,Beograd, 1992.

[7] Pao, J. Engineering Analysis - Interactive Methods and Programs withFORTRAN, QuickBASIC, MATLAB and Mathematica. CRC Press LLC,2001.

[8] Press, W. Numerical Recipes in C. Cambridge University Press, 2ndedition, 1997.

[9] Salleh, S i dr. Computing for Numerical Methods Using Visual C++.John Wiley & Sons, Inc., 2008.

[10] Shampine, L i dr. Fundamentals of Numerical Computing. John Wiley& Sons, Inc., 1997.

[11] Subašić, K. Numeričke Metode. Univerzitet u Zenici, 2007.

Page 163: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Dodatak A

Taylorov red za funkcije jednepromjenljive

Može se pokazati da se svaka neprekidna funkcija f(x) može tačno predstavitistepenim redom u intervalu konvergencije r, tj.

f(x) =∞∑

n=0

an(x− x0)n, x0 − r ≤ x ≤ x0 + r (A.1)

Ako se koeficijenti an u jednačini (A.1) prikažu u obliku:

a0 = f(x0), a1 =1

1!f ′(x0), a2 =

1

2!f ′′(x0), . . . (A.2)

dobiva se Taylorov red funkcije f(x) za x = x0∗, odnosno

f(x) = f(x0) +1

1!f ′(x0)(x− x0) +

1

2!f ′′(x0)(x− x0)

2 + . . . (A.3)

ili u jednostavnijoj formi

f(x) = f0 + f ′0∆x +1

2f ′′0 ∆x2 + . . . +

1

n!f

(n)0 ∆xn + . . .

=∞∑

n=0

1

n!f

(n)0 ∆xn

(A.4)

S obzirom da je nepraktično računati vrijednost beskonačnog Taylorovogreda član po član, on se može napisati i kao konačan red, koji se još naziva i

∗Za x0 = 0 dobija se tzv. MacLaurinov red.

Page 164: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

166 A Taylorov red za funkcije jedne promjenljive

Taylorova formula ili polinom s ostatkom, kako slijedi:

f(x) = f(x0) +1

1!f ′(x0)(x− x0) +

1

2!f ′′(x0)(x− x0)

2 + . . .

+1

n!f (n)(x0)(x− x0)

n + Rn+1(A.5)

gdje je Rn+1 ostatak koji je dat formulom:

Rn+1 =1

(n + 1)!f (n+1)(ξ)(x− x0)

n+1, x0 ≤ ξ ≤ x (A.6)

Page 165: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Dodatak B

Softveri za numeričku analizu

U današnje vrijeme su za numeričko rješavanje inženjerskih i naučnih problemana raspolaganju brojni komercijalni softveri. U daljem tekstu su abecednimredom dati oni poznatiji i šire korišteni. U ovoj listi, međutim, nisu dati softverikoji se odnose na numeričko rješavanje parcijalnih diferencijalnih jednačina,odnosno softveri zasnovani na metodama poput metode konačnih elemenata,metode konačnih volumena i slično, s obzirom da se u udžbeniku ne izučavaovo područje.

Excel Excel predstavlja proračunsku tabelu (eng. spreadsheet) koju je kaodio Microsoft Officea razvio Microsoft, Inc. Ovaj programski paket omo-gućava razne proračune na podacima raspoređenim u redovima i kolonama.Ukoliko se promijeni bilo koji podatak, kompletan proračun koji ovisi od togpromijenjenog podatka se automatski koriguje. Uz ove osnovne karakteristike,Excel posjeduje i veliki broj ugrađenih algoritama, kao što su statističi tes-tovi, deskriptivna statistika, Fourierova analiza, regresija, i drugi. Ovaj paket,također, omogućava i brzo crtanje grafova u različitim stilovima (histogrami,kolone, površine, x-y grafovi, . . . ), a s Visual Basic programiranjem, koje jesastavni dio paketa, moguće je pravljenje sopstvenih windows aplikacija visokekvalitete. Ipak, treba napomenuti da ovaj softver nije napravljen za numeričkuanalizu, ali u svakom slučaju može poslužiti za rješavanje mnogih numeričkihproblema.Web stranica: http://office.microsoft.com/en-gb/excel/default.aspx

Maple Maple predstavlja višenamjenski matematički softverski alat visokekvalitete s potpuno integrisanim numeričkim i simboličkim računanjem. Sve

Page 166: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

168 B Softveri za numeričku analizu

funkcije softvera su pristupačne iz WYSIWYG∗ tehničkog okruženja, a mate-matički izrazi se ispisuju u prirodnoj notaciji. Uz sve to, tu su i state-of-the-artgrafika, te animacije s potpunom kontrolom editiranja i prezentacije.Web stranica: http://www.maplesoft.com/products/Maple/index.aspx

Mathematica Wolfram Mathematica, jedan od vodećih matematičkih soft-vera, razvio je Wolfram Research. Slično, Maple 6 predstavlja sistem s in-tegrisanim numeričkim i simboličkim računanjem. Ovaj softver obuhvata naj-veću kolekciju algoritma u jednom sistemu, koji mogu da rade u mnogobrojimoblastima numeričkog, grafičkog ili simboličkog računanja.Web stranica: http://www.wolfram.com/products/mathematica/index.html

MathCAD MathCAD je softver za inženjerske proračune koji pruža značajneprednosti u produktivnosti pri razvoju i dizaniranju inženjerskih projekata,kako za inženjera, tako i za sam proces. Za razliku od drugih softvera koji semogu koristiti u inženjerskim proračunima, MathCAD omogućava inženjerimada istovremeno dizajniraju i dokumentuju proračune sa savremenim funkci-onalnim i dinamičkim kalkulacijama koje uzimaju u obzir i mjerne jedinice.Ovaj paket sadrži veliki broj ugrađenih algoritama (funkcija) koji se mogu ko-ristiti u numeričkoj analizi, ali korisnik može da programira svoje algoritme uveoma moćnom programskom modulu.Web stranica: http://www.ptc.com/products/mathcad/

MATLAB MATLAB je integrirano proračunsko okruženje koje kombinujenumeričke proračune, naprednu grafiku i vizualizaciju, sa višim programskimjezikom. Ovaj softverski paket se može efektivnije koristiti u mnogo širemopsegu aplikacija u odnosu na gore pomenute pakete. Ove aplikacije obuhva-taju područja procesiranja signala i slika, komunikacija, kontrole dizajniranja,testiranja i mjerenja, financijskog modeliranja i analize, te numeričke biolo-gije. Također je moguće MATLAB integrirati s drugim programskim jezicimai aplikacijama.Web stranica: http://www.mathworks.com/products/matlab/

∗eng. What You See Is What You Get

Page 167: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Dodatak C

Neke korisne web stranice

U današnje vrijeme se na internetu mogu naći mnogobrojne web stranice kojesu bave numeričkim metodama i njihovom primjenom na razne inženjerskeprobleme. Neke od njih, koje prednjače po kvalitetu i interesantnosti sadržaja,date su u daljem tekstu.

[1] http://numericalmethods.eng.usf.edu/Izuzetno sadržajna web stranica, s velikim brojem poglavlja iz numeričkeanalize. Sadržaj stranice u potpunosti odgovara sadržaju ovog udžbenika,s tim da se tu mogu naći i predavanja (u PDF i Word formatima), prezen-tacije (u PDF i Power Point formatima), te programi napisani za softvereMaple, MathCAD, Mathamatica i Matlab. Uz sve ovo, na stranici se zasvaku oblast mogu naći i kviz pitanja radi provjere znanja.

[2] http://math.fullerton.edu/mathews/n2003//NumericalUndergradMod.htmlNa ovoj stranici data su predavanja koja se koriste na California StateUniversity, Fullerton, koja u potpunosti pokrivaju sadržaj ovog udžbe-nika, a tu se mogu naći i ostale metode iz oblasti numeričke matematike.

[3] http://math.jct.ac.il/∼naiman/nm/Online kurs iz numeričkih metoda na Jerusalem College of Technology.

[4] http://www.damtp.cam.ac.uk/lab/people/sd/lectures//nummeth98/introduction.htmJoš jedna od stranica na kojoj se nalazi nastavni materijal - University ofCambridge

[5] http://pagesperso-orange.fr/jean-pierre.moreau/links.htmlVrlo obimna baza urađenih programa iz oblasti numeričke analize. Pro-

Page 168: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

170 C Neke korisne web stranice

grami su dati za programske jezike BASIC, C++, Fortran 90, Pascal, teVisual C++.

[6] http://mathworld.wolfram.com/topics//NumericalMethods.htmlOva web stranica je samo jedan dio najobimnije baze iz oblasti matema-tike, koja se može naći na internetu.

[7] http://www.ima.umn.edu/∼arnold/disasters/Greške koje se javljaju u toku numeričkih proračuna, mogu da budu ka-tastrofalne. Na ovoj stranici su dati neki od najpoznatijih primjera.

[8] http://web.mit.edu/18.06/www/Video/video-fall-99.htmlNa ovoj stranici mogu se naći video predavanja iz oblasti linearne algebre,kao što su na primjer problemi koji se tiču upotrebe matrica.

Page 169: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Indeks

aproksimacija, 7, 85metoda najmanjih kvadrata, 86

nelinearna, 89polinom, 86

brojevni sistemi, 12

Cauchyjev problem, vidi problemi počet-nih vrijednosti

Cramerovo pravilo, 40

diferencijalne jednačine, 117problemi graničnih vrijednosti, vidi

problemi graničnih vrijednostidiferenciranje, vidi numeričko diferencira-

njedirektne metode, vidi sistemi linearnih

jednačina

Eulerova metoda, vidi problemi početnihvrijednosti

Gauss-Jordanova metoda, vidi metode eli-minacije

Gaussova metoda, vidi metode eliminacijeGaussove kvadraturne formule, vidi nume-

ričko integriranjeGauss-Seidelova metoda, vidi iterativne

metodegreške

apsolutna, 10izvori, 8propagacija, 10relativna, 10

integriranje, vidi numeričko integriranjeinterpolacija, 75

Lagrangeov polinom, 78Newtonovi polinomi, 80direktna metoda, 75greška, 85

inverzija matrica, vidi Gauss-Jordanovametoda

iteracija, 5iterativne metode, vidi sistemi linearnih

jednačinaGauss-Seidelova metoda, 64Jacobijeva metoda, 60metode relaksacije, 66uslov konvergencije, 60

Jacobijeva metoda, vidi iterativne metode

konvergencija, 5

linearizacija, 7lokalizacija nula, 14

matrična metoda, vidi metode eliminacijemetoda bisekcije, 15metoda eliminacije

Gauss-Jornadnova metodainverzija matrica, 50

greške zaokruživanja, 57matrična metoda, 52metode faktorizacije, 53

Croutova metoda, 53Doolittleova metoda, 53

nedostaci, 56podešenost sistema, 57

broj podešenosti, 58norma, 58

metoda gađanja, vidi problemi graničnihvrijednosti

Metoda Konačnih elemenata, 161metoda konačnih razlika, vidi problemi

graničnih vrijednosti, 160Metoda Konačnih Volumena, 161metoda najmanjih kvadrata, vidi aproksi-

macijametoda regula falsi, 18metoda sekante, vidi metoda sječice

Page 170: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

172 Indeks

metoda sječice, 30metoda tangente, vidi Newtonova metodametode eliminacije, 41

Gauss-Jordanova metoda, 49Gaussova metoda, 48

metode faktorizacije, vidi metode elimina-cije

metode relaksacije, vidi iterativne metode

nelinearna aproksimacija, vidi aproksima-cija

Newton-Cotesove formule, vidi numeričkointegriranje

Newtonova metoda, 24modifikovana, 29

numeričko diferenciranje, 95formule za diferenciranje, 97

centralno diferenciranje, 98diferenciranje unaprijed, 98, 123diferenciranje unazad, 98, 125

interpolacioni polinomi, 95numeričko integriranje, 101

Gaussove kvadraturne formule, 110Newton-Cotesove formule, 103

Simpsonovo pravilo, 108trapezno pravilo, 105

interpolacioni polinomi, 101

parcijalne diferencijalne jednačine, 159pokretna tačka, 12problemi graničnih vrijednosti, 143

metoda gađanja, 143metoda konačnih razlika, 149

problemi početnih vrijednosti, 118Cauchyjev problem, 118Eulerova metoda, 123

stabilnost, 127eksplicitna, 123implicitna, 125modifikovana, vidi Runge-Kutta

metodepoboljšana, vidi Runge-Kutta me-

todeRunge-Kutta metoda, 129Runge-Kutta metode

četvrtog reda reda, 133drugog reda, 129

Taylorova metoda, 119sistem jednačina, 139višeg reda, 136

prosta iteracija, 21

rekurzija, 5rješavanje jednačina, 13Runge-Kutta metode, vidi problemi počet-

nih vrijednosti

SimpsonovoSimpsonovo pravilo, vidi nu-meričko integriranje

sistemi linearnih jednačina, 39direktne metode, 40iterativne metode, 59

tabela podijeljenih razlika, 81Taylorov red, 119Taylorov red, 99Taylorova metoda, vidi problemi početnih

vrijednostitrapezno pravilo, vidi numeričko integrira-

nje

Vandermondeova determinanta, 76

značajne cifre, 8

Page 171: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Sadržaj

Predgovor 3

1 Uvod 51.1 Osnovne ideje i koncepti u numeričkoj analizi . . . . . . . . . . . . . . . . . . 5

1.1.1 Iteracija, konvergencija, rekurzija . . . . . . . . . . . . . . . . . . . . . 51.1.2 Aproksimacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Značajne cifre, greške i predstavljanje brojeva . . . . . . . . . . . . . . . . . . 81.2.1 Značajne cifre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.2 O greškama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.3 Predstavljanje brojeva . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Rješavanje jednačina 132.1 Osnovne faze u pronalaženju korijena jednačine . . . . . . . . . . . . . . . . . 13

2.1.1 Lokalizacija nula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.1.2 Poboljšanje rješenja . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Metoda polovljenja intervala . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3 Metoda regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4 Metoda proste iteracije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.5 Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.6 Modifikovana Newtonova metoda . . . . . . . . . . . . . . . . . . . . . . . . . 292.7 Metoda sječice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.8 Smjernice u traženju korijena i pisanju programa . . . . . . . . . . . . . . . . 322.9 Pitanja i zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Rješavanje sistema linearnih algebarskih jednačina 393.1 Direktne metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1.1 Cramerovo pravilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.1.2 Metode eliminacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.1.3 Matrična metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.1.4 Metode faktorizacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.1.5 Nedostaci metoda eliminacije . . . . . . . . . . . . . . . . . . . . . . . 56

3.2 Iterativne metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.2.1 Jacobijeva metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.2.2 Gauss-Seidelova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . 643.2.3 Metode relaksacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Page 172: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

174 Sadržaj

3.3 Ostale metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.4 Pitanja i zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4 Interpolacija i aproksimacija funkcija 734.1 Interpolacija polinomima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.1.1 Direktna metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.1.2 Lagrangeov interpolacioni polinom . . . . . . . . . . . . . . . . . . . . 784.1.3 Newtonovi interpolacioni polinomi . . . . . . . . . . . . . . . . . . . . 804.1.4 Greška interpolacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.2 Aproksimacija funkcija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854.2.1 Metoda najmanjih kvadrata . . . . . . . . . . . . . . . . . . . . . . . . 86

4.3 Pitanja i zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5 Numeričko diferenciranje i integriranje 955.1 Numeričko diferenciranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.1.1 Diferenciranje pomoću interpolacionih polinoma . . . . . . . . . . . . 955.1.2 Formule za diferenciranje . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.2 Numeričko integriranje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.2.1 Integriranje pomoću interpolacionih polinoma . . . . . . . . . . . . . . 1015.2.2 Newton-Cotesove formule . . . . . . . . . . . . . . . . . . . . . . . . . 1035.2.3 Gaussove kvadraturne formule . . . . . . . . . . . . . . . . . . . . . . 110

5.3 Pitanja i zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6 Rješavanje običnih diferencijalnih jednačina 1176.1 O običnim diferencijalnim jednačinama . . . . . . . . . . . . . . . . . . . . . . 1176.2 Rješavanje problema početnih vrijednosti . . . . . . . . . . . . . . . . . . . . 118

6.2.1 Taylorova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196.2.2 Eulerova metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236.2.3 Runge-Kutta metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296.2.4 Ostale metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

6.3 Obične diferencijalne jednačine višeg reda . . . . . . . . . . . . . . . . . . . . 1366.4 Sistem običnih diferencijalnih jednačina . . . . . . . . . . . . . . . . . . . . . 1396.5 Rješavanje problema graničnih vrijednosti . . . . . . . . . . . . . . . . . . . . 143

6.5.1 Metoda gađanja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1436.5.2 Metoda konačnih razlika . . . . . . . . . . . . . . . . . . . . . . . . . . 149

6.6 Pitanja i zadaci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7 Ukratko o rješavanju parcijalnih diferencijalnih jednačina 1597.1 Ukratko o parcijalnim diferencijalnim jednačinama . . . . . . . . . . . . . . . 1597.2 Numeričke metode za rješavanje parcijalnih diferencijalnih jednačina . . . . . 160

7.2.1 Metoda konačnih razlika . . . . . . . . . . . . . . . . . . . . . . . . . . 1607.2.2 Metoda konačnih volumena . . . . . . . . . . . . . . . . . . . . . . . . 1617.2.3 Metoda konačnih elemenata . . . . . . . . . . . . . . . . . . . . . . . . 161

Literatura 163

A Taylorov red za funkcije jedne promjenljive 165

Page 173: Numeričkemetode uinženjerstvuptf.unze.ba/wp/wp-content/uploads/2018/10/AK_NM_B5_090426.pdf · Koji interval sadrži korijen » zavisi od vrijednosti f(x0). Ako je Ako je f ( a 0

Sadržaj 175

B Softveri za numeričku analizu 167

C Neke korisne web stranice 169

Popis pojmova 171