Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
39
2 Interpolacija
Zadatak interpolacije
Neka su u tačkama nixi ,...2,1,0, = , koje su poređane u rastućem redosledu zadate
vrednosti neke funkcije, ( ) nixfy ii ,...2,1,0, == , odnosno uređena tabela:
i 0 1 ... n x 0x 1x nx
y = f(x) 0y 1y ny
Treba naći polinom Pn(x),
Pn(x) = a0 + a1x + a2x2 + . . . + anx
n
koji aproksimira funkciju f(x) (f(x) ≈ Pn(x)) na intervalu x∈[x0, xn], tako da u tačkama nixi ,...2,1,0, = ima jednake vrednosti sa njom:
Pn(xi) = f(xi) i = 0,1,...,n (2.1)
|Rn(x)| Pn(x)
f(x)
Pn(x)
f(x)
x0 x1 x xn x2 xn-1 x
Slika 2.1 - Funkcija i njen interpolacioni polinom
40
Tačke nixi ,...2,1,0, = se nazivaju čvorovi interpolacije.
Interpolacioni polinom neke funkcije, koristi se,
• za procenjivanje vrednosti funkcije u tačkama x ≠ xi , x∈(x0 , xn ), što zovemo interpolacija . Ako je zadata vrednost nezavisno promenljive izvan intervala interpolacije (x < x0 ili x > xn ), takvo procenjivanje vrednosti funkcije se zove ekstrapolacija. Ekstrapolaciju treba izbegavati, jer je u opštem slučaju praćena velikim greškama (odstupanja procene od tačne vrednosti funkcije)
• da zameni funkciju radi njenog približnog diferenciranja ili integracije
T: Ako su interpolacioni čvorovi xi, i = 0,1, ..., n među sobom različiti, tada postoji jedan
i samo jedan polinom stepena ne većeg od n, koji zadovoljava uslov (2.1).
Iz (2.1) sledi sledeći sistem od (n+1) jednačine, sa istim brojem nepoznatih niai ,...,1,0, = :
nnnnnn
nn
nn
yxaxaxaa
yxaxaxaa
yxaxaxaa
=++++
=++++
=++++
K
KKKKKKKKKKKKK
K
K
2210
11212110
00202010
(2.2)
Determinanta sistema -Vandermondova determinanta je:
∏<=
−==
n
iji
ji
nnnn
n
n
xx
xxx
xxx
xxx
D1
2
1211
0200
)(
1
..............
1
1
K
K
K
K
Pošto je za xi ≠ xj (i ≠ j), D ≠ 0 sistem ima jedinstveno rešenje. Rešavanje sistema (2.2) za veće vrednosti n nije praktično (ako su interpolacioni čvorovi bliski D → 0 i sistem je loše uslovljen).
2.1 LAGRANŽOV INTERPOLACIONI POLINOM
Lagranžov (Lagrange) interpolacioni polinom n - tog stepena (LIP) se traži u obliku,
∑=
=
n
jjjn yxLxP
0
)()( (2.3)
41
gde su Lj(x), j = 0,1,..., n polinomi stepena n i zovu se Lagranžovi koeficijenti. Lagranžov koeficijent mora da zadovolji uslove:
≠==δ=
ji
jixL ijij za0
za1)(
Radi ispunjenja drugog uslova, tražimo ga u obliku:
∏≠=
+− −=−−−−−=
n
jii
ijnjjjj xxCxxxxxxxxxxCxL0
1110 )()())(())(()( KK
gde koeficijent Cj određujemo tako da se zadovolji prvi uslov:
∏≠=
−
=⇒= n
jii
ij
jjj
xxCxL
0
)(
11)(
Dakle,
∏
∏
≠=
≠=
−
−
= n
jii
ij
n
jii
i
j
xx
xx
xL
0
0
)(
)(
)(
(2.4)
Ako uvedemo funkciju:
∏ ∏=
+ −=
n
iin xxx
01 )()(
koja je očigledno polinom (n+1) stepena, Lagranžov koeficijent može da se prikaže u obliku:
∏∏
+
+
−=
)()(
)()( '
1
1
jnj
nj xxx
xxL (2.5)
Zaista,
∏∏
∑∏∑∏
≠=
+
=≠==
+−+
−=
−=−−−−=
n
jii
ijjn
n
k
n
kii
i
n
knkkn
xxx
xxxxxxxxxxx
0
'1
0 00110
'1
)()(
)()()()()()( KK
42
Primer 1: y(0.2) = ? 0
332211003 )()()()()()( yxLyxLyxLyxLxPxy +++=≈
05.0)3.05.0)(1.05.0)(05.0(
)3.02.0)(1.02.0)(02.0()2.0(;
))()((
))()(()(
5.0)5.03.0)(1.03.0)(03.0(
)5.02.0)(1.02.0)(02.0()2.0(;
))()((
))()(()(
2.0)5.00)(3.00)(1.00(
)5.02.0)(3.02.0)(1.02.0()2.0(;
))()((
))()(()(
3231303
2103
2321202
3102
0302010
3210
−=−−−
−−−=
−−−
−−−=
=−−−
−−−=
−−−
−−−=
−=−−−
−−−=
−−−
−−−=
Lxxxxxx
xxxxxxxL
Lxxxxxx
xxxxxxxL
Lxxxxxx
xxxxxxxL
y(0.2) ≈ P3(0.2) = -0.2 (-0.5) +0.5⋅0.2- 0.05·1 = 0.15
2.2 PROCENA GREŠKE INTERPOLACIJE
Greška interpolacije funkcije f(x) polinomom Pn(x) predstavlja razliku (vidi sliku 2.1): ( ) ( ) ( )xPxfxR nn −= (2.6)
Podsetimo se da je greška Rn(x), Tajlorovog polinoma n - tog stepena, koji prolazi kroz
tačku (x0, f(x0)) i aproksimira funkciju f(x) u okolini tačke x0,
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )xRn
xfxx
xfxxxfxxxfxf n
nn +−++
′′−+′−+=
!...
!20
002
0000
jednaka:
( ) ( ) ( )( )( ) ( )xxn
fxxxR
nn
n ,,!1 0
11
0 ∈ξ+ξ−=
++
Za grešku interpolacionog polinoma, provučenog kroz čvorove xi, i = 0,1, ..., n, se može izvesti analogna formula:
i xi yi 0 0 -0.5 1 0.1 0 2 0.3 0.2 3 0.5 1
43
( ) ( )( ) ( ) ( )( )( ) ( )n
n
nn xxn
fxxxxxxxR ,,
!1 0
1
10 ∈ξ+ξ−⋅⋅⋅−−=
+
ili:
),(,)()!1(
)()( 0
)1(1n
nnn xxf
n
xxR ∈ξξ+= ++∏ (2.7)
Primetimo da se izraz za grešku Tajlorovog polinoma, koji sa funkcijom ima samo jednu zajedničku tačku (sa apscisom x0), dobija se iz izraza (2.7) pri uslovu: nixxi ,...,2,1,0 == .
Kao granicu apsolutne greške interpolacije u tački x uzimamo:
11
)!1(
)()( +
+
+≤∏
nn
n Mn
xxR (2.8)
gde je:
)(max 1
],[1
0
xfM n
xxxn
n
+
∈+ = (2.8a)
Zadatak 2.1 Za funkciju f(x) = sin(πx) formirati LIP sa čvorovima interpolacije: 0, 1/6, 1/2. Pomoću polinoma proceniti vrednost sin(π/3) i grešku procene.
Rešenje:
sin (πx) ≈ P2(x) = L0(x)y0 + L1(x)y1 + L2(x)y2
21202
101
2101
20
21202
101
2101
200
2010
212
))((
))((
))((
))((
))((
))((
))((
))((
))((
))(()(
yxxxx
xxxxy
xxxx
xxxx
yxxxx
xxxxy
xxxx
xxxxy
xxxx
xxxxxP
−−
−−+
−−
−−=
−−
−−+
−−
−−+
−−
−−=
xxxxxx
xP2
731
61
21
21
61
2
1
21
61
61
21
)( 22 +−=⋅
−
−+⋅
−
−=
8333.03
1
2
7
9
13)3/1()3/sin( 2 =+−=≈π P
Procenjivanje greške pomoću formule (2.8a) sa n = 2:
)cos()(,)sin()(,;)cos()( 32 xxfxxfxxf ππ−=′′′ππ−=′′ππ=′
x 0 1/6 1/2 f(x) 0 1/2 1
44
( ) 33
2
1,0
2
1,0
3 )cos(maxmax π=ππ=′′′=
∈
∈xxfM
xx
13
33
2
33
2
105.004785.0636
21
31
61
31
31
3
1
!3
)()(
−⋅<=⋅π=π
−
−=
≤ ∏
R
Mx
xR
Dakle u proceni vrednosti sin(π/3)≈0.8333, sigurna je samo jedna cifra, pa kao konačan rezultat pišemo:
sin(π/3) ≈0.8
Tačna vrednost greške je:
1105.0033.08333.02
38333.0)3/sin( −⋅<≈−=−π
što se dobro slaže sa dobijenom procenom.
2.2. KONAČNE RAZLIKE
Pretpostavimo da raspolažemo tabelom vrednosti funkcije y = f(x) u (n+1) ekvidistantnih
tačaka sa korakom h > 0:
niihxxi ,...,1,0,0 =+=
Iz njih možemo da izračunamo konačne razlike unapred prvog reda:
1,...,1,0,01
01 −=∆−∆=−=∆ ++ niyyyyy iiiii
gde same vrednosti funkcije niyi ,...,1,0, = možemo posmatrati kao konačne razlike
nultog reda. Analogno, iz konačnih razlika prvog reda, kao njihove konačne razlike, dobijamo konačne razlike 2. reda, itd. (uoči analogiju sa definicijom prvog i viših izvoda funkcije). Uopšte, možemo da definišemo konačne razlike unapred k-tog reda (k = 0,1,...,n): ( )nkkniyyy i
ki
ki
k ,...,1,0,...,1,0,11
1 =−=∆−∆=∆ −+
− (2.9)
Zapažamo da za datu tabelu, sa (n+1) vrsta, možemo da izračunamo (n-1) konačnu razliku
1. reda, (n-2) konačne razlike 2. reda,..., 2 konačne razlike (n-1). reda i samo jednu konačnu razliku n-tog reda.
45
Primer 2:
Za istu tabelu se na sledeći način mogu definisati konačne razlike unazad:
M
niyyyyy
niyy
iiiii
ii
,...,2,1
,...,1,0
100
11
0
=∇−∇=−=∇==∇
−−
( )nknkiyyy ik
ik
ik ,..,3,2,...,1
11 ==∇−∇=∇ −−− (2.10)
Očigledno je:
11 ++ ∇=−=∆ iiii yyyy
Uopšte, može se pokazati sledeće veza između konačnih razlika unapred i unazad:
kninkyy ki
ki
k −==∇=∆ + ,...,1,0,...,1,0, (2.11)
Primer 2:
Pune i isprekidane linije povezuju vrednosti funkcije sa njenim konačnim razlikama unapred i unazad.
i xi ii yy 0∆= iy∆ iy2∆ iy3∆ iy4∆
0 0 5.485 -1.082 0.093 0.000 0.002 1 50 4.403 -0.989 0.093 0.002 2 100 3.414 -0.896 0.095 3 150 2.518 -0.801 4 200 1.717
46
Procene vrednosti izvoda iz kona čnih razlika Procena prvog izvoda u tački x0 :
( ) ( ) ( )h
y
h
y
xx
xfxfxf 10
01
010
∇=∆=−−≈′
je, u skladu sa definicijom prvog izvoda, utoliko tačnija ukoliko je korak h manji!
T: Ako je funkcija f(x) diferencijabilna u intervalu ( )10, xx , onda postoji (bar jedna) tačka ξ u
tom intervalu, takva da je prvi izvod u toj tački tačno jednak datoj proceni (Lagranžova teorema):
( ) ( ) ( ) ( )1010
01
01 ,, xxh
y
h
y
xx
xfxff ∈ξ∇=∆=−
−=ξ′
f(x)
x xo ξ1 ξ2 x1
Procenu drugog izvoda funkcije dobijamo iz vrednosti prvih izvoda na analogan način :
( ) ( ) ( )2
22
20
201
01
010 h
y
h
y
hh
y
h
y
xx
xfxfxf
∇=∆=∆−∆
≈−
′−′≈′′
i uz to, postoji bar jedna tačka ξ, takva da je:
( ) ( )2020 ,, xx
h
yf ∈ξ∆=ξ′′
2
Ako je funkcija f(x) polinom drugog stepena, drugi izvod kao i konačne razlike drugog reda su konstantni, pa je gornja procena tačna:
( ) niconstxfh
y
h
yi
ii ,...,1,0,2
22
==′′=∇=∆ +22
Procena izvoda k – tog reda u nekom čvoru xj pomoću konačne razlike unapred k- tog
reda za tu tačku (može se dokazati matematičkom indukcijom) je:
47
( )( ) ,...2,1, =∇=∆≈ + kh
y
h
yxf
k
kjk
k
jk
jk (2.12)
i uz to:
( )( ) ( )kjjk
kjk
k
jk
k xxh
y
h
yf +
+ ∈ξ∇=∆=ξ ,,
Ako je funkcija f(x) polinom m-tog stepena, konačne razlike m-tog reda su konstantne, odnosno razlike (m+1) reda jednake nuli, a gornja procena tačna.
2.3 PRVI I DRUGI NJUTNOV INTERPOLACIONI POLINO M
Prvi Njutnov interpolacioni polinom
Uvešćemo bezdimenzionu promenljivu (bezdimenziono rastojanje):
h
xx 0−=α (2.13)
gde je h korak ekvidistantnih vrednosti nezavisno promenljive u tabeli: niihxxi ,...,1,0,0 =+= . Možemo da kažemo da prvi interpolacioni čvor x0, igra ulogu
referentnog ili startnog čvora. U čvorovima interpolacije nixi ,...,1,0, = , bezdimenziona
promenljiva uzima celobrojne vrednosti, ( ) niixi ,...,1,0, ==α
Imamo,
( )hhhhxxxx
hxx
101
0
−α=−α=−−=−
α=−
i uopšte, matematičkom indukcijom izvodimo, ( ) nihixx i ,...,1,0, =−α=− (2.14)
Može se izvesti sledeći interpolacioni polinom funkcije y = f(x), stepena ne većeg od n, koji sa njom ima iste vrednosti u ekvidistantnim tačkama , niihxxi ,...,1,0,0 =+= ,
!)]1()...[1(...
!3)2)(1(
!2)1()( 00
30
2
00 n
yn
yyyyxP
n
n
∆−−α−αα++∆−α−αα+∆−αα+∆α+=
(2.15) koji se zove Njutnov interpolacioni polinom sa konačnim razlikama unapred, ili kraće: prvi Njutnov interpolacioni polinom (NJIP1).
48
Za grešku interpolacije (2.6) interpolacionim polinomom (2.15) n- tog stepena, polazeći od izraza (2.7) i uvodeći u njega novu bezdimenzionu promenljivu α pomoću (2.14), dobijamo:
( )n
nn
n xxn
fhnR ,,
)!1(
)())...(1()( 0
)1(1 ∈ξ+
ξ−α−αα=α+
+ (2.16)
Iz tog izraza i procene (n + 1)-vog izvoda funkcije iz konačne razlike unapred (n + 1)-vog reda (vidi 2.12) dobijamo sledeću procenu granice apsolutne greške interpolacije:
max
1
)!1(
))...(1()( y
n
nR n
n+∆
+−α−αα
≤α (2.17)
gde je max
1yn+∆ apsolutna vrednost najveće (po apsolutnoj vrednosti) konačne razlike funkcije,
reda (n+1):
yy n
xxx
n
n
1
max
1
0
max +
≤≤
+ ∆=∆ (2.17a)
Pošto zahteva konačne razlike reda (n+1), granica greške interpolacije se može proceniti, samo ako tabela ima više od (n+1) vrednosti funkcije, ili ako smo kroz (m+1) čvor gde je nm< , provukli interpolacioni polinom stepena m, manjeg od n (u formulama, n zamenjujemo sa m).
Drugi Njutnov interpolacioni polinom
Ako umesto prvog, kao referentni ili startni čvor uzmemo poslednji interpolacioni čvor u tabeli, dolazimo do bezdimenzione promenljive,
h
xx n−=α (2.18)
koja u startnom čvoru ima vrednost 0, a u ostalim negativne celobrojne vrednosti,
( ) ninnxi ,...,1,00,1,2),...,1(, =−−−−−=α
Interpolacioni polinom kroz čvorove niihxxi ,...,1,0,0 =+= dobija se u obliku:
!)]1()...[1(...
!3)2)(1(
!2)1()(
32
n
yn
yyyyxP n
nnn
nnn
∇−+α+αα++∇+α+αα+∇+αα+∇α+=
(2.19) koji se zove Njutnov interpolacioni polinom sa konačnim razlikama unazad ili drugi Njutnov interpolacioni polinom (NJIP2).
Za granicu apsolutne greške interpolacije se izvodi izraz:
max
1
)!1(
))...(1()( y
n
nR n
n+∇
++α+αα
≤α (2.20)
49
yy n
xxx
n
n
1
max
1
0
max +
≤≤
+ ∇=∇ (2.20a)
2.4 PRAKTIČNI ASPEKTI INTERPOLACIJE
U praksi, interpolacioni polinom se retko provlači kroz sve tačke ( )( ) nixfx ii ,...,1,0,, =
u tabeli. Umesto toga, bira se skup od (m+1), susedne tačke u tabeli ( nm< ) i kroz njih provlači polinom m-tog stepena. Izbor stepena polinoma
U slučaju ekvidistantnih interpolacionih čvorova, za izbor stepena polinoma može da se koristi sledeći kriterijum , koji sledi iz međusobne veze konačnih razlika i izvoda polinoma.
Ako su konačne razlike m - tog reda približno konstantne, tj. razlike reda (m+1) približno jednake nuli, znači da se funkcija ponaša približno kao polinom m - tog stepena, pa se kao stepen interpolacionog polinoma bira m.
Ako iterpolacioni čvorovi nisu ekvidistantni, primenjuje se analogan kriterijum konstantnih podeljenih razlika, čije definisanje i primena nisu uključeni u ovaj materijal.
Izbor čvorova interpolacije
Pošto je odabran stepen m interpolacionog polinoma, kako izabrati skup (m+1) susednih interpolacionih čvorova )0(,...,, 1 mnkxxx mkkk −≤≤++ ? Apsolutna vrednost proizvoda,
( ) ( )∏ ∏+
+
=
−=1m
mk
kiixxx
definisanog čvorovima interpolacije, koji figuriše u izrazu za grešku interpolacije (2.7), ima minimum u centru intervala ],[ mkk xx + . Zato, interpolacione čvorove treba birati tako ta tačka
x u kojoj računamo vrednost funkcije pomoću njenog interpolacionog polinoma bude što bliža sredini intervala ],[ mkk xx + .
50
xo
P2(x)
x1 x2 x x7
Slika 2.2 - Ilustracija izbora interpolacionih čvorova za kvadratni polinom
Kada su odabrani interpolacioni čvorovi mkkk xxx ++ ,...,, 1 , radi formiranja interpolacionog
polinoma treba pomeriti indekse u formuli za LIP, NJIP1 ili NJIP2 za k. Tako, ako koristimo NJIP1, startna tačka nije x0, već xk i formula (2.15) se menja u:
!)]1()...[1(...
!3)2)(1(
!2)1()(
32
m
ym
yyyyxP k
mkk
kkm
∆−−α−αα++∆−α−αα+∆−αα+∆α+=
gde je,
h
xx k−=α
Formule za formiranje LIP će biti:
∑+
=
=
mk
kjjjm yxLxP )()( ,
∏
∏+
≠=
+
≠=
−
−
= mk
jiki
ij
mk
jiki
i
j
xx
xx
xL)(
)(
)(
Zadatak 2.2 Za funkciju datu tabelom u Primeru 2, proceniti vrednost funkcije u tački x = 175, koristeći
a) NJIP1 b) NJIP2 c) Diskutovati grešku rezultata, ako su sve cifre u vrednostima funkcije sigurne.
Rešenje:
a) Na osnovu vrednosti konačnih razlika u tabeli, biramo polinom 2. stepena.
51
5.150
100175,
2)1()( 22
2
222 =−=−=α∆−αα+∆α+=αh
xxyyyP
106.22
095.0)15.1(5.1)896.0(5.1414.3)5.1()175( 2 =−+−+=≈ Pf
b) Koristimo formulu za NJIP2 drugog stepena sa startnom tačkom x4:
5.050
200175,
2)1()( 44
2
442 −=−=−=α∇+αα+∇α+=αh
xxyyyP
( ) ( ) 106.22
095.0)15.0(5.0)801.0(5.0717.1)5.1()175( 2 =+−−+−−+=≈ Pf
c) Apsolutna greška rezultata je zbir dve greške: • greške koja potiče od greške u vrednostima funkcije • greške interpolacije
Ako primenimo praktično pravilo za procenjivanje broja sigurnih cifara u rezultatu složenog proračuna (poglavlje 1.3) i uzmemo u obzir da se pri računanju konačnih razlika gube sigurne cifre, možemo da procenimo da je rezultat dobijen sa 3 sigurne cifre. Tako je granica apsolutne greške, koja potiče od grešaka u podacima:
21 105.0 −
⋅=yA
Granicu greške interpolacije dobijamo iz formule (2.17):
422
max3
2
1025.1002.06
)25.1)(15.1(5.1)5.1(
!3
)2)(1()(
−⋅=−−
≤=
∆−α−αα≤α
RA
yR
y
Vidimo da je ovde doprinos greške interpolacije 2yA mnogo manji od doprinosa
greške koja potiče od grešaka polaznih podataka, 1yA , pa se može zanemariti. To je
rezultat dobre aproksimacije funkcije, koja se u datom intervalu vrednosti nezavisno promenljive ponaša približno kao kvadratni polinom (konačne razlike 2. reda približno konstantne).
Na osnovu diskusije u prethodnom zadatku možemo izvesti prakti čna pravila
1. Pri interpolaciji u tabelama sa podacima relativno male tačnosti (napr. eksperimentalni podaci) rezultat treba prikazati sa onoliko značajnih cifara koliko imaju tabelarne vrednosti funkcije . Pri tom, ako je broj sigurnih cifara u tabelarnim vrednostima funkcije jednak s, broj sigurnih cifara u dobijenoj proceni funkcije je isti ili za jedan manji (s-1), pod pretpostavkom da je korektno izvršen izbor
• istepena interpolacionog polinoma i
• interpolacionih čvorova
52
Uticaj pove ćanja stepena IP na grešku interpolacije
Ako funkciju ne aproksimira dobro nijedan IP (ne uočavamo konačne razlike, koje su približno konstantne), postavlja se pitanje da li greška interpolacije opada sa povećanjem stepena IP. U izrazu za grešku interpolacije (2.7) prvi faktor,
∏ ∏=
+ −=
n
iin xxx
01 )()(
po apsolutnoj vrednosti monotono raste sa povećanjem stepena IP, dok je za drugi faktor,
),(,)!1(
)(0
)1(
n
n
xxn
f ∈ξ+ξ+
uočeno da, za veliki broj funkcija, njegova apsolutna vrednost prvo opada, a onda počinje da raste (brojioc brže raste po apsolutnoj vrednosti od imenioca). Tako apsolutna greška interpolacije ima minimum za neki stepen IP, koji je sa gledišta greške interpolacije, optimalan.
Ako, radi minimizacije greške interpolacije, sa fiksnim startnim čvorom, povećavamo stepen IP,
• Njutnovi IP imaju prednost (ako su primenljivi) nad LIP, jer se pri prelazu sa NJIP stepena m na polinom stepena m+1 računa samo dodatni član reda ( m+1), dok se za LIP moraju ponovo računati svi Lagranžovi koeficijenti.
• Ako je startna tačka pri vrhu tabele sa ekvidistantnim vrednostima x, NJIP1 ima prednost nad NJIP2 jer imamo na raspolaganju konačne razlike unapred viših redova.
• Ako je startna tačka pri dnu tabele sa ekvidistantnim vrednostima x, NJIP2 ima prednost nad NJIP1 jer imamo na raspolaganju konačne razlike unazad viših redova.
Tabelarne vrednosti, često, naročito ako su dobijene eksperimentalnim putem date imaju
mali broj sigurnih cifara . Zbog toga, za konačne razlike visokih redova, zbog ponavljanog izvođenja nestabilne operacije oduzimanja bliskih brojeva tj. gubljenja značajnih cifara, dobijaju se potpuno nepouzdane ili besmislene vrednosti. Tako se u prakti čnim problemima najčešće biraju interpolacioni polinomi niskog stepena, najviše trećeg . Zadatak 2.3 U tabeli su date su eksperimentalne vrednosti viskoziteta η(Ns/m2) tečnog etilacetata u funkciji temperature (0C). Proceniti viskozitet na: (a) t = 800C, (b) t = 1600C i uporediti sa eksperimentalnim vrednostima 0.250×10-3 i 0.125×10-3
Rešenje:
a) x = 80 Linearna interpolacija, m = 1. Izbor čvorova: x1, x2
( ) ( ) 260965.0308
5.040
6080
111
1
=−+=∆α+=
=−=−=α
yyy
h
xx
53
i x = t 610⋅η=y konačne razlike
0 20 477 -169 1 60 308 73 -96 -40 2 100 212 33 25 -63 -15 3 140 149 18 -45 4 180 104
Kvadratna interpolacija, m = 2:
Izbor čvorova: x0, x1, x2
( ) ( ) ( ) ( )( ) 9.250
2
7315.15.11695.1477
21
5.1
2I
02
002
I
0
=
−+−+=∆−αα+∆α+=
=−=α
y
yyyy
h
xx
Izbor čvorova: x1, x2, x3
( ) ( ) ( ) ( )( ) 9.255
2
3315.05.0260
21
5.040
6080
2II
12
12II
1
=
−+=∆−αα+=
=−=−=α
y
yyy
h
xx
Komentar: dobijene vrednosti kvadratnom interpolacijom yI
(2) i yII(2) se znatno
međusobno razlikuju, zbog značajnog odstupanja funkcije od polinoma 2. stepena. (izražene varijacije konačnih razlika 2.reda)
Kubna interpolacija , m = 3. Izbor čvorova: x0, x1, x2, x3
( ) ( ) ( )( )
( )( )6
4025.115.15.19.250
!321
5.1
lanc dodatni
03
2I
3
−−−+=
∆−α−αα+=
=α
444 3444 21(
yyy
y(3) = 253.4
Polinom 4. stepena, m = 4
54
( ) ( ) ( )( )( )( ) ( )( )( )( ) 0.254
24
2535.125.115.15.14.253
!4321
5.1
4
4
04
34
=
−−−+=
∆−α−α−αα+=
=α
y
y
yyy
Zapažanja:
• Najbolja procena je dobijena kvadratnom interpolacijom, sa izborom interpolacionih čvorova: 210 ,, xxx .
• Kubna interpolacija je dala bolju procenu od interpolacije polinomom 4. stepena
b) x =160. Pošto je startna tačka pri dnu tabele, koristimo NJIP2.
Kvadratna interpolacija , izbor čvorova: 234 ,, xxx
( ) ( ) ( )( ) ( )( )( ) 3.124
2
1815.05.0455.0104
21
5.040
180160
2
42
442
4
=
+−−+−−+=∇
+αα+∇α+=
−=−=−=α
y
yyyy
h
xx
Kubna interpolacija , dodatni čvor, 1x :
( ) ( ) ( )( )( ) ( )( )( )( ) 2.125
6
1525.015.05.03.124
!321
3
3
43
23
=
−+−+−−+=
∇+α+αα+=
y
y
yyy
Polinom 4. stepena, dodatni čvor x0:
( ) ( ) ( )( )( )( ) ( )( )( )( )( ) 2.124
24
2535.025.015.05.02.125
!4321
4
4
44
34
=
+−+−+−−+=
∇+α+α+αα+=
y
y
yyy
Zapažanje: Najbolju procenu dala je kubna interpolacija.
55
Zapaža se brza promena viskoziteta sa promenom temperature, i sporo opadanje vrednosti izvoda pri povišenju reda izvoda, što može da ukaže na funkciju blisku eksponencijalnoj:
bxaey ≈
Zato ćemo logaritmovanjem preći na funkciju lny koja bi, ako je zapažanje tačno, trebalo da se ponaša blisko linearnoj :
btay +≈ lnln
x = t ( )610ln ⋅η=y y∆ y2∆ y3∆ y4∆
20 6.168 -0.438 0.065 -0.045 0.032 60 5.730 -0.373 0.020 -0.013 100 5.357 -0.353 0.070 140 5.004 -0.360 180 4.644
Pošto najmanje variraju konačne razlike 1. reda, primenjujemo linearnu interpolaciju:
a) x = 80, čvorovi x1, x2
( ) 544.5373.05.0730.5
5.040
6080
11
1
=−+=∆α+=
=−=−=α
yyyh
xx
( ) 7.255544.51=== eey y
b) x = 160, čvorovi x3, x4
( ) 824.4360.05.0004.5
5.040
140160
33
3
=−+=∆α+=
=−=−=α
yyyh
xx
( ) 5.124824.41=== eey y
Komentar: Jednostavnom, linearnom interpolacijom u tabeli transformisanih vrednosti funkcije dobijena je procena približno istog kvaliteta kao pri interpolaciji polinomima višeg reda u originalnoj tabeli.
2.5 PISVAJZ I SPLAJN INTERPOLACIJA
56
Kao što smo u prethodnom poglavlju zapazili, funkciju zadatu tabelom: ( )( ) nixfx ii ,...,1,0,, = nije praktično aproksimirati na celom intervalu ],[ 0 nxx jednim
interepolacionim polinomom stepena n, izuzimajući male tabele (n ≤ 3). Tako se nameće ideja da se interval ],[ 0 nxx podeli na više podintervala, koji po pravilu ne obuhvataju više od 4
tačke (u skladu sa zaključkom na kraju pretrhodnog poglavlja) i na svakom od njih funkcija aproksimira interpolacionim polinomom niskog stepena. Takva interpolacija, sa različitim interpolacionim polinomima u pojedinim podintervalima, zove se pisvajz (piecewise) interpolacija. U svakoj od tačaka koje su zajedničke za dva susedna podintervala, dva različita ''susedna" interpolaciona polinoma imaju jednake vrednosti, ali prvi izvod u toj tački nije neprekidan, jer ima jednu vrednost sa leve strane, a drugu sa desne strane te tačke. Rezultat je da kriva , sastavljena na intervalu ],[ 0 nxx od delova različitih polinoma, nije
glatka. To je nedostatak ovakve interpolacije, naročito ako rezultujuća kriva treba da posluži za približno izračunavanje izvoda date funkcije.
Da bi kriva sastavljena iz odsečaka više interpolacionih polinoma, dobijenih pisvajz interpolacijom bila glatka, neophodno je dodati uslov kontinuiteta prvog izvoda, a poželjna bi bila i neprekidnost viših izvoda, naročito u problemima procenjivanja viših izvoda tabelom zadate funkcije. Takva interpolacija, kod koje kriva dobijena pisvajz interpolacijom na intervalu ],[ 0 nxx ima neprekidne izvode do nekog reda (najmanje prvog) zove se splajn
(spline) interpolacija. Funkcija sastavljena iz iterpolacionih polinoma istog stepena m, za pojedine podintervale intervala ],[ 0 nxx , koja zadovoljava uslov kontinuiteta izvoda do
nekog reda, zove se splajn stepena m. Ako je m = 3, u pitanju je kubni splajn .
Kubni splajn
U slučaju kubnog splajna, kroz svaka dva susedna interpolaciona čvora od ukupno (n +1) čvorova na intervalu ],[ 0 nxx , provlači se polinom 3. stepena. Da bi se splajn definisao,
neophodno je dakle odrediti ukupno 4n koeficijenata, za ukupno n kubnih interpolacionih polinoma na intervalu ],[ 0 nxx . Uslovi za određivanje tih koeficijenata su :
Uslovi: Ukupan
broj: 1. U svakom od (n-1) unutrašnjih čvorova, 1,...,1, −= nixi , dva "susedna"
polinoma imaju vrednost jednaku vrednosti funkcije: f(xi)
2(n-1)
2. U svakom od (n-1) unutrašnjih čvorova, prvi i drugi izvodi "susednih" polinoma imaju jednake vrednosti.
2(n-1)
3. Splajn prolazi i kroz prvi i poslednji čvor: x0, xn 2
Ukupno uslova: 4n-2
Nedostaje još 2 uslova i to su uslovi na granicama intervala ],[ 0 nxx . U literaturi se sreću
različiti granični uslovi, kojima se postiže da splajn ima određene osobine na granicama. U
57
Mathcad-u postoje tri funkcije: lspline, pspline i cspline, koje generišu kubni splajn za datu tabelu pri čemu se splajn dobijen,
• lspline funkcijom ponaša linearno, • pspline funkcijom ponaša kao kvadratni polinom , • cspline funkcijom ponaša kao kubni polinom
na granicama itervala, odnosno ekstrapoliše se linearno, kvadratno ili kubno, izvan intervala ],[ 0 nxx .
2.6 INVERZNA INTERPOLACIJA
Zadatak: Na osnovu tabele vrednosti funkcije ( )( ) nixfx ii ,...,1,0,, = proceniti vrednost
argumenta x, za koju funkcija dobija zadatu vrednost, y.
Kao što znamo iz matematičke analize, zadatak interpolacije je jednoznačno rešiv samo ako je funkcija f(x) u nekom intervalu oko tačke x, monotona (u tom intervalu ima inverznu funkciju ( )yfx 1−
= ). Taj interval mora biti dovoljno veliki da sadrži bar dva interpolaciona čvora (neophodna za najgrublju aproksimaciju funkcije, interpolacionim polinomom 1. stepena).
Pretpostavimo da je funkcija monotona na celom intervalu ],[ 0 nxx .
Inverzna interpolacija pomo ću LIP
Inverznu fukciju ( )yfx 1−
= aproksimiramo LIP - om, odabranog stepena m, pri čemu se
interpolacioni čvorovi mkkk yyy ++ ,...,, 1 biraju tako da zadata vrednost y leži što bliže sredini
između prvog i poslednjeg čvora. Drugim rečima, promenljive menjaju uloge i vršimo interpolaciju u tabeli ( ) nixy ii ,...,0,, = :
∑+
=
==
mk
kjjjm xyLyPx )()( ,
∏
∏+
≠=
+
≠=
−
−
= mk
jiki
ij
mk
jiki
i
j
yy
yy
yL)(
)(
)( (2.21)
Zadatak 2.4 Proceniti nulu tabelarno zadate funkcije,
i xi yi 0 0.45 -24.52 1 0.46 -15.34 2 0.47 -6.25 3 0.48 2.75 4 0.49 11.67 5 0.50 20.50
58
Rešenje:
Inverznu funkciju ćemo da aproksimiramo kubnim polinomom. Pošto nula leži između x2 i x3, kao interpolacione čvorove biramo: y1, y2, y3, y4
4769.0
49.0061068.048.077042.047.033580.046.0045160.0
061068.0)(,77042.0)(,33580.0)(
045160.0)67.1134.15)(75.234.15)(25.634.15(
)67.110)(75.20)(25.60()(
4
1
432
1
=
⋅−⋅+⋅+⋅−==
−===
−=−−−−+−
−−+=
∑=
x
xLx
yLyLyL
yL
jjj
Inverzna interpolacija pomo ću NJIP Ako su vrednosti x u tabeli ekvidistantne, funkciju zamenjujemo interpolacionim polinomom odabranog stepena m, koji prolazi kroz čvorove mkkk xxx ++ ,...,, 1 , odabrane tako da
zadata vrednost funkcije y leži u blizini centra intervala ],[ mkk yy + . Tako, rešavamo jednačinu
ym
ym
yyy k
mk
kk =∆−−α−αα++∆−αα+∆α+!
)]1()...[1(..!2
)1(2
(2.22)
po α , a onda iz dobijene vrednosti α dobijamo traženu vrednost x kao:
hxx k α+= (2.22a)
Problem, za stepene polinoma veće od 2, zahteva iterativno rešavanje nelinearne jednačine (2.22) nekom od metoda koje su izložene u poglavlju 7. ZADACI 2.1 Naći polinom koji prolazi kroz tačke (0,-5), (1,1) i (3,25). Rešenje: 542)( 2
2 −+= xxxP 2.2 Tačne vrednosti funkcije y = f(x) date su u tabeli:
x 0 1 2 3 4 y -5 1 9 25 55
a) Formirati tabelu konačnih razlika unapred. b) Koristeći formiranu tabelu, naći 3
31
21 ,, yyy ∇∇∇
c) Šta se na osnovu konačnih razlika može zaključiti o funkciji? d) Formirati NJIP1 3. stepena za interpolaciju u tabeli i proceniti f(3.5). e) Kolika je greška dobijene procene ?
59
f) Proceniti nulu funkcije koristeći LIP 1., 2., 3. i 4. stepena i uporediti rezultate sa vrednošću nule: 0.8293 u kojoj su sve cifre sigurne.
Rešenje: a) x y y∆ y2∆ y3∆ y4∆
0 -5 6 2 6 0 1 1 8 8 6 0 2 9 16 14 0 0 3 25 30 0 0 0 4 55 0 0 0 0
b) 601 =∆=∇ yy , 01
21
2 =∆=∇−
yy , 603
33 =∆=∇ yy
c) Funkcija je polinom 3 stepena d) 572)( 23
3 −+−= xxxxP , 875.37)5.3(3 =P
e) 03 =R
f) 0.8333, 0.8482, 0.8488, 0.8483
2.3 Koristeći LIP 3. stepena, proceniti vrednosti funkcije date tabelom:
x 1 3 6 7 10 12 13
f(x) 7 3.5 3.2 3.9 8.2 9.0 9.2
u tačkama: x = 2,4,5,8,9,11 Rešenje: 4.8, 2.9, 2.8, 5.2, 6.8, 8.7
2.4 Data je tabela cp(kJ/kgK) vrednosti acetilena, na normalnom pritisku, u funkciji temperature T(K):
T(K) 300 400 500 600 700 800
cp(kJ/kgK) 1.594 1.780 1.951 2.097 2.222 2.331
a) Odabrati stepen intepolacionog polinoma za interpolaciju u datoj tabeli. b) Proceniti cp na temperaturama 520 i 580K, pomoću NJIP1 odabranog stepena, kao i greške interpolacije. c) Na osnovu procenjenih grešaka interpolacije i tačnosti polaznih podataka, proceniti ukupnu grešku i odabrati broj decimala u prikazu rezultata. Rešenje: a) 2 (konačne razlike drugog reda malo variraju) b) 1.982, 2.069 c) 35
interp.,3
podaci,C 10,1032.0,105.0p
−−− <⋅=⋅= totC AAAp
, tri decimale
2.5 Dati su naponi pare p(bar) etana na različitim temperaturama T(K):
T 190 200 210 220 230 240 250 260 p 1.347 2.174 3.340 4.921 7.002 9.675 13.02 17.12
a) Odabrati stepen intepolacionog polinoma za interpolaciju u datoj tabeli.
60
b) Proceniti napon pare na temperaturama 205K i 236K, pomoću NJIP1 odabranog stepena, kao i greške interpolacije. c) Na osnovu procenjenih grešaka interpolacije i tačnosti polaznih podataka, proceniti ukupnu grešku i odabrati broj decimala u prikazu rezultata i odabrati broj decimala u prikazu rezultata. Rešenje: a) 3 (konačne razlike trećeg reda malo variraju) b) ( 2.710, R = 2.8×10-4 ), ( 8.530, R = 2.7×10-4 ) c) 35
interp.,3
podaci, 10,1028.0,105.0 −−− <⋅=⋅= totpp AAA , tri decimale
2.6 Date su eksperimentalno određene konstante brzine reakcije dobijanja metiletiletra iz alkohola:
a) Odabrati stepen interpolacionog polinoma pomoću koga dobijamo vrednosti k za temperature u intervalu (0,300C), koje nisu sadržane u tabeli.
b) Imajući u vidi teorijsku relaciju (Arenijusov zakon),
RT
E
ekk−
= 0
gde je T - apsolutna temperatura (K)
predložiti transformaciju promenljivih t i k u nove promenljive, koja omogućuje korišćenje linearne interpolacije u novoj tabeli (umesto interpolacije polinomom višeg stepena u originalnoj tabeli). c) Proceniti vrednosti k za temperature t = 10, 200C interpolacijom u originalnoj tabeli (a) i tabeli transformisanih vrednosti (b) i uporediti procene. Rešenje: a) 4
b) )ln(,273
1ky
tx =+
=
c) Originalna tabela (19.4, 61.7)×10-5
Transformisana tabela (19.3, 61.9)×10-5
2.7 Dati su naponi para (p) n-heptana, na temperaturama ispod temperature ključanja. Sve date cifre u vrednostima napona pare su sigurne u širem smislu.
t (0C): 10 30 50 70 90 p(mmHg): 20.58 58.37 141.62 303.63 589.37
a) Odabrati stepen interpolacionog polinoma za interpolaciju u datoj tabeli. b) Proceniti napon pare heptana na temperaturama 400C i 800C, pomoću NJIP1 odabranog stepena, kao i greške interpolacije. Na osnovu procenjenih grešaka interpolacije i tačnosti polaznih podataka, proceniti grešku procena i odabrati broj decimala u prikazu rezultata. c) Imajući u vidu da u oblasti nižih temperatura približno važi sledeća teorijska relacija (Klauzijusova jednačina):
TBAp −=ln
gde je T - apsolutna temperatura (K) .
t(0C) 0 6 12 18 24 30
( )smollitk ⋅⋅510 5.6 11.8 24.5 48.8 100 208
61
transformisati na pogodan način originalne podatke, tako da se u novoj tabeli može sa dovoljnom pouzdanošću koristiti linearna interpolacija. Linearnom interpolacijom u novoj tabeli proceniti napone para heptana na 400C i 800C .
d) Proceniti napone para na 400C i 800C kvadratnom interpolacijom u tabeli transformisanih vrednosti, formiranoj u c).
e) Uzimajući u obzir eksperimentalne vrednosti napona pare heptana (iste tačnosti, kao one u tabeli):
( ) ( ) mmHgCpmmHgCp 78.42780,50.9240 00==
uporediti i diskutovati rezultate dobijene u b), c) i d). Rešenje: a) 3 b) ( 92.2, R = 0.3), ( 428.2, R = 0.5)
c) )ln(,273
1ky
tx =+
= , 92.22, 427.02
d) 92.50, 427.79
2.8 Dati si viskoziteti, η (Pa⋅s) hlorobenzola na različitim temperaturama, izmereni sa granicom relativne greške Rη = 0.1% :
t( 0C ): 40 60 80 100 120 η×104 (Pa⋅s): 6.40 5.21 4.35 3.70 3.21
a) Odabrati stepen interpolacionog polinoma i pomoću njega proceniti viskozitet hlorbenzola na temperaturi 73 0C i granicu apsolutne greske interpolacije. b) Proceniti traženi viskozitet linearnom interpolacijom u tabeli t- lnη
c) Pokazati da se kao granica relativne greške R* u vrednosti viskoziteta, dobijenoj pomoću linearne interpolacije u tabeli t - lnη, koja potiče od grešaka u vrednostima viskoziteta može uzeti:
η∗
∆−+= R
t
ttR 121
t – temperatura za koju se vrši interpolacija
t1 – niža od dve temperature u tabeli, između kojih leži temperatura t
∆t – korak vrednosti temperatura u tabeli
Pretpostaviti pri tom da su vrednosti temperatura potpuno tačne.
d) Proceniti ukupnu grešku u vrednosti viskoziteta dobijenoj u b) i odrediti granice u kojima leži tačna vrednost. Rešenje: a) 2, 4.63×10-4, R < 10-6 b) 4.63×10-4 c) 6
interp.,6
podaci, 103.1,101.1 −η
−η ⋅=⋅= AA
d) 63.41060.4,103 46 <×η<⋅< −
totA
2.9 Dat je deo rezultata merenja koncentracije penicilina u šaržnom reaktoru u toku vremena , koji pokazuje da koncentracija penicilina kao funkcija vremena, c = f(t) ima maksimum:
62
t, h 100 120 140 160 180 200
c, jedinica/mol 860 943 1020 1028 962 940 Potrebno je proceniti vreme za koje koncentracija penicilina dostiže maksimum, kao i vrednost maksimalne koncentracije, aproksimirajući funkciju c(t) interpolacionim polinomom trećeg stepena. Rešenje: 152, 1033
2.10 Tražene vrednosti funkcije u zadatku 2.3 proceniti pomoću kubnog splajna, koristeći Mathcad funkcije lspline, pspline i cspline i uporediti rezultate.