APROXIMACE FUNKCÍ Jedním ze základních úkolů numerických metod matematické analýz je studium aproimací funkcí. Při numerickém řešení úloh matematické analýz totiž často nahrazujeme danou funkci f, vstupující v řešené matematické úloze, jinou funkcí ϕ, která v nějakém vhodném smslu napodobuje funkci f a snadno se přitom matematick zpracovává či modeluje na počítači. Tuto funkci ϕ nazýváme aproimací funkce f. Poznamenejme zde, že jsme již aproimaci funkce používali u řešení nelineární rovnice. Například u Newtonov metod jsme danou funkci f z řešené rovnice f() = aproimovali lineární funkcí (tečnou ke grafu funkce f); podobně tak tomu blo u metod sečen. Poznámka: Již pouhý výpočet funkčních hodnot některých základních funkcí (sin, e, ln,...) v počítači či na kalkulačce se provádí užitím aproimace těchto funkcí. Tto aproimace jsou ovšem zabudován do výpočetního sstému a uživatel si často ani neuvědomuje, že píše-li v programu např. =sin(), nahrazuje výpočet hodnot funkce sin výpočtem hodnot jistého polnomu. Tpickým příkladem užití aproimace funkcí jsou numerické metod pro výpočet určitého integrálu. Další oblastí numerické matematik založenou na užití aproimací je zpracování výsledků měření. Hledáme zde zpravidla jednoduchý analtický výraz vjadřující přibližnou funkční závislost pro tabulkou zadané hodnot. Při výběru vhodné aproimace postupujeme tak, že předem zvolíme tvar aproimující funkce, ve které vstupují nějaké proměnné parametr, a hodnot těchto parametrů se pak snažíme určit tak, ab získaná aproimace vhovovala našim požadavkům. Základní otázkou zůstává, v jakém tvaru budeme hledat aproimaci ϕ funkce f. Jednou z možností je aproimaci volit např. ve tvaru polnomu ϕ() = a 3 3 + a 2 2 + a 1 + a. Obecně ted nejprve určíme sstém jednoduchých základních (bázových) funkcí (ne nutně polnomů) ϕ, ϕ 1, ϕ 2,..., ϕ n a funkci f aproimujeme lineární kombinací základních funkcí, tj. ϕ() = c ϕ () + c 1 ϕ 1 () +... + c n ϕ n (). (1) Otázka výběru aproimace se ted převede na určení hodnot parametrů c, c 1,..., c n podle nějakého kritéria vhodného pro konkrétní úlohu. Poznámka: Velmi často budeme za základní funkce volit funkce 1,, 2,..., n, tj. aproimaci ϕ budeme hledat ve třídě polnomů nejvýše n-tého stupně. Nní se zamslíme nad kritérii, podle kterých budeme určovat parametr z lineární kombinace (1). T samozřejmě vplývají z charakteru konkrétní úloh a zhruba je můžeme rozdělit do tří skupin 1
Aproimace na okolí bodu - Použijeme, chceme-li aproimovat chování funkce v malém okolí bodu. Příkladem může být např. včíslení hodnot sin π na kalkulačce. 4 Interpolace - Použijeme, chceme-li tabulkou danými bod proložit polnom, tj. požadujemeli, ab aproimace přesně procházela zadanými bod. L 2 -aproimace - Použijeme, hledáme-li funkční závislost mezi tabulkou danými bod (získaných například měřením), kde nutně nevžadujeme, ab aproimace danými bod procházela. Důvodem můžou být např. chb, se kterými jsme hodnot naměřili. Aproimace na okolí bodu Nní se budeme věnovat jednotlivým úlohám. Začneme aproimací na okolí bodu, tj. mluvíme o aproimaci Talorovým polnomem. Předpokládáme, že daná funkce f má v daném bodě aspoň n derivací, a že hodnot těchto derivací v bodě známe. Podmínk pro funkci, která co nejlépe napodobuje chování funkce f matematick zapíšeme takto: ϕ (j) ( ) = f (j) ( ), j =, 1,..., n, tj. hodnot derivací funkcí f a ϕ v bodě jsou stejné až do řádu n. Tuto podmínku samozžejmě splňuje Talorův polnom T n () = f( ) + f ( ) 1! ( ) + f ( ) 2! Pro chbu aproimace Talorovým polnomem platí ( ) 2 +... + f (n) ( ) ( ) n. n! e() = f() T n () = f (n+1) (ξ) ( ) n+1, ξ U( ) (n + 1)! a umíme-li odhadnout n + 1 derivaci funkce f na daném okolí bodu, můžeme provést následující odhad chb aproimace. Platí-li f (n+1) () M U( ), potom e() M (n + 1)! n+1. 2
Příklad: Stanovte Talorův polnom 4.stupně, který aproimuje funkci f() = sin v bodě =. Řešení: T 4 () = sin +. cos 2 2 sin 3 6 4 3 cos + sin = 24 6. Vidíme, že v Talorově polnomu 4.stupně vpadl člen s 2 a 4, protože obsahoval sin. Takže v našem případě platí, že T 4 () = T 3 (). T 4 () = 3 6 f() = sin Odpovězme na otázku, pro jaké lze psát sin 3 6, ab chba nebla větší než 1 6? Výraz pro chbu má tvar Dále víme, že platí e() = 5 ( cos ξ) 5! cos ξ 1 a proto tj. chceme, ab e() }{{} 1 6 5 5! = 5 12 5 12 1 6 5 12.1 6.164375 }{{} (rad) 9 25 3
Aproimace interpolačním polnomem Chceme-li aproimovat funkci, která je dána svými hodnotami v n + 1 bodech i, i =, 1,..., n (bod i nazýváme uzl interpolace), a požadujeme-li, ab aproimace procházela zadanými bod, použijeme aproimaci interpolačním polnomem. Aproimace nám potom poslouží k získání přibližné hodnot zadané funkce v libovolném bodě intervalu, n. f( 4 ) f( ) f( 1 ) f( 2 ) f( 3 ) 1 2 3 4 Máme-li zadán hodnot funkce f v n + 1 různých bodech, tzn. máme zadáno n + 1 tzv. interpolačních podmínek pro polnom ϕ, je zřejmé, že stupeň hledaného polnomu bude n (polnom n-tého stupně má n + 1 koeficientů). Lze ukázat, že mezi všemi polnom nejvýše n-tého stupně eistuje právě jeden, který je interpolačním polnomem pro zadanou funkci. Pro určení interpolačního polnomu eistuje několik postupů, ale je třeba si uvědomit, že pro zadanou funkci všechn postup určí stejný polnom. Ukážeme si dvě možnosti určení interpolačního polnomu, tzv. Lagrangeův a Newtonův interpolační polnom. 4
Lagrangeův interpolační polnom Označme si hledaný polnom n-tého stupně L n (). Víme, že musí být splněn interpolační podmínk L n ( i ) = f( i ), i =, 1,..., n. Lagrangeův interpolační polnom hledáme ve tvaru n L n () = f( i ) l i (), i= kde l i () jsou polnom n-tého stupně takové, že platí l i ( j ) = δ ij = 1, i = j, i j (snadno se přesvědčíte, že dosadíte-li do předpisu pro L n () uzl interpolace, získáte zadané interpolační podmínk). Konkretizujme nní dílčí polnom l i (). Víme, že l i () má kořen, 1, i 1, i+1,... n a nabývá hodnot 1 v bodě i. Můžeme jej ted zapsat ve tvaru l i () = ( )( 1 )... ( i 1 )( i+1 )... ( n ) ( i )( i 1 )... ( i i 1 )( i i+1 )... ( i n ) Na obrázku je ukázán příklad dílčího polnomu l 3 (): l 3 () 1 1 2 3 4 5 5
Příklad: Stanovte Lagrangeův interpolační polnom pro funkci f, která je dána tabulkou a určete přibližnou hodnotu f(2). i 1 2 i 1 3 f( i ) 1 2 Řešení: kde L 2 () = f( ) l () + f( 1 ) l 1 () + f( 2 ) l 2 (), ( 1)( 3) l () = ( 1)( 3) = 1 ( 1)( 3) 3 ( )( 3) l 1 () = (1 )(1 3) = 1 ( 3) 2 ( )( 1) l 2 () = (3 )(3 1) = 1 ( 1) 6 Dosadíme ( ) 1 L 2 () = 1 3 ( 1)( 3) + 2 ( 1 ) ( ) 1 2 ( 3) + 6 ( 1) = = 1 3 (2 4 + 3) ( 2 3) = 2 3 2 + 5 3 + 1 3 2.5 2 L 2 () 1.5 1.5 1 2 2.5 1 1.5.5 1 1.5 2 2.5 3 3.5 4 4.5 L 2 (2) =? L 2 (2) = 2 3 22 + 5 3 2 + 1 = 8 + 1 + 3 3 = 5 3 6
Newtonův interpolační polnom Označme si hledaný polnom n-tého stupně N n (). Pro jeho odvození použijeme jinou kontrukci. Polnom volíme ve tvaru N n () = a + a 1 ( ) + a 2 ( )( 1 ) +... + a n ( )( 1 )... ( n 1 ). Opět požadujeme splnění interpolačních podmínek N n ( i ) = f( i ), i =, 1,..., n. Výhodou volb tohoto zdánlivě složitého předpisu je fakt, že přidáme-li další bod interpolace [ n+1, f( n+1 )], nemusíme celý výpočet opakovat, ale stačí dopočítat příslušný koeficient a n+1 (ostatní koeficient a i zůstávají beze změn). U Lagrangeova polnomu bchom museli celý výpočet provést znovu. Ukažme si co dostaneme dosazováním interpolačních podmínek do předpisu polnomu: N n ( ) = a = f( ) N n ( 1 ) = a + a 1 ( 1 ) = f( 1 ) a 1 = f( 1) f( ) 1 N n ( 2 ) = a + a 1 ( 2 ) + a 2 ( 2 )( 2 1 ) = f( 2 ) 2 1 + 1 a 2 = f( {}}{ 2) f( ) a 1 ( 2 ) = ( 2 )( 2 1 ) = f( 2) f( ) f( 1) f( ) 1 ( 2 1 ) f( 1) f( ) 1 ( 1 ) ( 2 )( 2 1 ) = f( 2) f( 1 ) f( 1) f( ) 1 ( 2 1 ) ( 2 )( 2 1 ) = = a 2 = f( 2 ) f( 1 ) 2 1 f( 1) f( ) 1 2 Poznámka: Počítat koeficient a i přímo ze soustav není praktické. Koeficient budeme počítat pomocí tzv. poměrných diferencí. Kostrukci Newtonova polnomu si ukážeme v následujícím příkladě. Příklad: Stanovte Newtonův interpolační polnom pro funkci f, která je dána tabulkou: i 1 2 3 i 1-1 3 f( i ) 1 2 2 7
Řešení: Stupeň polnomu je n = 3 (jsou zadán 4 funkční hodnot). Celý postup můžeme přehledně zapsat do tabulk: i i f( i ) f( i ) f( i 1 ) f I ( i ) f I ( i 1 ) f II ( i ) f II ( i 1 ) i i 1 i i 2 i i 3 ozn. = f I ( i ) ozn. = f II ( i ) ozn. = f III ( i ) 1 1 1 2 2-1 2 3 3 2 1 1 = 1 2 2 1 1 = 1 1 = 1 2 3 ( 1) = 1 2 1 2 3 1 = 1 4 1 4 1 3 = 5 12 V tabulce jsou na diagonále postupně uveden koeficient a, a 1, a 2 a a 3 Newtonova interpolačního polnomu N 3 () = a + a 1 ( ) + a 2 ( )( 1 ) + a 3 ( )( 1 )( 2 ). Po dosazení N 3 () = 1 + 1( ) + 1( )( 1) 5 ( )( 1)( + 1) =... = 12 = 5 12 3 + 2 + 5 12 + 1 6 5 4 3 N 3 () 2 1 2 1 3 1 2 2 1 1 2 3 4 8
Poznámka: Všimněme si, že v konstrukci interpolačního polnomu nezáleží na pořadí zadaných tabulkových bodů. Poznámka: V řadě případů potřebujeme kromě a i vpočítat hodnotu polnomu v daném bodě α, tj. N n (α) = a + a 1 (α ) + a 2 (α )(α 1 ) +... + a n (α )(α 1 )... (α n 1 ). Při vhodném uzávorkování můžeme výpočet zefektivnit (zmenšíme počet operací sčítání a násobení): [ N n (α) = a + (α ) a 1 + (α 1 ) [ a 2 + (α 2 )[a 3 +...] ]]. Tento postup můžeme samozřejmě použít jen tehd, kdž už známe koeficient a i. Chceme-li vpočítat pouze hodnotu polnomu N n (α) v bodě α za co nejmenšího počtu operací a nepotřebujeme-li koeficient a i, použijeme tzv. Nevilleův algoritmus. Princip je podobný jako v algoritmu pro určení koeficientů Newtonova polnomu. Nevilleův algoritmus: 1. P i, = f( i ); i =, 1,..., n 2. P i,k = P i,k 1 + (α i ) P i,k 1 P i 1,k 1 i i k ; 3. N n (α) = P nn Princip Nevilleova algoritmu je ukázán v následujícím příkladu. 9
Příklad: Vpočtěte f(1,8), kde funkce f() je dána tabulkou: i 1 2 3 4 f( i ) 1,,36788,13534,4979,1832 Řešení: Uzl i je výhodné uspořádat podle rostoucí vzdálenosti od bodu α, v němž chceme stanovit přibližnou hodnotu funce f(). Podle rozdílu hodnot P i,i a P i 1,i 1 (i = 1,..., n) lze rozhodnout o předčasném ukončení Nevillova algoritmu, popř. o vhodnosti interpolace pomocí N n (). Nevillovo schéma: α i i f( i ),2 2,13534,8 1,36788,18185 1,2 3,4979,2464,179 1,8 1,,42987,8926,1621 2,2 4,1832,55824,27583,1391,16431 1.8 1.6 1.4 1.2 1.8.6 N 4 ().4.2 i.2.5.5 1 1.5 2 2.5 3 3.5 4 4.5 5 1
Poznámk: 1) Interpolační polnom všších řádů není vhodné užívat pro aproimaci hodnot funkce mimo interval obsahující uzl interpolace (tzv. etrapolaci), protože absolutní hodnota polnomu nabývá velkých hodnot. P n () i 2) Dále není obecně vhodné interpolovat polnomem funkci, která je dána velkým počtem svých hodnot. Stupeň interpolačního polnomu b potom bl velký a vlastnosti polnomu vsokého stupně nejsou dobré nejen mimo interval obsahující uzl interpolace, ale i uvnitř. Interpolační polnom směrem ke krajním bodům intervalu může vlivem nepřesností ve vstupních datech výrazně oscilovat, zejména při použití ekvidistantních uzlů. i P n () 3) Použijeme-li vhodně zvolené neekvidistantní uzl, můžeme tto oscilace minimalizovat. (Vhodnou volbou jsou uzl zvolené jako kořen tzv. Čebševových polnomů.) P n () i 11
4) Interpolace polnomem není obecně vhodná např. pro funkce, které mají asmptotu. Toto je jedním z důvodů, proč zavádíme tzv. interpolaci spline funkcemi. f() P n () 12
Interpolace spline funkcemi Nejjednodušší spline funkcí je tzv. lineární spline funkce; jde vlastně o lomenou čáru spojující zadané interpolované bod. ϕ() 1 2 3 4 Nejvíce používanou je tzv. kubická spline interpolace vcházející z mšlenk, že danou funkci f můžeme na a, b aproimovat funkcemi, které jsou po částech polnom 3.stupně. Poznamenejme zde, že ostatní volb stupně polnomů nepřináší lepší výsledk a výpočt jsou v případě větších stupňů složitější. Interval a, b rozdělíme na n dílčích intervalů a = < 1 < 2 <... < n = b. Funkci f aproimujeme funkcí ϕ, pro kterou platí: a) ϕ C 2 ( a, b ) (funkce ϕ je spojitá a má spojité první i druhé derivace) b) na každém intervalu i, i+1 je ϕ polnom 3. stupně V následujícím příkladu jsou rozepsán podmínk pro konstrukci kubické spline funkce. 13
Příklad : ϕ () f( 1 ) f( ) ϕ 1 () f( 3 ) f( 2 ) ϕ 2 () a = 1 2 3 = b Jednotlivé funkce ϕ i () (na každém intervalu i, i+1 jde o jinou funkci) mají tvar: Musí platit: ϕ i () = a i + b i ( i ) + c i 2 ( i) 2 + d i 6 ( i) 3 (ϕ C 2 ( a, b ) a podmínk interpolace) 1) 2) 3) 4) ϕ ( 1 ) = ϕ 1 ( 1 ) ϕ 1 ( 2 ) = ϕ 2 ( 2 ) ϕ ( 1 ) = ϕ 1( 1 ) ϕ 1( 2 ) = ϕ 2( 2 ) } } ϕ ( 1 ) = ϕ } 1( 1 ) ϕ 1( 2 ) = ϕ 2( 2 ) ϕ ( ) = f( ) ϕ 1 ( 1 ) = f( 1 ) ϕ 2 ( 2 ) = f( 2 ) ϕ 2 ( 3 ) = f( 3 ) spojitost funkce ϕ spojitost 1. derivace funkce ϕ spojitost 2. derivace funkce ϕ interpolační podmínk Poznámka Dostali jsme 1 podmínek na funkci ϕ, která je však určena 3 4 parametr a i, b i, c i, d i (tj. 12 podmínek) chbí ještě 2 podmínk. 14
Je vhodné doplnit některou z následujících dvojic podmínek: 5) a) ϕ (a) = f (a), ϕ (b) = f (b)... podmínk tečen b) ϕ (a) = ϕ (b), ϕ (a) = ϕ (b)... podmínk periodicit c) ϕ (a) =, ϕ (b) =... tzv. přirozené podmínk Poznámka Uvědomme si, že ϕ( i ) = a i ϕ ( i ) = b i ϕ ( i ) = c i ϕ ( i ) = d i 1, ϕ ( i +) = d i Závěr Podmínk 1) - 5) představují soustavu lineárních algebraických rovnic s řídkou maticí. Jejím vřešením určíme koeficient a i, b i, c i, d i a tím i funkce ϕ i, tj. ϕ. 15
Diskrétní L 2 -aproimace Mšlenka: Chceme aproimovat funkci, která je dána tabulkou {( i, f( i ))}. V případě, kd jsou f( i ) zatížen chbou (např. výsledk měření), není vhodné provádět interpolaci. Aproimaci ϕ hledáme ve tvaru ϕ() = c ϕ () + c 1 ϕ 1 () +... + c n ϕ n (), kde ϕ i jsou zadané funkce a c i hledané parametr (počet bázových funkcí ϕ i je menší než počet zadaných bodů, v případě rovnosti se již jedná o interpolaci). Naším cílem je minimalizovat souhrnou odchlku funkce ϕ od zadaných dat. Ilustrační obrázek: 12 1 f( 5 ) ϕ = c + c 1. + c 2. 2 8 f( 4 ) 6 f( ) f( 3 ) 4 f( 1 ) f( 2 ) 2 1 2 3 4 5 1 1 2 3 4 5 6 7 8 9 1 Metodu diskrétní L 2 -aproimace popíšeme na následujícím příkladu. 16
Příklad Je dána funkce f tabulkou i, 5, 8, 9 1, 1 1, 2 f( i ) 2, 25, 72, 33, 27, 48 Tuto funkci chceme aproimovat lineární funkcí metodou nejmenších čtverců. Lineární funkce ϕ = c. }{{} 1 +c 1. }{{} ϕ () ϕ 1 () Minimalizujeme funkci 5 5 r(c, c 1 ) = f( i ) ϕ( i ) 2 = f( i ) c c 1 i 2 i=1 i=1 Podmínk minima (1) (2) r = 2 c 1 r = 2 c 5 (f( i ) c c 1 i ) i = i=1 5 (f( i ) c c 1 i ) = i=1 2 rovnice pro neznámé c, c 1. Konkrétně (1) (2, 25 c, 5c 1 ), 5 + (, 72 c, 8c 1 ), 8+ +(, 33 c, 9c 1 ), 9 + (, 27 c 1, 1c 1 )1, 1+ +(, 48 c 1, 2c 1 )1, 1 = (2) (2, 25 c, 5c 1 ) + (, 72 c, 8c 1 )+ +(, 33 c, 9c 1 ) + (, 27 c 1, 1c 1 )+ +(, 48 c 1, 2c 1 ) = Po sečtení (1) 4, 35c 1 4, 5c = 1, 125 (2) 4, 5c 1 5c = 2, 55 } c 1 = 3, 9 c = 4, 2 ϕ = 3, 9 + 4, 2 17
5 4 3 2 ϕ = 3, 9 + 4, 2 1 1 2 3.5 1 1.5 Jiný přístup: Zapišme interpolační podmínk c 1 i + c = f( i ). Jejich přesné splnění samozřejmě obecně nelze zaručit (pouze ve speciálních případech), protože získáme tzv. přeurčenou soustavu (více rovnic než neznámých):, 5 1 2, 25, 8 1 [ ], 72, 9 1 c1. = c, 33 Q.c = f 1, 1 1, 27 1, 2 1, 48 Získanou přeurčenou soustavu řešíme ve smslu nejmenších čtverců, tj. Q T Qc = Q T f (jedná se o stejnou soustavu jako v prvním přístupu). 18
Poznámka V případě, že některé hodnot chceme eliminovat, například důsledkem špatného měření, nebo kdž jsou hodnot pro větší i zatížen větší chbou, je vhodné použít váh, tj. minimalizujeme Poznámka Otázkou ještě zůstává volba tvaru ϕ(). První možností je volit n r(c i ) = f( i ) ϕ( i ) 2 w i i=1 ϕ () = 1, ϕ 1 () =, ϕ 2 () = 2,..., ϕ n () = n. Opět je třeba určit ještě stupeň polnomu (a to např. ze znalosti chování funkce f nebo pomocí statistických metod). Ukazuje se, že takto volené ϕ i () nejsou nejlepší pro výpočt. Soustava normálních rovnic je pro větší n špatně podmíněná. Za bázové funkce ϕ i je vhodné volit ortogonální polnom, pro které platí (ϕ i, ϕ j ) = δ ij = 1, i = j, i j Smbol (f, g) představuje skalární součin funkcí, tj. b n f( i ) g( i ) resp. fg d ve spojitém případě. i=1 Příklad ortogonálních polnomů: Čebševov, Legendrov, Laguerrov, Gramov... viz literatura Soustava normálních rovnic má pro ortogonální polnom diagonální matici. (rozmslet!) a Poznámka Analogické úvah jako v případě diskrétní L 2 -aproimace pro funkci zadanou tabulkou můžeme provést i pro funkci zadanou na celém intervalu a, b. Získáme tzv. spojitou L 2 - aproimaci funkce. (Součt přejdou formálně na integrál přes daný interval.) Princip výpočtu demostruje následující příklad. 19
Spojitá L 2 -aproimace Příklad Stanovte spojitou L 2 -aproimaci funkce f() =,, 1 lineární funkcí ϕ() = c 1 + c. Minimalizujeme funkci r(c, c 1 ) = 1 f() ϕ() 2 d = 1 ( c c 1 ) 2 d. Podmínk minima (1) (2) 1 r = 2 ( c c 1 ) d = c 1 r c = 2 1 ( c c 1 ) d = 2 rovnice pro neznámé c, c 1. [ 2 (1) 2 5 5 2 2 c 3 ] 1 2 c 1 3 [ 2 (2) 2 3 3 2 2 c c 1 2 ] 1 = = (1) (2) 2 5 1 2 c 1 3 c 1 = 2 3 c 1 2 c 1 = 1 2 c + 1 3 c 1 = 2 5 c + 1 2 c 1 = 2 3 c 1 = 4 5 c = 4 15 ϕ() = 4 5 + 4 15 2
1.2 1 ϕ() = 4 5 + 4 15.8 f() =.6.4.2.2.4.6.8 1 1.2 Poznámka Obecně lze opět zavést váhovou funkci w = w() a minimalizovat r(c i ) = b a f() ϕ() 2 w() d 21
Fourierova analýza Do této chvíle jsme se zabývali aproimacemi funkce pouze pomocí polnomů. V úvodu jsme uvedli, že za bázové funkce můžeme volit libovolné funkce. Například pro aproimaci periodických funkcí není vhodné použít polnom (a to jak ve smslu interpolace tak ve smslu L 2 -aproimace). Pro aproimaci periodických funkcí je vhodné použít nějaký sstém periodických bázových funkcí, např. sstém tzv. trigonometrických polnomů: ϕ () = 1 ϕ 2k 1 () = cos 2πk T ϕ 2k () = sin 2πk T k = 1, 2,... k = 1, 2,..., kde T představuje periodu zadané funkce (vzdálenost prvního a posledního uzlu v diskrétním případě, resp. délku zadaného intervalu ve spojitém případě). Pro jednoduchost uvažujeme ekvidistantní uzl (v diskrétním případě). Počet uvažovaných bázových funkcí volíme buď menší než je počet zadaných bodů (ve smslu L 2 -aproimace), nebo roven počtu zadaných bodů (ve smslu interpolace). Jednoduchým cvičením je ukázat, že sstém trigonometrických polnomů je ortogonální (jak v diskrétním tak ve spojitém případě). Ověřte! Úlohu najít koeficient c i u bázových funkcí ϕ i z vjádření ϕ() = c ϕ () + c 1 ϕ 1 () +... + c n ϕ n (). nazýváme v tomto případě Fourierovou analýzou. Formálně pouze přeznačíme koeficient c i, tj. u bázové funkce ϕ () = 1 použijeme koeficient A, u bázových funkcí ϕ 2k 1 () = cos(2πk)/t použijeme koeficient A k a u bázových funkcí ϕ 2k () = sin(2πk)/t použijeme koeficient B k. Následující jednoduchý příklad naznačí princip Fourierov analýz. Příklad Aproimujte 2π-periodickou funkci zadanou tabulkou za použití maimálního počtu bázových funkcí (tj. ve smslu interpolace). i π/2 π 3π/2 f( i ) 12 4 4 Řešení Ze zadání je zřejmé, že perioda zadané funkce je 2π. Aproimující trigonometrický polnom budeme ted volit ve tvaru ϕ() = A + A 1 cos + B 1 sin + A 2 cos 2. 22
Zapíšeme interpolační podmínk tj. tj. tj. ϕ( j ) = f( j ), j =, 1, 2, 3, 1 cos sin cos 2 1 cos 1 sin 1 cos 2 1 1 cos 2 sin 2 cos 2 2 1 cos 3 sin 3 cos 2 3 1 cos sin cos 1 cos π/2 sin π/2 cos π 1 cos π sin π cos 2π 1 cos 3π/2 sin 3π/2 cos 3π 1 1 1 1 1 1 1 1 1 1 1 1 A A 1 B 1 A 2 A A 1 B 1 A 2 = A A 1 B 1 A 2 = f( ) f( 1 ) f( 2 ) f( 3 ) = 12 4 4. 12 4 4,, Vřešením soustav získáme hledané koeficient A = 3, A 1 = 6, B 1 = 4, A 2 = 3 a tím i aproimující trigonometrický polnom ϕ() = 3 + 6 cos 4 sin + 3 cos 2. 14 12 1 ϕ() 8 6 4 2 2 2π 4 6 1 2 3 4 5 6 23
Úlohu a řešení Fourierov analýz lze formulovat elegantně použitím komplení proměnné. Uvažujme pro jednoduchost lichý počet bázových funkcí (N = 2L + 1) a periodu dané funkce 2π. Potom má aproimující funkce tvar Pro funkce sin a cos platí vztah a ted Označíme-li dostaneme cos = ei + e i 2 L ϕ() = A + (A k cos k + B k sin k). ( ) k=1, sin = ei e i 2i = 1 2 i (ei e i ) L ( 1 ϕ() = A + k=1 2 A k (e ik + e ik ) 1 2 i B k (e ik e )) ik = L ( 1 = A + k=1 2 (A k i B k ) e ik + 1 ) 2 (A k + i B k ) e ik. C = A, C k = 1 2 (A k i B k ), C k = 1 2 (A k + i B k ) ϕ() = L k= L C k e ik. Pro koeficient dostaneme vnásobením ( ) jednotlivými bázovými funkcemi, vužitím jejich ortogonalit a interpolačních podmínek předpis: A = 1 N N 1 j= f( j ) Poznámka A k = 2 N B k = 2 N C k = 1 N N 1 j= N 1 j= N 1 j= f( j ) cos k j f( j ) sin k j f( j ) e ik j Vezmeme-li aproimující polnom o menším počtu bázových funkcí než je počet zadaných bodů, jedná se o aproimaci ve smslu metod nejmenších čtverců, tj. diskrétní L 2 -aproimaci. Potom obecně nemohou být splněn interpolační podmínk přesně (pouze ve speciálních případech). 24
Poznámka Výpočet koeficientů C k představuje sčítání konečné řad. Uvažujeme-li počet aproimujících bázových funkcí N jako mocninu čísla 2 (tj. N = 2 M ), lze odvodit velmi rchlý a efektivní algoritmus pro výpočet koeficientů C k. Tento algoritmus se potom nazývá rchlá Fourierova analýza. Podrobněji viz literatura. 25