interpolacija i aproksimacija

September 19, 2017 | Author: darkoni_ | Category: N/A
Share Embed Donate


Short Description

Download interpolacija i aproksimacija...

Description

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 (interpolacija, 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 funkcija 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 teoreme: • 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 nejednakim 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 ¯ ¯ 1 x0 x20 . . . ¯ ¯ 1 x1 x21 . . . ¯ ¯ 1 x2 x22 . . . ¯ . . .. . . ¯ .. .. . . ¯ ¯ 1 x x2 . . . n n

sistema jednaka je: ¯ xn0 ¯ ¯ xn1 ¯ ¯ xn2 ¯ .. ¯¯ . ¯ xnn ¯

(4.5)

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 f (x) 0.298507 0.294118

3.50 0.285714

3.60 0.277778

Rješenje Tačna vrijednost funkcije je: f (3.44) =

1 = 0.290698 3.44

(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 68

(4.8)

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 polinom: 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 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) 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 č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 0.285714 = a + b · (3.50) + c · (3.50)2 + d · (3.50)3

(4.14)

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 =0.290698

kvadratni kubni

=−0.000001 = 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 jednostavna po svom principu, ali ima mnogo nedostataka, među kojima prednjači znatno vrijeme za određivanje koeficijenata polinoma. Osim toga, za polinome 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 interpolaciju, 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: P1 (x) =

(x − b) (x − a) f (a) + f (b) (a − b) (b − a)

(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: (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)

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) f (a) (a − b)(a − c) . . . (a − k) (x − a)(x − c) . . . (x − k) + f (b) (b − a)(b − c) . . . (b − k) (x − a)(x − b) . . . (x − j) + ... + f (k) (k − a)(k − b) . . . (k − j)

Pn (x) =

(4.19)

ili u nešto drugačijem obliku: Pn (x) = L0 (x)f (x0 ) + L1 (x)f (x1 ) + . . . + Ln (x)f (xn ) n X = Lk (x)f (xk )

(4.20)

k=0

gdje (x − x0 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xn ) (xk − x0 ) . . . (xk − xk−1 )(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

predstavljaju tzv. Lagrangeove polinome. Vidi se da za određivanje Lagrangeovog interpolacionog polinoma nema potrebe 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 prevazić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) 0.294118 + 0.285714 (3.40 − 3.50) (3.50 − 3.40) = 0.579854 − 0.08404x

P1 (x) =

(4.22)

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) 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 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 s 2 ∆n f0 (4.25) ∆ f0 + . . . + ∆f0 + Pn (x) = f0 + n 2 1 gdje je parametar s, tzv. interpolaciona promjenljiva, dat izrazom: s= 72

x − x0 h

čime je

x = x0 + sh

(4.26)

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 ...... µ ¶ n X n n−1 n−1 i n ∆ f0 = ∆ f1 − ∆ f0 = (−1) fi i i=0

(4.27)

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

Slika 4.2: Tabela podijeljenih razlika

Polinom predstavljen jednačinom (4.25) naziva se prvi Newtonov interpolacioni 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 koeficijenata. 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. 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

Rješenje 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)

Iz jednačine (4.25) se direktno dobija: P (3.44) = f (3.4) + s∆f (3.4) +

s(s − 1) 2 ∆ f (3.4) 2!

s(s − 1)(s − 2) 3 ∆ f (3.4) + . . . + 3! 74

(4.29)

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. Dodavajuć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 =0.290700 =0.290698

linearni kvadratni kubni

Greška =0.000058 =0.000002 =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 =0.290709 =0.290698

linearni kvadratni kubni

Greška =−0.000926 = 0.000011 = 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 s 2 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]) = i i!

(4.32)

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: s=

x − x0 3.44 − 3.50 = = −0.6 h 0.1

(4.33)

Iz jednačine (4.31) se direktno dobija: P (3.44) = f (3.5) + s∆f (3.5) +

s(s + 1) 2 ∆ f (3.5) 2!

s(s + 1)(s + 2) 3 + ∆ f (3.5) + . . . 3!

(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) + (0.000508) 2 (−0.6)(−0.6 + 1)(−0.4 + 2) + (−0.00050) + . . . 3!

(4.35)

Uzimajući u obzir samo prva dva člana dobija se linearna aproksimacija. Dodavajuć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 =0.290695 =0.290698

76

linearni kvadratni kubni

Greška = 0.000058 =−0.000003 = 0.000000

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 između čvornih tačaka dobro poklapaju sa interpolacionim polinomom. Razlika između vrijednosti polinoma i funkcije, koju dati polinom interpolira, predstavlja 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) (ξ) (n + 1)!

(4.36)

ξ ∈ (a, b)

(4.37)

Rn (x) = f (x) − Pn (x) = ψ(x) gdje je: ψ(x) =

n Y

(x − xi )

i

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 podataka, 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 minimiziranju devijacija (razmaka) tačaka od aproksimacionog polinoma. Pri tome, može se pretpostaviti da su vrijednosti nezavisne promjenljive xi tačne, a da devijacija 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 N X X 2 S= (ei ) = (Yi − yi )2 i=1

(4.39)

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 logaritamska 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: S(a0 , a1 , a2 , . . . , an ) =

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)

4.2. Aproksimacija funkcija

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

X ∂S = 2(Yi −a0 −a1 xi −. . .−an xni )(−xki ) = 0 ∂ak i=1

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

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: aN + b

N X

xi =

i=1

a

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 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 pritisku (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: 8a + b

8 X

Ti =

i=1

a

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

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−3 T 80

(4.48)

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 pritisku (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: 5a + b

5 X

Ti + c

i=1

a

5 X i=1

a

5 X i=1

Ti + b

5 X

2

Ti =

5 X

i=1 5 X

2

Ti + c

i=1 5 X

Ti 2 + b

i=1

Cp,i

i=1 5 X

3

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

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

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 koeficijenata 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 jednačinom: y = aebx

(4.58)

Tabela 4.4: Uz primjer 4.7 x 0 1 y 3 6 Y = ln(y) 1.098612 1.791759

2 12 2.484907

3 24 3.178053

4 48 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: 5A + b

5 X

xi =

i=1

A

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

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 = 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 aproksimacije! 11. Tabela 4.5 daje zavisnost specifične toplote zraka pri konstantnom pritisku, 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 polinomom 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 gustinu 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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF