Download as pdf or txt
Download as pdf or txt
You are on page 1of 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.:
yi = y(xi ) (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 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 broj
podataka. Nasuprot tome, aproksimacijom se dolazi do funkcija koje prolaze
kroz grupu podataka na najbolji mogući način, bez obaveze da tačno prođu
kroz zadate tačke (slika 4.1b). Aproksimacija je veoma pogodna za velike
grupe podataka, lijepo grupisane podatke, te male i velike grupe razbacanih
podataka.
a) b)
y y

Diskretne tačke Diskretne tačke

x x

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 + a1 x + a2 x2 + . . . + an xn (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 vrijednosti
koeficijenata neophodno n + 1 diskretnih tačaka.

66
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) neprekidna
na intervalu [a, b], tada za svako proizvoljno malo ε > 0 postoji polinom
Pn (x), kod kojeg vrijednost n zavisi od vrijednosti ε, tako da za svako x
u intervalu [a, b] vrijedi

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

• Teorem o jedinstvenosti rješenja: Polinom n-tog reda koji prolazi kroz


tačno n + 1 diskretnih tačaka je jedinstven.
Dakle, bilo koja funkcija se može interpolirati do željene ili tražene tačnosti
polinomom dovoljno velikog reda. S obzirom da se u praksi koriste polinomi
nižeg reda, treba paziti na postizanje tačnosti. U narednim poglavljima date
su 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-tog
reda, Pn (x) (jednačina (4.3)), koji prolazi kroz sve date tačke. Uvrštavajući
svaki podatak u jednačinu (4.3) dobija se sistem od n + 1 jednačina sa n + 1
nepoznatih koeficijenata ai (i = 0, 1, . . . , n), tj.:
y0 = a0 + a1 x0 + a2 x20 + . . . + an xn0
y1 = a0 + a1 x1 + a2 x21 + . . . + an xn1
y2 = a0 + a1 x2 + a2 x22 + . . . + an xn2 (4.4)
.....................
yn = a0 + a1 xn + a2 x2n + . . . + an xnn
Glavna determinanta sistema jednaka je:
¯ ¯
¯ 1 x0 x20 . . . xn0 ¯
¯ ¯
¯ 1 x1 x21 . . . xn1 ¯
¯ ¯
¯ 1 x2 x22 . . . xn2 ¯ (4.5)
¯ . . .. . . .. ¯¯
¯ .. .. . . . ¯
¯
¯ 1 x x2 . . . xnn ¯
n n

67
Interpolacija i aproksimacija funkcija

i naziva se Vandermondova determinanta. Može se pokazati da je vrijednost


determinante za različite tačke xi (i = 0, 1, . . . , n) različita od nule, tako da
sistem (4.4) ima jedinstveno rješenje. Dati sistem jednačina može se riješiti
nekom od metoda koje su objašnjene u prethodnom poglavlju. Rezultujući
polinom je jedinstveni polinom koji prolazi kroz svih n + 1 tačaka.
Glavna prednost direktne metode je što se kao rezultat dobija eksplicitni
oblik funkcije, što znači da se vrijednost za bilo koju tačku dobija jednostavnim
izračunavanjem vrijednosti funkcije za tu tačku. Prednost je i u tome što se
može koristiti za podatke koji nemaju jednak razmak.
Glavni nedostatak metode je u tome što se u slučaju dobivanja nekih novih
podataka, čime se povećava i red polinoma, postupak dobijanja koeficijenata
polinoma mora ponoviti. Rezultat dobijen prethodno, sa polinomom nižeg
reda, nema nikakve veze sa onim koji se dobiju u ponovljenom postupku.

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

Tabela 4.1: Uz primjer 4.1


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


1
f (3.44) = = 0.290698 (4.6)
3.44
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 (4.8)
0.285714 = a + b · (3.50) + c · (3.50)2

68
4.1. Interpolacija polinomima

Jednačina (4.8) se može riješiti nekom od metoda pokazanih u prethodnom


poglavlju (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
(4.10)
= 0.290697
U slučaju linearnog polinoma, uzimamo dvije tačke (drugu i treću, jer se
zadata tačka nalazi između njih), tj. x = 3.40 i x = 3.50, pa se dobija sljedeći
sistem:
0.294118 = a + b · (3.40)
(4.11)
0.285714 = a + b · (3.50)
š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 četiri
zadate 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
(4.14)
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
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čine
grešaka:
P (3.44) =0.290756 linearni Greška = 0.000058

69
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či
znatno 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že
da 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 nejednakim
razmacima.
Posmatrajmo, na primjer, slučaj sa dva podatka [a, f (a)] i [b, f (b)]. Linearni
Lagrangeov polinom koji tačno prolazi kroz obje tačke dat je jednačinom:

(x − b) (x − a)
P1 (x) = f (a) + f (b) (4.17)
(a − b) (b − a)

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

(x − b)(x − c) (x − a)(x − c)
P2 (x) = f (a) + f (b)
(a − b)(a − c) (b − a)(b − c)
(4.18)
(x − a)(x − b)
+ f (c)
(c − a)(c − b)

Slično prethodnom slučaju, lako je pokazati da dobijeni polinom prolazi kroz


sve tri zadate tačke.
Općenito, gore sprovedena procedura može se primijeniti za bilo koji skup
od n + 1 tačaka, koji će dati polinom n-tog reda. U tom slučaju, za n + 1

70
4.1. Interpolacija polinomima

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


(x − b)(x − c) . . . (x − k)
Pn (x) = f (a)
(a − b)(a − c) . . . (a − k)
(x − a)(x − c) . . . (x − k)
+ f (b) (4.19)
(b − a)(b − c) . . . (b − k)
(x − a)(x − b) . . . (x − j)
+ ... + f (k)
(k − a)(k − b) . . . (k − j)
ili u nešto drugačijem obliku:
Pn (x) = L0 (x)f (x0 ) + L1 (x)f (x1 ) + . . . + Ln (x)f (xn )
Xn
(4.20)
= Lk (x)f (xk )
k=0

gdje
(x − x0 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xn )
Lk (x) =
(xk − x0 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xn )
Yn (4.21)
x − xi
= (k = 0, 1, . . . , n)
i=0
x k − x i
i6=k

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čunarsko
vrijeme za dobijanje njegovih koeficijenata. Način određivanja Lagrangeovog
interpolacionog polinoma je znatno drugačiji od onog dobivenog direktnom
metodom, ali po teoremu jedinstvenosti rješenja, obje metode daju isto, tačno
rješ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 (Nevillov
algoritam, razlika dividendi).

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

Rješenje

71
Interpolacija i aproksimacija funkcija

Najprije ćemo odrediti interpolacioni polinom prvog reda, koristeći drugu i


treću tačku iz tabele 4.1. Prema jednačini (4.17) imamo:

(x − 3.50) (x − 3.40)
P1 (x) = 0.294118 + 0.285714
(3.40 − 3.50) (3.50 − 3.40) (4.22)
= 0.579854 − 0.08404x

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

(x − 3.40)(x − 3.50)
P2 (x) = 0.298507
(3.35 − 3.40)(3.35 − 3.50)
(x − 3.35)(x − 3.50)
+ 0.294118
(3.40 − 3.35)(3.40 − 3.50) (4.23)
(x − 3.35)(x − 3.40)
+ 0.285714
(3.50 − 3.35)(3.50 − 3.40)
= 0.876561 − 0.256080x + 0.0249333x2

Za dobijanje polinoma trećeg reda koristimo opštu formulu (4.20), pri čemu
je n = 3. U tu svrhu, koriste se sve četiri tačke iz tabele 4.1. Može se pokazati
da 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 i


moglo 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:
µ ¶ µ ¶ µ ¶
s s 2 s
Pn (x) = f0 + ∆f0 + ∆ f0 + . . . + ∆n f0 (4.25)
1 2 n

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


x − x0
s= čime je x = x0 + sh (4.26)
h
72
4.1. Interpolacija polinomima

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


∆f0 = f1 − f0
∆2 f0 = ∆f1 − ∆f0 = f2 − 2f1 + f0
...... (4.27)
X n µ ¶
n n−1 n−1 i n
∆ f0 = ∆ f1 − ∆ f0 = (−1) fi
i=0
i

Ove razlike se mogu dobiti i pomoću tzv. tabele podijeljenih razlika. Jedna
takva 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).
(0) (1) (2) (3)
xi fi fi fi fi
(0)
x1 f1
(1)
f1
(0) (2)
x2 f2 f1
(1) (3)
f2 f1
(0) (2)
x3 f3 f2
(1)
f3
(0)
x4 f4

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 poglavlju
o aproksimacionim 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.
Najveća prednost ovog polinoma je što, osim jednostavnosti, povećani red
polinoma, a time i njegovu tačnost, dobijamo dodavanjem dodatnog člana na
prethodni 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
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.

(0) (1) (2) (3) (4)


xi fi fi fi fi fi
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:


x − x0 3.44 − 3.40
s= = = 0.4 (4.28)
h 0.1
Iz jednačine (4.25) se direktno dobija:

s(s − 1) 2
P (3.44) = f (3.4) + s∆f (3.4) + ∆ f (3.4)
2! (4.29)
s(s − 1)(s − 2) 3
+ ∆ f (3.4) + . . .
3!
74
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)
+ (0.000468) (4.30)
2
0.4(0.4 − 1)(0.4 − 2)
+ (−0.00040) + . . .
3!
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 člana
polinoma 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 obzirom
da se u razmatranje nisu uzele iste čvorne tačke. No, i ovdje se vidi da se
povećanjem reda polinoma znatno povećava tačnost.
U prethodnom primjeru smo kao početnu tačku uzeli tačku x0 = 3.4, tako da
tražena vrijednost pada u zadati opseg (x = 3.44 ∈ (3.4, 3.5)) i imamo proces
interpolacije. 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.2
i 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 kubna
dovodi 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 je
neophodno primijeniti ovu metodu na posljednju grupu podataka, neophodne
razlike unaprijed ne postoje, pa se koristi tzv. drugi Newtonov interpolacioni
polinom, ili Newtonov interpolacioni polinom za diferenciranje unazad koji je
dat izrazom:
µ +¶ µ +¶ µ +¶
s s 2 s
Pn (x) = f0 + ∆f0 + ∆ f0 + . . . + ∆n f0 (4.31)
1 2 n

75
Interpolacija i aproksimacija funkcija

pri čemu je:


µ +¶
s s(s + 1)(s + 2) · · · (s + [i − 1])
= (4.32)
i i!
a ostale oznake su kao u prethodnom slučaju.
Primjer 4.4
Koristeći drugi Newtonov interpolacioni polinom izračunati vrijednost funkcije
f (x) = 1/x u tački za x = 3.44 (tačno rješenje je x = 0.290698 . . .). Kao
poč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:


x − x0 3.44 − 3.50
s= = = −0.6 (4.33)
h 0.1
Iz jednačine (4.31) se direktno dobija:
s(s + 1) 2
P (3.44) = f (3.5) + s∆f (3.5) + ∆ f (3.5)
2! (4.34)
s(s + 1)(s + 2) 3
+ ∆ f (3.5) + . . .
3!
te uvodeći brojne vrijednosti u jednačinu (4.34):
P (3.44) = 0.285714 + (−0.6)(−0.008404)
(−0.6)(−0.6 + 1)
+ (0.000508) (4.35)
2
(−0.6)(−0.6 + 1)(−0.4 + 2)
+ (−0.00050) + . . .
3!
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 člana
polinoma 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
4.2. Aproksimacija funkcija

4.1.4 Greška interpolacije


Kao što je poznato, interpolacioni polinom se sa datom funkcijom poklapa u
svim č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. Razlika
izmeđ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:
f (n+1) (ξ)
Rn (x) = f (x) − Pn (x) = ψ(x) (4.36)
(n + 1)!
gdje je:
n
Y
ψ(x) = (x − xi ) i ξ ∈ (a, b) (4.37)
i=0

Međutim, formula (4.36) ima ograničenu praktičnu vrijednost, s obzirom


da se rijetko poznaje f (n+1) , a gotovo nikada ξ. Ipak, formula ima teoretsku
vrijednost u procjeni greške kod numeričkog diferenciranja i integriranja.

4.2 Aproksimacija funkcija


U prethodnom poglavlju opisane su interpolacione funkcije koje su pogodne za
mali 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 nije
moguće ostvariti, te su neophodna približna poklapanja - proces aproksimacije.
Posmatrajmo, na primjer, grupu diskretnih tačaka [xi , Y (xi )] = (xi , Yi ) i
aproksimacioni polinom y(x) koji je izabran da predstavi ove podatke, kao što
je 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že
se 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 i
yi = 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
Interpolacija i aproksimacija funkcija

y(x)
Yi(xi)
ei
Yi y(x)

Diskretne tačke

xi x

Slika 4.4: Grafička interpretacija aproksimacije

4.2.1 Metoda najmanjih kvadrata


Metoda najmanjih kvadrata zasniva se na minimiziranju zbira kvadrata razlika
ei = Yi − yi , tj. na minimiziranju funkcije S, koja je zavisna od parametara
aproksimacione funkcije:
N
X N
X
2
S= (ei ) = (Yi − yi )2 (4.39)
i=1 i=1

Pri tome, aproksimaciona funkcija y(x) može biti linearna ili nelinearna (pri
tome se naziv linearan odnosi na linearnost po parametrima, a ne nezavisnim
velič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 + a1 x + a2 x2 + . . . + an xn (4.40)

Zbir kvadrata devijacija prema jednačini (4.39) je:


N
X N
X
2
S(a0 , a1 , a2 , . . . , an ) = (ei ) = (Yi − yi )2
i=1 i=1
N
(4.41)
X
= (Yi − a0 − a1 xi − . . . − an xni )2
i=1

78
4.2. Aproksimacija funkcija

Potreban uslov za postojanje ekstrema (time i minimuma) ove funkcije sa više


nepoznatih je:
X N
∂S
= 2(Yi −a0 −a1 xi −. . .−an xni )(−xki ) = 0 (k = 0, 1, . . . , n) (4.42)
∂ak i=1

Na taj način se dobija sistem od n + 1 linearnih jednačina koji nakon preure-


đivanja ima oblik:
N
X N
X N
X
a0 N + a1 xi + . . . + an xni = Yi
i=1 i=1 i=1
N
X N
X N
X N
X
a0 xi + a1 x2i + . . . + an xn+1
i = xi Yi
i=1 i=1 i=1 i=1
(4.43)
..............................
N
X N
X N
X N
X
a0 xni + a1 xn+1
i + . . . + an x2n
i = xni Yi
i=1 i=1 i=1 i=1

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


jednačina.
Na osnovu jednačine 4.43, lako je pokazati da se u slučaju aproksimacije
linearnom funkcijom y = a + bx dobija sljedeći sistem jednačina:
N
X N
X
aN + b xi = Yi
i=1 i=1
N N N
(4.44)
X X X
a xi + b x2i = xi Yi
i=1 i=1 i=1

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 problemi,
jer sistem jednačina (4.43) može biti slabo podešen. Ipak, normalizovanjem
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 za
n od 6 do 10 mogu, ali i ne moraju dovesti do dobrih rezultata. Vrijednosti
n > 10 općenito vode lošim rezultatima. Slaba podešenost sistema jednačina
mož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
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 metodu
najmanjih kvadrata potrebno je odrediti aproksimacioni polinom prvog reda
u 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:


8
X 8
X
8a + b Ti = Cp,i
i=1 i=1
8 8 8
(4.46)
X X X
a Ti + b Ti 2 = Ti Cp,i
i=1 i=1 i=1

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:


8a + 5200b = 8.5331
(4.47)
5200a + 3800000b = 5632.74
Koristeći neku od metoda za rješavanje sistema linearnih jednačina dobija se:
Cp = 0.933194 + 0.205298 · 10−3 T (4.48)

80
4.2. Aproksimacija funkcija

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


aproksimacije.
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 metodu
najmanjih kvadrata potrebno je odrediti aproksimacioni polinom drugog reda
u 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:


5
X 5
X 5
X
2
5a + b Ti + c Ti = Cp,i
i=1 i=1 i=1
5
X 5
X 5
X 5
X
2 3
a Ti + b Ti + c Ti = Ti Cp,i (4.50)
i=1 i=1 i=1 i=1
5
X X5 X5 X5
a Ti 2 + b Ti 3 + c Ti 4 = Ti 2 Cp,i
i=1 i=1 i=1 i=1

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:


5a + 10 · 103 b + 22.5 · 106 c = 6.1762
10 · 103 a + 22.5 · 106 b + 55 · 109 c = 12.5413 · 103 (4.51)
22.5 · 106 a + 55 · 109 b + 142.125 · 1012 c = 288.5186 · 106

81
Interpolacija i aproksimacija funkcija

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


Cp = 0.965460 + 0.211197 · 10−3 T − 0.0339143 · 10−6 T 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 navode


nas na korištenje nekih drugih aproksimacionih funkcija, kao što su na primjer
logaritamske, eksponencijalne, i sl. U tim slučajevima, metoda najmanjih
kvadrata vodi do sistema jednačina koji je nelinearan, pa je traženje koefici-
jenata takvih jednačina otežano. Ipak, ponekad je nelinearni aproksimacioni
problem moguće svesti na linearan koristeći pogodne smjene.
Posmatrajmo stepenu funkciju koja se često koristi za opisivanje fizikalnih
procesa:
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 se
svodi 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 od
njih je najpodesnija, zavisi od prirode fizikalnog procesa koji se opisuje. U tu
svrhu nam može pomoći i grafičko predstavljanje podataka u Descartesovom
ili nekom specijalnom koordinatnom sistemu (logaritamski, polulogaritamski,
. . . ).

82
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.7


x 0 1 2 3 4
y 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), a
onda 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:
5
X 5
X
5A + b xi = Yi
i=1 i=1
5 5 5
(4.59)
X X X
A xi + b xi 2 = xi Yi
i=1 i=1 i=1

koji nakon uvrštavanja vrijednosti iz tabele ima oblik:


8A + 10b = 12.424533
(4.60)
10A + 30b = 31.780538
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 = eA ebx = e1.09861 e0.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
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 prednosti
i 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
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 interpolacionog
polinoma!
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 za
date podatke, koristeći direktnu metodu!
20. Napisati program koji interpolira vrijednost grupe podataka, koristeći
Lagrangeov interpolacioni polinom!
21. Napisati program sa metodom najmanjih kvadrata za slučaj polinoma
prvog reda!
22. Koeficijent trenja za laminarno tečenje se može povezati sa Raynoldsovim
brojem, 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 najmanjih


kvadrata.

Tabela 4.6: Uz zadatak 22


Re 500 1000 1500 2000
f 0.0320 0.0160 0.0107 0.0080

85

You might also like