Professional Documents
Culture Documents
Aproksimacija i interpolacija
Najčešći praktični problem je izračunavanje vrijednosti neke funkcije koja je za-
dana samo na diskretnom skupu točaka (xk , fk ), k = 0, . . . , n, a približne vrijednosti
žlimo naći u nekim točkama koje nisu iz zadanog skupa.
Ako aproksimacijska funkcija ϕ (koja ovisi o nekim parametrima) ima svojstvo
ϕ(xk ) = fk , k = 0, . . . n
pri čemu je
(x − x0 ) · · · (x − xk−1 ) (x − xk+1 ) · · · (x − xn )
`k (x) = .
(xk − x0 ) · · · (xk − xk−1 ) (xk − xk+1 ) · · · (xk − xn )
Ako funkcija f koju interpoliramo ima (n + 1)-u neprekidnu derivaciju, onda smo
interpolacijom napravili grešku
|ω(x)|
|f (x) − pn (x)| ≤ Mn+1 ,
(n + 1)!
n
Y
(n+1)
Mn+1 := max |f (x)|, ω(x) = (x − xk ).
x∈[a,b]
k=0
f (x) = sin(πx)
1 1
interpolira u točkama s x-koordinatama x0 = 0, x1 = i x2 = . Ocijenite grešku
6 2
tako dobivene interpolacije. Nadalje, izračunajte vrijednost dobivenog interpolacij-
skog polinoma u točki x = 0.4, ocijenite grešku interpolacije u toj točki, te nađite
pravu grešku.
pa zbog 3 podatka možemo naći interpolacijski polinom p2 koji ima stupanj manji
ili jednak 2.
Formirajmo Lagrangeovu bazu:
Tada imamo
π 3 3 2 2
1
|f (x) − p2 (x)| ≤ x − x + x.
3! 3 12
Izračunajmo još interpolaciju u zadanoj točki
7
p2 (0.4) = −3 · (0.4)2 + · 0.4 = 0.92.
2
Ocjena greške daje (budući da je 0.4 ∈ [0, 12 ])
π 3
3 2 2 1
|f (0.4) − p2 (0.4)| ≤ (0.4) − · (0.4) + · 0.4 = 0.04823198604.
3! 3 12
Prava greška je
i ona je, naravno po apsolutnoj vrijednosti manja ili jednaka ocjeni greške.
Zadatak 3.2. Nađite interpolacijski polinom za podatke (0, 1), (−1, 2), (1, 3).
Rješenje. Primijetite da sada ne možemo ocjenjivati grešku, jer nije zadana funkcija
iz koje su uzeti ti podaci.
Ponovno, zbog tri podatka, imamo interpolacijski polinom stupnja 2. Formiramo
Lagrangeovu bazu:
(x − x1 )(x − x2 ) (x + 1)(x − 1)
`0 = = = −x2 + 1,
(x0 − x1 )(x0 − x2 ) (0 + 1)(0 − 1)
(x − x0 )(x − x2 ) (x − 0)(x − 1) 1 1
`1 = = = x2 − x,
(x1 − x0 )(x1 − x2 ) (−1 − 0)(−1 − 1) 2 2
(x − x0 )(x − x1 ) (x − 0)(x + 1) 1 1
`2 = = = x2 + x.
(x2 − x0 )(x2 − x1 ) (1 − 0)(1 + 1) 2 2
Interpolacijski polinom tada je
2 1 2 1 1 2 1 3 1
p2 (x) = 1 · (−x + 1) + 2 · x − x +3· x + x = x2 + x + 1.
2 2 2 2 2 2
Zadatak 3.3. Funkciju f (x) = 3x na intervalu [−1, 1] interpoliramo na sljedeći
način:
• na intervalu [−1, 0] povučemo pravac koji interpolira rubne točke
• na intervalu [0, 1] povučemo pravac koji interpolira rubne točke.
Napravite ocjenu greške za oba intervala. U kojoj točki x(1) prvog intervala se postiže
maksimum ocjene greške? U kojoj točki x(2) drugog intervala se postiže maksimum
ocjene greške? Na kojem od ta dva intervala je maksimalna ocjena greške manja?
3.1. Lagrangeov oblik interpolacijskog polinoma 27
Budući da je f 000 (x) > 0, to znači da f 00 raste, samo je pitanje je li pozitivna ili
negativna. Ako je pozitivna (što u ovom slučaju jest), onda je njezin maksimum u
desnom rubu intervala.
Dakle,
(1)
M2 := max |3x (ln 3)2 | = max 3x (ln 3)2 = 30 (ln 3)2 ≈ 1.206949.
x∈[−1,0] x∈[−1,0]
Nadalje,
(1) |(x + 1)x|
|f (x) − p1 (x)| ≤ 1.206949 · .
2
Ocjena vrijedi za svaki x iz intervala [−1, 0]. Primijetimo da je na tom intervalu
(x + 1)x ≤ 0, pa imamo
(1)
|f (x) − p1 (x)| ≤ −0.603474 · (x + 1)x.
Sada treba naći u kojoj točki −1 ≤ x(1) ≤ 0 ova funkcija ima maksimum. Ponovno
tražimo maksimum funkcije
Vrijedi
g 0 (x) = −0.603474(2x + 1), g 00 (x) = −1.206949.
Nultočka derivacije je u x = −1/2, a druga derivacija −1/2 je negativna, pa se
radi o lokalnom maksimumu. Da bismo ustanovili gdje je globalni maksimum, treba
usporediti sve vrijednosti funkcije u rubovima intervala i u lokalnim ekstremima,
1 1
g(−1) = 0, g(0) = 0, g(−1/2) = −0.603474 · · − ≈ 0.150868.
2 2
Dakle,
(2) |x(x − 1)|
|f (x) − p1 (x)| ≤ 3.620847 · .
2
Ocjena vrijedi za svaki x iz intervala [0, 1]. Primijetimo da je na tom intervalu
x(x − 1) ≤ 0, pa imamo
(2)
|f (x) − p1 (x)| ≤ −1.810423 · x(x − 1).
Sada treba naći u kojoj točki 0 ≤ x(2) ≤ 1 ova funkcija ima maksimum. Ponovno
tražimo maksimum funkcije
Vrijedi
g 0 (x) = −1.810423 · (2x − 1), g 00 (x) = −3.620847.
rekurzivno formulom
f [x1 , . . . , xn ] − f [x0 , . . . , xn−1 ]
f [x0 , . . . , xn ] = ,
xn − x0
sa startom
f [xk ] := fk , k = 0, . . . , n.
x0 f [x0 ]
f [x0 , x1 ]
x1 f [x1 ] f [x0 , x1 , x2 ]
..
f [x1 , x2 ] .
.. .. .. ..
. . . . f [x0 , . . . , xn ]
f [xn−2 , xn−1 ] ...
xn−1 f [xn−1 ] f [xn−2 , xn−1 , xn ]
f [xn−1 , xn ]
xn f [xn ]
i od nje trebamo samo prvi “vršni redak” da bismo napisali interpolacijski polinom.
√
Zadatak 3.4. Funkcija 3 x zadana je tablično na 3 decimale
xk f [xk ] f [xk , xk+1 ] f [xk , xk+1 , xk+2 ] f [xk , . . . , xk+3 ] f [xk , . . . , xk+4 ]
1.0 1.000
0.320
1.1 1.032 −0.083
0.295 0.040
1.3 1.091 −0.063 −0.080
0.270 −0.008
1.5 1.145 −0.067
0.250
1.6 1.170
30 3. Aproksimacija i interpolacija
Nađimo još i M5 :
880 −14/3 880 1
M5 = max |f (5) (x)| = max 5
x = 5 max √ 3
x∈[1,1.6] x∈[1,1.6] 3 3 x∈[1,1.6] x14
880
= (broj je najveći ako mu je nazivnik najmanji, a to je u 1) = .
35
Ocjena greške u 1.15 je
No, pogledajmo što smo dobili! Prava greška je veća od ocjene, pa smo ili loše
računali, ili je nešto drugo u pitanju! Što? Pošli smo od podataka zaokružnih
√
na 3 decimale, a ne od točnih vrijednosti za 3 xk . Dakle, zaokruživanje početnih
podataka dovelo je od zaokruživanja u p4 (1.15). Budući da su podaci bili zaokruženi
na 3 znamenke, više ne možemo očekivati niti od rezultata. Prava greška bi bila
manja od ocjene greške da smo umjesto sa tri znamenke radili s više od 6 (barem
7-8, jer je ocjena greške reda veličine 10−6 ).
3.2. Newtonov oblik interpolacijskog polinoma 31
f (x) = log10 x
u točkama s x-koordinatama 1, 10, 100, 1000. Nađite vrijednost log10 500, ocijenite
grešku i nađite pravu grešku.
1 0
1
9
1
10 1 − 990
1 1
90 999000
1
100 2 − 99000
1
900
1000 3
1 1 1
p3 (x) = 0 + (x − 1) − (x − 1)(x − 10) + (x − 1)(x − 10)(x − 100),
9 990 999000
pa je
1 1 1
p3 (500) = · 499 − · 499 · 490 + · 499 · 490 · 400 = −93.63345.
9 990 999000
Najprije, uočimo da aproksimacija nije ni približno jednaka log10 (500), jer je
Dakle, ili
1 1
f (x) = log10 x, f 0 (x) =log10 e, f 00 (x) = − log10 e,
x x2
2 6
f 000 (x) = log10 e, f (4) (x) = − 4 log10 e.
x3 x
32 3. Aproksimacija i interpolacija
10 100 1000
Nadalje,
6 6
M4 = max |f (4) (x)| = max | − 4
log10 e| = log10 e max
x∈[1,1000] x∈[1,1000] x x∈[1,1000] x4
globalni ekstrem.
Ako funkcija ϕ nije linearna, nastojimo je svesti na linearnu, jer samo linearne
funkcije vode na linearne sustave jednadžbi (vidjeti predavanje).
Na kraju, ako je zadan uvjet da ϕ treba zadovoljavati neka svojstva (na primjer
prolaziti određenom točkom ili da njezine derivacija prolazi nekom točkom i sl.) uvi-
jek prvo treba iskoristiti taj uvjet i smanjiti broj parametara, pa tek onda napraviti
metodu najmanjih kvadrata.
Zadatak 3.7. Za određenu pojavu izmjereni su sljedeći podaci:
xk 0 1 2 3 4
.
fk 3.8 3.7 4.0 3.9 4.3
ϕ(x) = ax + b,
a minimizirati treba
4
X 4
X
2
S= (fk − ϕ(xk )) = (fk − axk − b)2 → min .
k=0 k=0
4
∂S X
= −2 (fk − axk − b)xk = 0
∂a k=0
4
∂S X
= −2 (fk − axk − b) = 0.
∂b k=0
Preuređivanjem obje jednadžbe, tako da sve sume koje sadrže nepoznanice preba-
cimo na lijevu stranu, a sve one koje ih ne sadrže na desnu stranu, dobivamo sustav
4
X 4
X 4
X
a x2k +b xk = f k xk
k=0 k=0 k=0
4
X 4
X
a xk + 5b = fk .
k=0 k=0
xk fk x2k fk x k
0 3.8 0 0.0
1 3.7 1 3.7
2 4.0 4 8.0 .
3 3.9 9 11.7
4 4.3 16 17.2
P
10 19.7 30 40.6
ϕ(x) = beax
xk 1 2 3 4
fk 7 11 17 27
gdje je A = a, B = ln b.
Kad se linearizira funkcija, moraju se istom funkcijom linearizirati i podaci, pa
uz oznaku hk = ln fk tablica glasi
xk 1 2 3 4
.
hk 1.94591 2.39790 2.83321 3.29584
Minimiziramo
3
X 3
X
S= (hk − ψ(xk ))2 = (hk − Axk − B)2 → min .
k=0 k=0
3
∂S X
= −2 (hk − Axk − B) = 0.
∂B k=0
Preuređivanjem obje jednadžbe, tako da sve sume koje sadrže nepoznanice preba-
cimo na lijevu stranu, a sve one koje ih ne sadrže na desnu stranu, dobivamo sustav
3
X 3
X 3
X
A x2k +B xk = hk xk
k=0 k=0 k=0
3
X 3
X
A xk + 4B = hk .
k=0 k=0
Tablica:
xk hk x2k hk xk
1 1.94591 1 1.94591
2 2.39790 4 4.79579
.
3 2.83321 9 8.49964
4 3.29584 16 13.18335
P
10 10.47286 30 28.42469
Uvrštavanjem, dobivamo linearni sustav
kojemu je rješenje
A = 0.44851, B = 1.49694.
Odatle odmah imamo da je
a = A = 0.44851, b = eB = 4.46799,
pa je aproksimacijska funkcija
ϕ(x) = 4.46799e0.44851x .
Minimiziramo
n
X n
X
2
S= (hk − ψ(xk )) = (hk − a sin xk − b)2 → min .
k=0 k=0
Sređivanjem dobivamo
n
X n
X n
X
a sin2 xk + b sin xk = hk sin xk
k=0 k=0 k=0
n
X n
X
a sin xk + (n + 1)b = hk .
k=0 k=0
ϕ(x) = ax + b.
38 3. Aproksimacija i interpolacija
1 = ϕ(0) = a · 0 + b,
ϕ(x) = ax + 1.
Minimiziramo
n
X n
X
2
S= (fk − ϕ(xk )) = (fk − axk − 1)2 → min .
k=0 k=0
Uvjet minimuma je
n
∂S X
= −2 (fk − axk − 1)xk = 0.
∂a k=0
Sređivanjem dobivamo
n
X n
X
a x2k = (fk − 1)xk ,
k=0 k=0
odakle izlazi n
X
(fk − 1)xk
k=0
a= n .
X
x2k
k=0
Minimiziramo
n
X n
X
2
S= (hk − ψ(xk )) = (hk − a ln xk − 1)2 → min .
k=0 k=0
Sređivanjem dobivamo
n
X n
X n
X
a ln2 xk + ln xk = hk ln xk ,
k=0 k=0 k=0
odnosno,
n
X
(hk − 1) ln xk
k=0
a= n .
X
2
ln xk
k=0
Rješenje. Kad imamo više uvjeta, uvijek ih treba uvrstiti u oblik aproksimacijske
funkcije. Vrijedi
ϕ0 (x) = 2ax + b.
Iz uvjeta da je ϕ0 (2) = 1 slijedi da je
1 = 4a + b =⇒ b = 1 − 4a.
2 = ϕ(1) = a + b + c.
2 = a + 1 − 4a + c =⇒ c = 1 + 3a.
Deriviranjem po a izlazi
n
∂S X
= −2 (fk − a(x2k − 4xk + 3) − xk − 1) · (x2k − 4xk + 3) = 0.
∂a k=0
Sređivanjem dobivamo
n
X n
X
a (x2k − 4xk + 3) = 2
(fk − xk − 1) · (x2k − 4xk + 3),
k=0 k=0
pa je rješenje problema
n
X
(fk − xk − 1) · (x2k − 4xk + 3)
k=0
a= n .
X
(x2k − 4xk + 3) 2
k=0
Sređivanjem izlazi
n
X n
2 2
X
a cos (xk ) + sin (xk ) = fk cos(xk ) − hk sin(xk )
k=0 k=0
n
X n
2 2
X
b sin (xk ) + cos (xk ) = fk sin(xk ) + hk cos(xk ) ,
k=0 k=0
odnosno
n
1 X
a= fk cos(xk ) − hk sin(xk )
n + 1 k=0
n
1 X
b= fk sin(xk ) + hk cos(xk ) .
n + 1 k=0
−1 = a + b.
b = −1 − a,
pa ona glasi p p
5
ϕ(x) = a|x|x3 − a − 1 = 5 a(|x|x3 − 1) − 1.
42 3. Aproksimacija i interpolacija
Deriviranjem dobivamo
n
∂S X
= −2 (hk + 1 − a(|xk |x3k − 1))(|xk |x3k − 1) = 0.
∂a k=0
Dijeljenjm dobivamo
n
X
(hk + 1)(|xk |x3k − 1)
k=0
a= n .
X
(|xk |x3k 2
− 1))
k=0
Naravno b = −a − 1.
Zadatak 3.15. Diskretnom metodom najmanjih kvadrata nađite linearni sustav
(koji ne treba riješiti) kojim biste odredili parametre a i b funkcije
ϕ(x) = ax2 + b
koja aproksimira funkciju
f (x) = x2 |x|
u točkama s koordinatama −ε, 0, ε za 0 < ε 1. Može li dobiveni sustav imati
loše rješenje koje je daleko od pravoga?
Rješenje. Uvrštavanjem točaka u funkciju f dobivamo podatke koje treba aproksi-
mirati
xk −ε 0 ε
.
fk ε3 0 ε3
Minimiziramo
2
X 2
X
2
S= (fk − ϕ(xk )) = (fk − ax2k − b)2 → min .
k=0 k=0
3.3. Diskretna metoda najmanjih kvadrata 43
2
∂S X
= −2 (fk − ax2k − b) = 0.
∂b k=0
Preuređivanjem obje jednadžbe, tako da sve sume koje sadrže nepoznanice preba-
cimo na lijevu stranu, a sve one koje ih ne sadrže na desnu stranu, dobivamo sustav
2
X 2
X 2
X
a x4k +b x2k = fk x2k
k=0 k=0 k=0
2
X 2
X
a x2k + 3b = fk .
k=0 k=0
Tablica:
x2k fk x4k fk x2k
ε2 ε3 ε4 ε5
0 0 0 0 .
ε2 ε3 ε4 ε5
2ε2 2ε3 2ε4 2ε5
P
1 8 4
4 9
κ(A) = 4ε + 8ε + 9 = 2ε + 4 + .
2ε4 2ε4
Ako je ε jako malen, onda će član 2ε4 + 4 u zbroju biti zanemariv u odnosu na
9/(2ε4 ), odnosno uvjetovanost matrice će približno biti jednaka
9 1
κ(A) ≈ 4
≈ 4.
2ε ε
Primjerice, za a = 10−5 je κ(A) ≈ 1020 . Budući da je uvjetovanost matrice visoka
zaključujemo da linearni sustav može imati jako loše rješenje, koje je daleko od
pravog rješenja.
Rješenje. Cijena fonana proporcionalna je s p·s i još ima dodan fiksni trošak. Dakle,
ϕ(p, s) = a · p · s + 0.25.
Deriviranjem po a dobivamo
3
∂S X
= −2 (ck − apk sk − 0.25) · (pk sk ) = 0.
∂a k=0
Dijeljenjem dobivamo
3
X
(ck − 0.25) · (pk sk )
k=0
a= 3
.
X
2
(pk sk )
k=0
Sad treba samo izračunati vrijednosti da se izračuna a,
pk sk ck ck − 0.25 (ck − 0.25) · pk sk (pk sk )2
10 1.0 5 4.75 47.50 100.00
10 1.2 6 5.75 69.00 144.00
.
12 1.5 9 8.75 157.50 324.00
14 1.1 7 6.75 103.95 237.16
P
377.95 805.16
Odatle izlazi da je a ≈ 0.46940981.
Konačno, treba izračunati cijenu fontane po tom modelu za
ϕ(13, 1.7) = 0.46940981 · 13 · 1.7 + 0.25 ≈ 10.6239567.
pa je
π 2
=1 b =⇒ b= .
2 π
Dakle, aproksimacijski pravac je, zapravo konstanta
2
ϕ(x) = .
π
Zadatak 3.18. Neprekidnom metodom najmanjih kvadrata nađite funkciju oblika
1
ϕ(x) = √ ,
ax + b
f (x) = ex
Rješenje. Iskoristimo prvo uvjet da ϕ mora prolaziti točkom (0, 1). Uvrštavanjem
to ke u vrijednost funkcije dobivamo
1 1
1= √ = ,
a·0+b b
3.4. Neprekidna metoda najmanjih kvadrata 47
1 1 3 1
a = − e−2 − ,
3 4 4 2
48 3. Aproksimacija i interpolacija
odakle slijedi
1 1
a = − 1 + 3e−2 ,
3 4
odnosno
3
1 + 3e−2 .
a=−
4
Zadatak 3.19. Zadana je funkcija
f (x) = 1 − |x|
ω(x) = 1 − x2 .
Rješenje. Kad treba riješiti problem najmanjih kvadrata na intervalu [a, b], uz za-
danu težinsku funkciju, znači da treba minimizirati
Z b
2
S= ω(x) f (x) − ϕ(x) dx → min .
a
odnosno
2 2
X 1 X
3k = fn =⇒ k= fn .
n=0
3 n=0
Dakle
46 + 49 + 50
k= = 48.3̇ sati.
3
Po tom modelu perilica bi trebala prestati raditi 5. veljače u 15 sati i 20 minuta.
Zadatak 3.21. Minimaks aproksimacijom nađite konstantu
ϕ(x) = c
f (0) = 0, f (π) = 0.
Budući da je e−x > 0 traže se točke u kojima sinus i kosinus poprimaju istu vrijed-
nost, a to je na zadanom intervalu samo π/4. Vrijedi
π √
π 2 −π/4
f = e−π/4 sin = e ≈ 0.261884,
4 4 2
Stoga je fmin = 0, fmax ≈ 0.261884 pa je
fmin + fmax
c= ≈ 0.130942.
2