Aproximace funkcí 1/13 Známe: celý prùbìh funkce Chceme þvzoreèekÿ hodnoty ve vybraných bodech, pøíp. i derivace Kvalita údajù: známe pøesnì (máme algoritmus) známe pøibli¾nì (experiment èi simulace) { tování, korelace, regrese Metody: Taylor (McLaurin) / Padé (racionální lomená funkce), Thiele interpolace splajny orthogonální systémy funkcí Èeby¹evova (nejlep¹í) aproximace metoda nejmen¹ích ètvercù
Taylor (MacLaurin) 2/13 MacLaurin (po posunutí x = 0 x = x 0 Taylor) Musí existovat v¹echny derivace, v R, C,... : f (n) (0) f(x) = x n n! pøesné blízko x = 0 èím vìt¹í x, tím men¹í pøesnost n=0 konvergence není zaruèena, napø.: { exp( 1/x) for x > 0, f(x) = 0 for x 0 je hladká (v¹echny derivace v x = 0 jsou 0), ale není analytická (nulový polomìr konvergence Taylorovy øady) Pøíklad. Studujte konvergenci (èásteèné souèty) pro Taylorovy øadu funkce sin(x) v x = 0. credit: Wikipedia
Padé 3/13 Padéova aproximace funkce f(x) v bodì x = 0 je racionální lomená funkce f(x) P k(x) P n k (x), P l(x) = l a i x i i=0 která má stejné derivace do f (n) (0) (tj. stejný Taylorùv rozvoj). Pøesné blízko x = 0, pro vìt¹í x pøesnost prudce klesá. Èasto (ale ne v¾dy) je Padéùv rozvoj pøesnìj¹í ne¾ Taylorùv rozvoj stejného øádu. Výpoèet Padéovy aproximace: z Taylorova rozvoje obou stran rovnice a výpoètem koecientù na základì Thielovy vìty pro øetìzový zlomek Pou¾ití: zrychlení konvergence (napø. viriálové stavové rovnice)
Øetìzový zlomek 4/13 Lze pøevést na racionální lomenou funkci a zpìt. Napø.: a 0 + x a 1 + x a 2 + x a 3 = a 0 + x + x + x a 1 a 2 a 3 Nekoneèný øetìzový zlomek (pøíklad) arctan x = x 1 + 12 x 2 3 + 22 x 2 5 + 32 x 2 7 Taylorùv rozvoj: + konverguje pro x R arctan x = x x3 3 + x5 5 + konverguje pro x 1
Výpoèet 5/13 Vypoèti polynom (pøímo): P n (x) = n a n x n = a 0 + x(a 1 + x(a 2 +...)) i=0 n multiplications and n additions NB: pro P 4 staèí 3 násobení a 5 sèítání, pro P 5 staèí 4 násobení a 5 sèítání Øetìzový zlomek (rekurzivnì): algoritmus pro jakékoliv n: f n = a 0 + b 1 a 1 + b 2 a 2 + + b n a n A 1 := 0, B 1 := 1 A 0 := 1, B 0 := a 0 A j := a j A j 1 + b j A j 2, B j := a j B j 1 + b j B j 2, j = 1..n f n = B n A n NB: A j, B j mohou pøetéct, jsou i dal¹í metody
Thielova vìta + 6/13 je analogií Taylorovy vìty pro øetìzové zlomky. f(x) = f(0) + x r 1 (0) + x r 2 (0) + x r 3 (0) + kde poèítáme rekurzivnì: R 1 = 0 R 0 = f(x) R j (x) = R j 2 (x) + r j 1 (x) r j (x) = j + 1 R j (x) Pøíklad: ln(1 + x) R 0 = ln(1 + x) r 0 = 1/(1/(1 + x)) = 1 + x x=0 = 1 R 1 = R 1 + r 0 = 1 + x r 1 = 2/(1 + x) = 2 R 2 = R 0 + r 1 = ln(1 + x) + 2 3 x=0 r 2 = = 3(1 + x) = 3 1/(1 + x). r 2n = 2n + 1, r 2n+1 = 2/(n + 1) ln(1 + x) = x 1 + x 2/1 + x 3 + x 2/2 + x 5 + x 2/3 +
Aproximace pomocí orthogonálních funkcí 7/13 Buï b n (x) úplný systém reálných orthonormálních funkcí (báze) na intervalu [a, b]. Pak f(x) = n=0 a n b n (x), kde a n = Oznaème èásteèné souèty jako f n (x) = b a n a i b i (x) i=0 f(x)b n (x)dx Koecienty a i pak minimalizují následující \chybu" aproximace (integrál kvadrátù odchylek) Poznámky: b a f n (x) f(x) 2 dx (1) Pro aproximaci jisté tøídy ubývajících funkcí lze uva¾ovat nevlastní interval, viz mat-lin2.mw. Lze pou¾ít i skalární souèin s váhou (viz Èeby¹ev dále)
Pøíklad { Fourierova øada 8/13 Fourierova øada pro funkce f(x), x [0, 2π] takové, ¾e existuje 2π 0 f2 dx: báze = {1, sin x, cos x, sin 2x, cos 2x...} dobré pro \dostateènì hladké" periodické funkce pro numerické úèely málokdy vhodné (pomalé sin, cos) 2 k i=1 sin(ix) i partial sum 1 0 exact k=2 k=4 k=8 k=16 k=32 k=64-1 -2-2 0 2 x
Aproximace pomocí orthogonálních funkcí poprvé 9/13 Zvolme interval [ 1, 1] a zkusme orthonormalizovat polynomy {1, x, x 2,...} (Gram- -Schmidt). Získáme Legendreovy polynomy (viz Maple). aproximace minimalizuje integrál kvadrátu odchylek (1) obvykle numericky nevhodné { vìt¹í chyba na krajích intervalu
Èeby¹evovy polynomy jsou orthogonální na intervalu [ 1, 1] s váhou 1/ 1 x 2 10/13 1 1 T n (x) = cos(n arccos x) T n (x)t m (x) 1 x 2 dx = Rozvoj: f(x) c 0 2 + n c i = 2 π 1 0 pro n m π pro n = m = 0 π/2 pro n = m 0 1 i=1 c i T n (x) f(x)t n (x) 1 x 2 dx Anglicky: Pafnuty Lvovich Chebyshev Rusky: Èesky: Pafnutij Lvoviè Èeby¹ev blízko nejlep¹í (minimax) aproximace
Èeby¹evova nejlep¹í (minimax) aproximace 11/13 Je to aproximace minimalizující maximální chybu: [ min max f(x) Pn (x) ] a i x kde P n (x) = n i=0 a i x i je polynom s n + 1 koecienty v¾dy existuje odchylka [f(x) P n (x)] má: { n + 2 extrémù, kde se støídají maxima a minima (alternanta) { n + 1 nulových bodù { aproximace pomocí Èeby¹evových polynomù je obvykle dost blízko Obdobnì pro racionální lomenou funkci Pøíklad: ln(x) v intervalu [2, 4] aproximovaná Èeby¹evovými polynomy do x 4 ( ) a nejlep¹í aproximace (R ); zobrazena je odchylka od pøesné funkce credit: Wikipedia
Interpolace 12/13 Funkci známe v diskrétních bodech, (x i, y i ), i = 1..n. Chceme prolo¾it polynomem. Existuje jediný polynom øádu n 1 (do x n 1, tj. n koecientù) = Lagrangeùv interpolaèní polynom: y(x) = y 1 R(x 1 x)(x 2 x)(x 3 x) (x n x) R(x 1 x 1 )(x 2 x 1 )(x 3 x 1 ) (x n x 1 ) + y 2 (x 1 x)r(x 2 x)(x 3 x) (x n x) (x 1 x 2 )R(x 2 x 2 )(x 3 x 2 ) (x n x 2 ). + y n (x 1 x)(x 2 x)(x 3 x) R(x n x) (x 1 x n )(x 2 x n )(x 3 x n ) R(x n x n ) Lze zjednodu¹it pro ekvidistantní argumenty Nepøesné u krajních bodù v pøípadì ekvidistantních dìlících bodù Lze roz¹íøit pro známé derivace
Splajny (splines) 13/13 Funkci známe v diskrétních bodech, (x i, y i ), i = 1..n. Chceme prolo¾it po èástech polynomy na intervalech [x i, x i+1 ]. Pro nejèastìj¹í kubické splajny (celkem 4n konstant): prochází body (2n podmínek) má spojité derivace (n 1 podmínek) má spojité 2. derivace (n 1 podmínek) Zbývají 2 konstanty, mù¾eme napø. po¾adovat druhé derivace na konci = 0 nebo minimalizovat kvadrát odchylek aj. Pokud numericky aproximujeme známou funkci, mù¾eme napø. místo spojitosti 2. derivací po¾adovat hodnoty 1. derivací U¾iteèné pro aproximaci slo¾itých funkcí na poèítaèi plusy: jednoduché málo operací v øádové èárce minusy: je potøeba poèítat i (celou èást reálného èísla) { nìkdy pomalé rozsáhlé tabulky se nemusí vejít do cache