21
Poglavlje 4 Interpolacija i aproksimacija funkcija U mnogim inženjerskim problemima, podaci koji se posmatraju su poznati samo za niz diskretnih tačaka, a ne kao kontinuirana funkcija. Na primjer, može se desiti da je (kontinuirana) funkcija y = f (x) (4.1) poznata samo u n diskretnih vrijednosti x, tj.: y i = y(x i ) (i =1, 2,...,n) (4.2) Međutim, veličine diskretnih podataka nisu uvijek ono što nama treba, nego nam ponekad trebaju i vrijednosti funkcije u nekim drugim tačkama (inter- polacija, ekstrapolacija ). Također, mogu nam trebati izvodi takve zavisnosti (diferenciranje ), ili integral (integriranje ). Ovo i sljedeće poglavlje su u uskoj vezi sa interpolacijom, diferenciranjem i integriranjem diskretnih podataka. Svi ovi procesi se izvršavaju aproksimiranjem diskretnih podataka pomoću neke približne funkcije, i izvršenjem željenog procesa. Postoji veliki broj različitih funkcija koje se mogu koristiti kao približne funkcije. U stvari, svaka algebarska funkcija se može koristiti u tu svrhu. Ipak, najčešće korištene funkcije su: 1. polinomi, a naročito linearne aproksimacione funkcije, 2. trigonometrijske funkcije, 3. eksponencijalne funkcije. Pri tome, ove funkcije trebaju imati sljedeće osobine:

interpolacija i aproksimacija

  • Upload
    darkoni

  • View
    669

  • Download
    1

Embed Size (px)

Citation preview

Page 1: interpolacija i aproksimacija

Poglavlje 4

Interpolacija i aproksimacijafunkcija

U mnogim inženjerskim problemima, podaci koji se posmatraju su poznatisamo za niz diskretnih tačaka, a ne kao kontinuirana funkcija. Na primjer,može se desiti da je (kontinuirana) funkcija

y = f(x) (4.1)

poznata samo u n diskretnih vrijednosti x, tj.:

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

Međutim, veličine diskretnih podataka nisu uvijek ono što nama treba, negonam ponekad trebaju i vrijednosti funkcije u nekim drugim tačkama (inter-polacija, ekstrapolacija). Također, mogu nam trebati izvodi takve zavisnosti(diferenciranje), ili integral (integriranje). Ovo i sljedeće poglavlje su u uskojvezi sa interpolacijom, diferenciranjem i integriranjem diskretnih podataka.Svi ovi procesi se izvršavaju aproksimiranjem diskretnih podataka pomoćuneke približne funkcije, i izvršenjem željenog procesa.

Postoji veliki broj različitih funkcija koje se mogu koristiti kao približnefunkcije. U stvari, svaka algebarska funkcija se može koristiti u tu svrhu.Ipak, najčešće korištene funkcije su:

1. polinomi, a naročito linearne aproksimacione funkcije,

2. trigonometrijske funkcije,

3. eksponencijalne funkcije.

Pri tome, ove funkcije trebaju imati sljedeće osobine:

Page 2: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

1. lako određivanje,

2. lako izračunavanje,

3. lako diferenciranje,

4. lako integriranje.

Postoje dva fundamentalno različita pristupa za određivanje približnih funk-cija koje se koriste za opisivanje zavisnosti grupe podataka:

1. interpolacija, ili tačno poklapanje

2. aproksimacija, ili približno poklapanje.

Interpolacija dovodi do funkcija koje tačno prolaze kroz sve zadate tačke, kaošto je to pokazano na slici 4.1a. Interpolacija se obično koristi za mali brojpodataka. Nasuprot tome, aproksimacijom se dolazi do funkcija koje prolazekroz grupu podataka na najbolji mogući način, bez obaveze da tačno prođukroz zadate tačke (slika 4.1b). Aproksimacija je veoma pogodna za velikegrupe podataka, lijepo grupisane podatke, te male i velike grupe razbacanihpodataka.

x

y

Diskretne tačke

a) b)

x

y

Diskretne tačke

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

4.1 Interpolacija polinomima

Opšta formula polinoma n-tog reda ima oblik:

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

n (4.3)

gdje n predstavlja red polinoma, a ai (i = 0, 1, . . . , n) su konstantni koeficijenti.Dakle, imamo n + 1 koeficijenata, pa je za dobijanje jedinstvenih vrijednostikoeficijenata neophodno n + 1 diskretnih tačaka.

66

Page 3: interpolacija i aproksimacija

4.1. Interpolacija polinomima

Za proces interpolacije pomoću polinoma veoma su bitne sljedeće dvije te-oreme:

• 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 diskretnih tačaka je jedinstven.

Dakle, bilo koja funkcija se može interpolirati do željene ili tražene tačnostipolinomom dovoljno velikog reda. S obzirom da se u praksi koriste polinominižeg reda, treba paziti na postizanje tačnosti. U narednim poglavljima datesu neke od metoda koje se koriste za izračunavanje koeficijenata polinoma.

4.1.1 Direktna metoda

Posmatrajmo opštu proceduru za interpolaciju niza tačaka sa jednakim ili ne-jednakim razmakom pomoću polinoma. 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). Problem se svodi na određivanje jedinstvenog polinoma n-togreda, Pn(x) (jednačina (4.3)), koji prolazi kroz sve date tačke. Uvrštavajućisvaki podatak u jednačinu (4.3) dobija se sistem od n + 1 jednačina sa n + 1nepoznatih koeficijenata ai (i = 0, 1, . . . , n), tj.:

y0 = a0 + a1x0 + a2x20 + . . . + anxn

0

y1 = a0 + a1x1 + a2x21 + . . . + anxn

1

y2 = a0 + a1x2 + a2x22 + . . . + anxn

2

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

yn = a0 + a1xn + a2x2n + . . . + anxn

n

(4.4)

Glavna 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.5)

67

Page 4: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

i naziva se Vandermondova determinanta. Može se pokazati da je vrijednostdeterminante za različite tačke xi (i = 0, 1, . . . , n) različita od nule, tako dasistem (4.4) ima jedinstveno rješenje. Dati sistem jednačina može se riješitinekom od metoda koje su objašnjene u prethodnom poglavlju. Rezultujućipolinom je jedinstveni polinom koji prolazi kroz svih n + 1 tačaka.

Glavna prednost direktne metode je što se kao rezultat dobija eksplicitnioblik funkcije, što znači da se vrijednost za bilo koju tačku dobija jednostavnimizračunavanjem vrijednosti funkcije za tu tačku. Prednost je i u tome što semože koristiti za podatke koji nemaju jednak razmak.

Glavni nedostatak metode je u tome što se u slučaju dobivanja nekih novihpodataka, čime se povećava i red polinoma, postupak dobijanja koeficijenatapolinoma mora ponoviti. Rezultat dobijen prethodno, sa polinomom nižegreda, nema nikakve veze sa onim koji se dobiju u ponovljenom postupku.

Primjer 4.1

Primjenu procesa interpolacije pomoću direktne metode prikazati na primjerujednostavne funkcije f(x) = 1/x, koristeći podatake u tabeli 4.1. Interpolirativrijednost za x = 3.44, koristeći linearnu, kvadratnu i kubnu aproksimaciju.

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 je:

f(3.44) =1

3.44= 0.290698 (4.6)

Prvo pokažimo proces interpolacije koristeći kvadratnu funkciju:

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

i tri (n + 1 = 2 + 1 = 3) tačke date u prethodnoj tabeli. Ako polinom (4.7)primijenimo na svaku od datih tačaka, dobijamo sljedeć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.8)

68

Page 5: interpolacija i aproksimacija

4.1. Interpolacija polinomima

Jednačina (4.8) se može riješiti nekom od metoda pokazanih u prethodnompoglavlju (npr. Gaussova metoda eliminacije), tako da se dobije sljedeći poli-nom:

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

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

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

= 0.290697(4.10)

U slučaju linearnog polinoma, uzimamo dvije tačke (drugu i treću, jer sezadata tačka nalazi između njih), tj. x = 3.40 i x = 3.50, pa se dobija sljedećisistem:

0.294118 = a + b · (3.40)

0.285714 = a + b · (3.50)(4.11)

što dovodi do polinoma:

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

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

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

U slučaju kubnog interpolacionog polinoma, neophodne su nam sve četirizadate tačke, pa se dobija 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.14)

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

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

odnosno, uvrštavajući vrijednost x = 3.44

P3(3.44) = 0.290698 (4.16)

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

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

69

Page 6: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

=0.290697 kvadratni =−0.000001

=0.290698 kubni = 0.000000

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

4.1.2 Lagrangeov interpolacioni polinom

Kao što se moglo vidjeti u prethodnom dijelu, direktna metoda je veoma jedno-stavna po svom principu, ali ima mnogo nedostataka, među kojima prednjačiznatno vrijeme za određivanje koeficijenata polinoma. Osim toga, za poli-nome višeg reda (n > 4) sistem jednačina može biti slabo podešen, što možeda uzrokuje veliku grešku u procjeni koeficijenata interpolacionog polinoma.

Jedan od jednostavnijih postupaka, koji se vrlo često koristi za interpola-ciju, je upotreba Lagrangeovih interpolacionih polinoma. Ovaj postupak se,također, može koristiti za interpolaciju podataka sa jednakim i nejednakimrazmacima.

Posmatrajmo, na primjer, slučaj sa dva podatka [a, f(a)] i [b, f(b)]. LinearniLagrangeov polinom koji tačno prolazi kroz obje tačke dat je jednačinom:

P1(x) =(x− b)

(a− b)f(a) +

(x− a)

(b− a)f(b) (4.17)

š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.18)

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

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

70

Page 7: interpolacija i aproksimacija

4.1. Interpolacija polinomima

tačaka [a, f(a)], [b, f(b)], . . . , [k, f(k)], imamo:

Pn(x) =(x− b)(x− c) . . . (x− k)

(a− b)(a− c) . . . (a− k)f(a)

+(x− a)(x− c) . . . (x− k)

(b− a)(b− c) . . . (b− k)f(b)

+ . . . +(x− a)(x− b) . . . (x− j)

(k − a)(k − b) . . . (k − j)f(k)

(4.19)

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.20)

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.21)

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

trebe za rješavanjem sistema jednačina, ali je neophodno znatno računarskovrijeme za dobijanje njegovih koeficijenata. Način određivanja Lagrangeovoginterpolacionog polinoma je znatno drugačiji od onog dobivenog direktnommetodom, ali po teoremu jedinstvenosti rješenja, obje metode daju isto, tačnorješenje.

Prednosti i nedostaci ove metode su slični kao i u prethodnom slučaju.Ipak, problem ponovnog rješavanja za drugačiji red polinoma, može se preva-zići korištenjem određenih procedura, koje se mogu naći u literaturi (Nevillovalgoritam, razlika dividendi).

Primjer 4.2

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

Rješenje

71

Page 8: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

Najprije ćemo odrediti interpolacioni polinom prvog reda, koristeći drugu itreću tačku iz tabele 4.1. Prema jednačini (4.17) 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.22)

Za polinom drugog reda, koristimo prve tri tačke iz tabele 4.1 i jednačinu(4.18), 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.23)

Za dobijanje polinoma trećeg reda koristimo opštu formulu (4.20), 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.24)

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 je i:

Pn(x) = f0 +

(s

1

)∆f0 +

(s

2

)∆2f0 + . . . +

(s

n

)∆nf0 (4.25)

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

s =x− x0

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

72

Page 9: interpolacija i aproksimacija

4.1. Interpolacija polinomima

gdje je h korak, tj. h = xi − xi−1, 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

i

)fi

(4.27)

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 vrijed-nost svakog člana tabele predstavlja razliku dvije vrijednosti sa lijeve strane,kao što je to dato i izrazima (4.27).

xi f(0)i f

(1)i f

(2)i f

(3)i

x1 f(0)1

f(1)1

x2 f(0)2 f

(2)1

f(1)2 f

(3)1

x3 f(0)3 f

(2)2

f(1)3

x4 f(0)4

Slika 4.2: Tabela podijeljenih razlika

Polinom predstavljen jednačinom (4.25) 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 poglavljuo aproksimacionim funkcijama, ali ipak ima osobinu da prolazi kroz svih n+1zadatih tačaka. Imajući u vidu teorem o jedinstvenosti rješenja, on predstavljaželjeni jedinstveni aproksimacioni polinom.

Najveća prednost ovog polinoma je što, osim jednostavnosti, povećani redpolinoma, a time i njegovu tačnost, dobijamo dodavanjem dodatnog člana naprethodni polinom manjeg reda, tako da nije potrebno dodatno računanje ko-eficijenata. Time se rad koji je učinjen prethodno, sa manjim brojem podataka,ne mora ponavljati.

Primjer 4.3

Koristeći prvi Newtonov interpolacioni polinom izračunati vrijednost funkcije

73

Page 10: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

f(x) = 1/x u tački za x = 3.44. U tu svrhu koristiti Tabelu 4.3. U tabeli su,također, date i podijeljene razlike za date vrijednosti funkcije.

xi f(0)i f

(1)i f

(2)i f

(3)i f

(4)i

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 tabeli 4.3, imamo da je x0 = 3.40, te h = 0.1, pa je:

s =x− x0

h=

3.44− 3.40

0.1= 0.4 (4.28)

Iz jednačine (4.25) se direktno dobija:

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.29)

74

Page 11: interpolacija i aproksimacija

4.1. Interpolacija polinomima

te uvodeći brojne vrijednosti u jednačinu (4.29):

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.00040) + . . .

(4.30)

Uzimajući u obzir samo prva dva člana dobija se linearna aproksimacija. Do-davajući i treći član dobija se kvadratna, a uzmajući u obzir prva četiri članapolinoma u jednačini (4.30) dobija se kubna aproksimacija. Dakle, imamo:

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

=0.290700 kvadratni =0.000002

=0.290698 kubni =0.000000

Rješenje za linearnu aproksimaciju je potpuno isto kao i u primjerima 4.1 i 4.2,dok je u slučaju kvadratne aproksimacije rezultat nešto drugačiji, s obziromda se u razmatranje nisu uzele iste čvorne 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, tako datražena vrijednost pada u zadati opseg (x = 3.44 ∈ (3.4, 3.5)) i imamo procesinterpolacije. Ako, pak, želimo izračunati vrijednost funkcije za x = 3.44,pri čemu početna tačka x0 = 3.2 ne ulazi u opseg čvornih tačaka koje su date,imamo ekstrapolacije, i rezultati su manje tačni. U tom slučaju, ako je x0 = 3.2i s = 2.4, dobija se:

P (3.44) =0.289772 linearni Greška =−0.000926

=0.290709 kvadratni = 0.000011

=0.290698 kubni = 0.000000

Vidimo da je greška za linearnu i kvadratnu ekstrapolaciju znatna, dok kubnadovodi do interpolacionog polinoma.

Prvi Newtonov interpolacioni polinom koristi se za početnu grupu podataka,ili grupu podataka koja se nalazi u sredini čitave grupe. U slučaju kada jeneophodno primijeniti ovu metodu na posljednju grupu podataka, neophodnerazlike unaprijed ne postoje, pa se koristi tzv. drugi Newtonov interpolacionipolinom, ili Newtonov interpolacioni polinom za diferenciranje unazad koji jedat izrazom:

Pn(x) = f0 +

(s+

1

)∆f0 +

(s+

2

)∆2f0 + . . . +

(s+

n

)∆nf0 (4.31)

75

Page 12: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

pri čemu je:(

s+

i

)=

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

i!(4.32)

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 iz tabele 4.3.

Rješenje

Prema tabeli 4.3, h = 0.1 i sa x0 = 3.5, imamo:

s =x− x0

h=

3.44− 3.50

0.1= −0.6 (4.33)

Iz jednačine (4.31) se direktno dobija:

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.34)

te uvodeći brojne vrijednosti u jednačinu (4.34):

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.00050) + . . .

(4.35)

Uzimajući u obzir samo prva dva člana dobija se linearna aproksimacija. Do-davajući i treći član dobija se kvadratna, a uzmajući u obzir prva četiri članapolinoma u jednačini (4.35) dobija se kubna aproksimacija. Dakle, imamo:

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

=0.290695 kvadratni =−0.000003

=0.290698 kubni = 0.000000

76

Page 13: interpolacija i aproksimacija

4.2. Aproksimacija funkcija

4.1.4 Greška interpolacije

Kao što je poznato, interpolacioni polinom se sa 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 sa interpolacionim polinomom. Razlikaizmeđu vrijednosti polinoma i funkcije, koju dati polinom interpolira, pred-stavlja 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.36)

gdje je:

ψ(x) =n∏

i=0

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

Međutim, formula (4.36) ima ograničenu praktičnu vrijednost, s obziromda se rijetko poznaje f (n+1), a gotovo nikada ξ. Ipak, formula ima teoretskuvrijednost u procjeni greške kod numeričkog diferenciranja i integriranja.

4.2 Aproksimacija funkcija

U prethodnom poglavlju opisane su interpolacione funkcije koje su pogodne zamali uzorak diskretnih podataka. U slučaju kada se radi o velikom broju poda-taka, ili podataka koji nisu lijepo grupisani, krive sa tačnim poklapanjem nijemoguće ostvariti, te su neophodna približna poklapanja - proces aproksimacije.

Posmatrajmo, na primjer, grupu diskretnih tačaka [xi, Y (xi)] = (xi, Yi) iaproksimacioni polinom y(x) koji je izabran da predstavi ove podatke, kao štoje prikazano na slici 4.4. Vidi se da diskretne tačke ne leže na polinomu y(x).Osnovna ideja određivanja aproksimacione funkcije zasniva se na minimizira-nju devijacija (razmaka) tačaka od aproksimacionog polinoma. Pri tome, možese pretpostaviti da su vrijednosti nezavisne promjenljive xi tačne, a da devija-cija zavisi od zavisno promjenljive Yi. Tada je devijacija ei razlika između Yi iyi = f(xi), tj.

ei = Yi − yi (4.38)

Proces minimizacije se može izvršiti na različite načine, ali se u tu svrhu naj-češće koristi metoda najmanjih kvadrata.

77

Page 14: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

x

y(x)

Yi(xi)

Diskretne tačke

y(x) Yi

xi

ei

Slika 4.4: Grafička interpretacija aproksimacije

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 zavisna od parametaraaproksimacione funkcije:

S =N∑

i=1

(ei)2 =

N∑i=1

(Yi − yi)2 (4.39)

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, dok su logaritam-ska ili eksponencijalna funkcija primjeri nelinearnih aproksimacionih funkcija.

Aproksimacija polinomom

Neka je dato N tačaka (xi, Yi) koje treba aproksimirati polinomom n-tog reda:

y = a0 + a1x + a2x2 + . . . + anxn (4.40)

Zbir kvadrata devijacija prema jednačini (4.39) 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.41)

78

Page 15: interpolacija i aproksimacija

4.2. Aproksimacija funkcija

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

∂S

∂ak

=N∑

i=1

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

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

Na taj način se dobija sistem od n + 1 linearnih jednačina koji nakon preure-đ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.43)

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

Na osnovu jednačine 4.43, lako je pokazati da se u slučaju aproksimacijelinearnom funkcijom y = a + bx dobija 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.44)

koji se vrlo lako može riješiti. Aproksimacija polinomom prvog reda se najčešćekoristi u praksi. Pri korištenju polinoma višeg reda mogu se pojaviti problemi,jer sistem jednačina (4.43) može biti slabo podešen. Ipak, normalizovanjemjednač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.

79

Page 16: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

Primjer 4.5

U tabeli 4.2 data je zavisnost specifične toplote zraka pri konstantnom priti-sku (za niske temperature), Cp, od temperature zraka, T . Koristeći metodunajmanjih kvadrata potrebno je odrediti aproksimacioni polinom prvog redau obliku:

Cp = a + bT (4.45)

Tabela 4.2: Uz primjer 4.5

T , K Cp, J/mK·103 Cp,J/mK·103 Greška, %

300 1.0045 0.9948 -0.97

400 1.0134 1.0153 0.19

500 1.0296 1.0358 0.61

600 1.0507 1.0564 0.54

700 1.0743 1.0769 0.24

800 1.0984 1.0974 -0.09

900 1.1212 1.1180 -0.29

1000 1.1410 1.1385 -0.22

Rješenje

Koristeći jednačinu (4.44) dobija se sljedeći sistem jednačina:

8a + b

8∑i=1

Ti =8∑

i=1

Cp,i

a

8∑i=1

Ti + b

8∑i=1

Ti2 =

8∑i=1

TiCp,i

(4.46)

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:

8a + 5200b = 8.5331

5200a + 3800000b = 5632.74(4.47)

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

Cp = 0.933194 + 0.205298 · 10−3T (4.48)

80

Page 17: interpolacija i aproksimacija

4.2. Aproksimacija funkcija

U tabeli 4.2 date su i vrijednosti dobivene jednačinom (4.48), Cp, te greškeaproksimacije.

Primjer 4.6

U tabeli 4.3 data je zavisnost specifične toplote zraka pri konstantnom priti-sku (za visoke temperature), Cp, od temperature zraka, T . Koristeći metodunajmanjih kvadrata potrebno je odrediti aproksimacioni polinom drugog redau obliku:

Cp = a + bT + cT 2 (4.49)

Tabela 4.3: Uz primjer 4.6

T , K Cp, J/mK·103 Cp, J/mK·103 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 jednačinu (4.43) za n = 3 dobija 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.50)

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.51)

81

Page 18: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

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

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

U tabeli 4.3 date su i vrijednosti dobivene jednačinom (4.52), te greške apro-ksimacije.

Nelinearna aproksimacija

U mnogim inženjerskim problemima fizikalne osobine nekih procesa navodenas na korištenje nekih drugih aproksimacionih funkcija, kao što su na primjerlogaritamske, eksponencijalne, i sl. U tim slučajevima, metoda najmanjihkvadrata vodi do sistema jednačina koji je nelinearan, pa je traženje koefici-jenata takvih jednačina otežano. Ipak, ponekad je nelinearni aproksimacioniproblem moguće svesti na linearan koristeći pogodne smjene.

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

y = axb (4.53)

Logaritmiranjem gornjeg izraza dobija se:

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

i uvođenjem smjena Y = ln(y), A = ln(a), X = ln(x) i B = b, problem sesvodi na aproksimaciju polinomom prvog reda:

Y = A + Bx (4.55)

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

y = aebx (4.56)

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

ln(y) = ln a + bx ⇒ Y = A + bx (4.57)

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,. . . ).

82

Page 19: interpolacija i aproksimacija

4.2. Aproksimacija funkcija

Primjer 4.7

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

y = aebx (4.58)

Tabela 4.4: Uz primjer 4.7x 0 1 2 3 4y 3 6 12 24 48

Y = ln(y) 1.098612 1.791759 2.484907 3.178053 3.871201

Rješenje

Prema jednačini (4.57), trebamo prvo odrediti ln(y) (dato u tabeli 4.4), aonda problem svesti na određivanje aproksimacione funkcije Y = A + bx, pričemu je Y = ln(y) i A = ln(a). Na taj način dobijamo 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.59)

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:

8A + 10b = 12.424533

10A + 30b = 31.780538(4.60)

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

Y = A + bx = 1.09861 + 0.69315x (4.61)

odnosno, koristeći smjene:

y = aebx = eAebx = e1.09861e0.69315x = 3e0.69315x (4.62)

Posljednja jednakost se može predstaviti i u obliku:

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

83

Page 20: interpolacija i aproksimacija

Interpolacija i aproksimacija funkcija

4.3 Pitanja i zadaci

1. Objasniti razliku između aproksimacije i interpolacije!

2. Navesti metode interpolacije!

3. Objasniti prednosti i mane direktne metode!

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

5. Navesti osnovne prednosti Newtonovih interpolacionih polinoma!

6. Greška interpolacije, i njena upotrebna vrijednost.

7. Navesti metode koje se koriste za aproksimaciju funkcija!

8. Objasniti metodu najmanjih kvadrata!

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

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

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

Tabela 4.5: Uz zadatak 11

T , K Cp,kJ/kgK h,kJ/kg T , K Cp,kJ/kgK 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.

84

Page 21: interpolacija i aproksimacija

4.3. Pitanja i zadaci

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

13. Zadatak 11 riješiti koristeći Lagrangeov interpolacioni polinom!

14. Zadatak 12 riješiti koristeći Lagrangeov interpolacioni polinom!

15. Zadatke 11 i 12 riješiti korištenjem prvog Newtonovog interpolacionogpolinoma!

16. Koristeći podatke za specifičnu toplotu zraka pri konstantnom pritisku,Cp, iz tabele 4.5 za 1000 ≤ T ≤ 1400, naći najbolju aproksimaciju poli-nomom prvog reda. Dati grešku za svaku čvornu tačku.

17. Prethodni zadatak riješiti uzimajući u obzir sve podatke iz tabele 4.5.Rezultate uporediti sa onim iz prethodnog primjera.

18. Naći polinom četvrtog reda kao aproksimaciju podataka za specifičnu gus-tinu zraka pri konstantnom pritisku, i dati grešku za svaku čvornu tačku.

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

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

21. Napisati program sa metodom najmanjih kvadrata za slučaj polinomaprvog reda!

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

f = aReb (4.64)

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

Tabela 4.6: Uz zadatak 22

Re 500 1000 1500 2000

f 0.0320 0.0160 0.0107 0.0080

85