Professional Documents
Culture Documents
Interpolacija i aproksimacija
funkcija
U mnogim inenjerskim problemima, podaci koji se posmatraju su poznati
samo za niz diskretnih taaka, a ne kao kontinuirana funkcija. Na primjer,
moe se desiti da je (kontinuirana) funkcija
y = f (x)
(4.1)
(i = 1, 2, . . . , n)
(4.2)
Meutim, veliine diskretnih podataka nisu uvijek ono to nama treba, nego
nam ponekad trebaju i vrijednosti funkcije u nekim drugim takama (interpolacija, ekstrapolacija). Takoer, mogu nam trebati izvodi takve zavisnosti
(diferenciranje), ili integral (integriranje). Ovo i sljedee poglavlje su u uskoj
vezi sa interpolacijom, diferenciranjem i integriranjem diskretnih podataka.
Svi ovi procesi se izvravaju aproksimiranjem diskretnih podataka pomou
neke pribline funkcije, i izvrenjem eljenog procesa.
Postoji veliki broj razliitih funkcija koje se mogu koristiti kao pribline
funkcije. U stvari, svaka algebarska funkcija se moe koristiti u tu svrhu.
Ipak, najee koritene funkcije su:
1. polinomi, a naroito linearne aproksimacione funkcije,
2. trigonometrijske funkcije,
3. eksponencijalne funkcije.
Pri tome, ove funkcije trebaju imati sljedee osobine:
1. lako odreivanje,
2. lako izraunavanje,
3. lako diferenciranje,
4. lako integriranje.
Postoje dva fundamentalno razliita pristupa za odreivanje priblinih funkcija koje se koriste za opisivanje zavisnosti grupe podataka:
1. interpolacija, ili tano poklapanje
2. aproksimacija, ili priblino poklapanje.
Interpolacija dovodi do funkcija koje tano prolaze kroz sve zadate take, kao
to je to pokazano na slici 4.1a. Interpolacija se obino koristi za mali broj
podataka. Nasuprot tome, aproksimacijom se dolazi do funkcija koje prolaze
kroz grupu podataka na najbolji mogui nain, bez obaveze da tano prou
kroz zadate take (slika 4.1b). Aproksimacija je veoma pogodna za velike
grupe podataka, lijepo grupisane podatke, te male i velike grupe razbacanih
podataka.
a)
b)
y
Diskretne take
Diskretne take
4.1
Interpolacija polinomima
(4.3)
Direktna metoda
Posmatrajmo optu proceduru za interpolaciju niza taaka sa jednakim ili nejednakim razmakom pomou polinoma. Neka je dato n + 1 taaka [x0 , f (x0 )],
[x1 , f (x1 )], . . . ,[xn , f (xn )], koje moemo pisati i u obliku (x0 , y0 ), (x1 , y1 ),
. . . ,(xn , yn ). Problem se svodi na odreivanje jedinstvenog polinoma n-tog
reda, Pn (x) (jednaina (4.3)), koji prolazi kroz sve date take. Uvrtavajui
svaki podatak u jednainu (4.3) dobija se sistem od n + 1 jednaina 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
1 x0 x20 . . .
1 x1 x21 . . .
1 x2 x22 . . .
. .
.. . .
.. ..
.
.
1 x x2 . . .
n
n
xn0
xn1
xn2
..
.
xnn
(4.5)
67
3.50
0.285714
3.60
0.277778
Rjeenje
Tana vrijednost funkcije je:
f (3.44) =
1
= 0.290698
3.44
(4.6)
(4.7)
(4.8)
(4.9)
(4.10)
(4.11)
to dovodi do polinoma:
P1 (x) = 0.579854 0.08404x
(4.12)
(4.13)
(4.14)
(4.15)
(4.16)
linearni
Greka = 0.000058
69
=0.290697
=0.290698
kvadratni
kubni
=0.000001
= 0.000000
4.1.2
Kao to se moglo vidjeti u prethodnom dijelu, direktna metoda je veoma jednostavna po svom principu, ali ima mnogo nedostataka, meu kojima prednjai
znatno vrijeme za odreivanje koeficijenata polinoma. Osim toga, za polinome vieg reda (n > 4) sistem jednaina moe biti slabo podeen, to moe
da uzrokuje veliku greku u procjeni koeficijenata interpolacionog polinoma.
Jedan od jednostavnijih postupaka, koji se vrlo esto koristi za interpolaciju, je upotreba Lagrangeovih interpolacionih polinoma. Ovaj postupak se,
takoer, moe koristiti za interpolaciju podataka sa jednakim i nejednakim
razmacima.
Posmatrajmo, na primjer, sluaj sa dva podatka [a, f (a)] i [b, f (b)]. Linearni
Lagrangeov polinom koji tano prolazi kroz obje take dat je jednainom:
P1 (x) =
(x b)
(x a)
f (a) +
f (b)
(a b)
(b a)
(4.17)
to je lako pokazati. U sluaju tri zadate take, [a, f (a)], [b, f (b)] i [c, f (c)],
polinom ima oblik:
(x b)(x c)
(x a)(x c)
f (a) +
f (b)
(a b)(a c)
(b a)(b c)
(x a)(x b)
+
f (c)
(c a)(c b)
P2 (x) =
(4.18)
Pn (x) =
(4.19)
(4.20)
k=0
gdje
(x x0 ) . . . (x xk1 )(x xk+1 ) . . . (x xn )
(xk x0 ) . . . (xk xk1 )(xk xk+1 ) . . . (xk xn )
n
Y
x xi
=
(k = 0, 1, . . . , n)
x
x
k
i
i=0
Lk (x) =
(4.21)
i6=k
P1 (x) =
(4.22)
Za polinom drugog reda, koristimo prve tri take iz tabele 4.1 i jednainu
(4.18), pa je:
(x 3.40)(x 3.50)
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)
(x 3.35)(x 3.40)
+
0.285714
(3.50 3.35)(3.50 3.40)
= 0.876561 0.256080x + 0.0249333x2
P2 (x) =
(4.23)
Za dobijanje polinoma treeg reda koristimo optu formulu (4.20), pri emu
je n = 3. U tu svrhu, koriste se sve etiri take iz tabele 4.1. Moe se pokazati
da je konano rjeenje:
P3 (x) = 1.121066 0.470839x + 0.0878x2 0.00613333x3
(4.24)
4.1.3
x x0
h
ime je
x = x0 + sh
(4.26)
(4.27)
Ove razlike se mogu dobiti i pomou tzv. tabele podijeljenih razlika. Jedna
takva tabela za etiri vrijednosti funkcije data je na slici 4.2, pri emu vrijednost svakog lana tabele predstavlja razliku dvije vrijednosti sa lijeve strane,
kao to je to dato i izrazima (4.27).
(0)
xi
fi
x1
f1
(1)
fi
(2)
fi
(3)
fi
(0)
(1)
f1
x2
(2)
(0)
f1
f2
(1)
(3)
f2
x3
f1
(2)
(0)
f2
f3
(1)
f3
x4
(0)
f4
Polinom predstavljen jednainom (4.25) naziva se prvi Newtonov interpolacioni polinom, ili Newtonov interpolacioni polinom za diferenciranje unaprijed.
Ovaj polinom uopte ne lii ni na jedan od polinoma koji su dati u poglavlju
o aproksimacionim funkcijama, ali ipak ima osobinu da prolazi kroz svih n + 1
zadatih taaka. Imajui u vidu teorem o jedinstvenosti rjeenja, on predstavlja
eljeni jedinstveni aproksimacioni polinom.
Najvea prednost ovog polinoma je to, osim jednostavnosti, poveani red
polinoma, a time i njegovu tanost, dobijamo dodavanjem dodatnog lana na
prethodni polinom manjeg reda, tako da nije potrebno dodatno raunanje koeficijenata. Time se rad koji je uinjen prethodno, sa manjim brojem podataka,
ne mora ponavljati.
Primjer 4.3
Koristei prvi Newtonov interpolacioni polinom izraunati vrijednost funkcije
73
f (x) = 1/x u taki za x = 3.44. U tu svrhu koristiti Tabelu 4.3. U tabeli su,
takoer, date i podijeljene razlike za date vrijednosti funkcije.
xi
3.1
(0)
fi
(1)
(2)
fi
fi
(3)
(4)
fi
fi
0.322581
-0.010081
3.2
0.312500
0.000611
-0.009470
3.3
0.303030
-0.000053
0.000558
-0.008912
3.4
0.294118
-0.000050
0.000508
-0.008404
3.5
0.285714
0.000468
0.277778
0.000428
0.270270
0.000008
-0.000032
0.000396
-0.007112
3.8
0.000000
-0.000040
-0.007508
3.7
0.000010
-0.000040
-0.007936
3.6
0.000003
0.263158
0.000000
-0.000032
0.000364
-0.006748
3.9
0.256410
Slika 4.3: Tabela podijeljenih razlika za primjer 4.3
Rjeenje
Prema tabeli 4.3, imamo da je x0 = 3.40, te h = 0.1, pa je:
s=
x x0
3.44 3.40
=
= 0.4
h
0.1
(4.28)
s(s 1) 2
f (3.4)
2!
s(s 1)(s 2) 3
f (3.4) + . . .
+
3!
74
(4.29)
linearni
kvadratni
kubni
Greka =0.000058
=0.000002
=0.000000
linearni
kvadratni
kubni
Greka =0.000926
= 0.000011
= 0.000000
(4.32)
x x0
3.44 3.50
=
= 0.6
h
0.1
(4.33)
s(s + 1) 2
f (3.5)
2!
s(s + 1)(s + 2) 3
+
f (3.5) + . . .
3!
(4.34)
(4.35)
Uzimajui u obzir samo prva dva lana dobija se linearna aproksimacija. Dodavajui i trei lan dobija se kvadratna, a uzmajui u obzir prva etiri lana
polinoma u jednaini (4.35) dobija se kubna aproksimacija. Dakle, imamo:
P (3.44) =0.290756
=0.290695
=0.290698
76
linearni
kvadratni
kubni
Greka = 0.000058
=0.000003
= 0.000000
4.1.4
Greka interpolacije
(4.36)
(a, b)
(4.37)
n
Y
(x xi )
i=0
4.2
Aproksimacija funkcija
(4.38)
Proces minimizacije se moe izvriti na razliite naine, ali se u tu svrhu najee koristi metoda najmanjih kvadrata.
77
y(x)
Yi(xi)
ei
Yi
y(x)
Diskretne take
xi
4.2.1
(4.39)
i=1
Pri tome, aproksimaciona funkcija y(x) moe biti linearna ili nelinearna (pri
tome se naziv linearan odnosi na linearnost po parametrima, a ne nezavisnim
veliinama). Primjer linearne funkcije je polinom n-tog reda, dok su logaritamska ili eksponencijalna funkcija primjeri nelinearnih aproksimacionih funkcija.
Aproksimacija polinomom
Neka je dato N taaka (xi , Yi ) koje treba aproksimirati polinomom n-tog reda:
y = a0 + a1 x + a2 x2 + . . . + an xn
(4.40)
N
X
i=1
N
X
i=1
78
N
X
(Yi yi )2
(ei ) =
2
i=1
(Yi a0 a1 xi . . . an xni )2
(4.41)
X
S
=
2(Yi a0 a1 xi . . .an xni )(xki ) = 0
ak
i=1
(k = 0, 1, . . . , n) (4.42)
Na taj nain se dobija sistem od n + 1 linearnih jednaina koji nakon preureivanja ima oblik:
a0 N + a1
N
X
xi + . . . + an
i=1
a0
N
X
xi + a1
i=1
N
X
xni
x2i
+ . . . + an
Yi
i=1
i=1
N
X
N
X
N
X
i=1
xn+1
i
i=1
N
X
xi Yi
i=1
(4.43)
..............................
a0
N
X
xni
+ a1
i=1
N
X
xn+1
i
+ . . . + an
i=1
N
X
i=1
x2n
i
N
X
xni Yi
i=1
N
X
xi =
i=1
N
X
i=1
xi + b
N
X
Yi
i=1
N
X
i=1
x2i =
N
X
(4.44)
xi Yi
i=1
koji se vrlo lako moe rijeiti. Aproksimacija polinomom prvog reda se najee
koristi u praksi. Pri koritenju polinoma vieg reda mogu se pojaviti problemi,
jer sistem jednaina (4.43) moe biti slabo podeen. Ipak, normalizovanjem
jednaina i koritenjem dvostruke preciznosti ovi problemi se mogu prevazii.
Polinomi do 6-tog reda obino daju vrlo dobre rezultate, dok vrijednosti za
n od 6 do 10 mogu, ali i ne moraju dovesti do dobrih rezultata. Vrijednosti
n > 10 openito vode loim rezultatima. Slaba podeenost sistema jednaina
moe se prevazii koritenjem nekih drugih oblika linearne aproksimacije, kao
to su, na primjer. ebievljevi polinomi i mogu se nai u literaturi.
79
Primjer 4.5
U tabeli 4.2 data je zavisnost specifine toplote zraka pri konstantnom pritisku (za niske temperature), Cp , od temperature zraka, T . Koristei metodu
najmanjih kvadrata potrebno je odrediti aproksimacioni polinom prvog reda
u obliku:
Cp = a + bT
(4.45)
Cp , J/mK103
Cp ,J/mK103
Greka, %
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
Rjeenje
Koristei jednainu (4.44) dobija se sljedei sistem jednaina:
8a + b
8
X
Ti =
i=1
8
X
i=1
Ti + b
8
X
Cp,i
i=1
8
X
i=1
Ti 2 =
8
X
(4.46)
Ti Cp,i
i=1
(4.47)
(4.48)
(4.49)
Cp , J/mK103
Cp , J/mK103
Greka, %
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
Rjeenje
Koristei jednainu (4.43) za n = 3 dobija se sljedei sistem jednaina:
5a + b
5
X
Ti + c
i=1
5
X
i=1
5
X
i=1
Ti + b
5
X
Ti =
5
X
i=1
5
X
Ti + c
i=1
5
X
Ti 2 + b
i=1
Cp,i
i=1
5
X
Ti =
i=1
5
X
Ti 3 + c
i=1
5
X
Ti 4 =
Ti Cp,i
i=1
5
X
(4.50)
Ti 2 Cp,i
i=1
(4.51)
(4.52)
Nelinearna aproksimacija
(4.53)
(4.54)
(4.55)
(4.56)
(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 moe pomoi i grafiko predstavljanje podataka u Descartesovom
ili nekom specijalnom koordinatnom sistemu (logaritamski, polulogaritamski,
. . . ).
82
Primjer 4.7
Podatke date u tabeli 4.4 aproksimirati pomou nelinearne relacije date jednainom:
y = aebx
(4.58)
2
12
2.484907
3
24
3.178053
4
48
3.871201
Rjeenje
Prema jednaini (4.57), trebamo prvo odrediti ln(y) (dato u tabeli 4.4), a
onda problem svesti na odreivanje aproksimacione funkcije Y = A + bx, pri
emu je Y = ln(y) i A = ln(a). Na taj nain dobijamo sistem jednaina:
5A + b
5
X
xi =
i=1
5
X
i=1
xi + b
5
X
Yi
i=1
5
X
xi 2 =
i=1
5
X
(4.59)
xi Yi
i=1
(4.60)
(4.61)
(4.62)
(4.63)
83
4.3
Pitanja i zadaci
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
(4.64)
500
1000
1500
2000
0.0320
0.0160
0.0107
0.0080
85