7 KiB
7 KiB
Aproximace funkcí. Základní aproximační úlohy. Aproximace Taylorovým polynomem, interpolace, diskrétní a spojitá L2 aproximace. Diskrétní Fourierova transformace.
Základní aproximační úloha
Formulace
- cílem je nahrazení funkce
f
jinou funkcí\varphi
, která v nějakém smyslu napodobuje původní funkcif
za účelem snazšího zpracování či modelování na počítači
Aproximace
- vstup:
f = f(x); \quad x \in \langle a,b\rangle
- zvolíme
n+1
LN funkcí\varphi_{i}
a hledáme funkci\varphi
, která lze vyjádřit ve tvaru lineární kombinace\varphi = \varphi(x), \varphi(x) = c_{0}\varphi_{0}(x) + c_{1}\varphi_{1}(x) + \dots + c_{n}\varphi_{n}(x)
- tento typ se nazývá lineární aproximace
- pokud jsou
\varphi_{i}(x)
polynomy, jedná se o polynomiální aproximaci - stanovujeme koeficienty
c_{i}
tak, aby sef
a\varphi
co nejvíce podobaly
Základní úlohy
- aproximace na okolí bodu
- chceme-li aproximovat chování funkce v malém okolí bodu
- např. vyčíslení hodnot
\sin \frac{\pi}{4}
- interpolace
- chceme-li zadanými body proložit polynom
- požadujeme, aby aproximace přesně procházela zadanými body
- L2-aproximace
- hledáme-li funkční závislost mezi zadanými body
- nevyžadujeme, aby aproximace body procházela
Věta (Weierstrassova)
- TODO
Aproximace Taylorovým polynomem
- aproximace na okolí bodu
Předpoklad
f
má v boděx_{0}
a jeho okolí spojité derivace až do řádun
Taylorův polynom
\displaystyle T_{n}(x) = f(x_{0}) + f'(x_{0})(x-x_{0}) + \frac{f''(x_{0})}{2!}(x-x_{0})^2 + \dots + \frac{f^{(n)}(x_{0})}{n!}(x-x_{0})^n
Chyba aproximace
\displaystyle e(x) = f(x) - T_{n}(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\cdot(x-x_{0})^{(n+1)}, \quad\xi \in u(x_{0})
Interpolace
- zadané hodnoty v
n+1
bodechx_{0}, \dots, x_{n}
(uzly interpolace) - prochází zadanými body
Interpolační podmínky
- prochází zadanými body ...
P_{n}(x_{i}) = f(x_{i}), \quad i = 0, 1, \dots, n
- chyba v uzlech interpolace ...
e(x) = f(x) - P_{n}(x) = 0
Jednoznačnost řešení
- interpolační úloha má jediné řešení, pokud jsou uzly interpolace
x_{i}
vzájemně různé
Lagrangeův interpolační polynom
\displaystyle L_{n}(x) = \sum_{i=0}^n f(x_{i})\cdot l_{i}(x)
f(x_{i})
... splnění interpolační podmínky
\displaystyle l_{i}(x) = \frac{(x-x_{0})(x-x_{1})\dots(x-x_{i-1})(x-x_{i+1})\dots(x-x_{n})}{(x_{i}-x_{0})(x_{i}-x_{1})\dots(x_{i}-x_{i-1})(x_{i}-x_{i+1})\dots(x_{i}-x_{n})}
- vynecháme člen
(x-x_{i})
a(x_{i}-x_{i})
- dílčí polynomy n-tého stupně
- vynecháme člen
Newtonův interpolační polynom
N_{n}(x) = a_{0} + a_{1}(x-x_{0}) + a_{2}(x-x_{0})(x-x_{1}) + \dots + a_{n}(x-x_{0})(x-x_{1})\dots(x-x_{n-1})
- vyžadujeme splnění interpolační podmínky ...
N_{n}(x_{i}) = f(x_{i}), \quad i = 0,1,\dots,n
- vyžadujeme splnění interpolační podmínky ...
- přidáním dalšího bodu interpolace není nutné celý výpočet opakovat, jen dopočítáme příslušný koeficient
a_{n+1}
- algoritmus: počítáme koeficienty
a_{i}
pomocí poměrných diferencí
i |
x_{i} |
f(x_{i}) |
\displaystyle\frac{f(x_{i}) - f(x_{i-1})}{x_{i} - x_{i-1}} = f^I(x_{i}) |
\displaystyle\frac{f^I(x_{i}) - f^I(x_{i-1})}{x_{i} - x_{i-2}} = f^{II}(x_{i}) |
\displaystyle\frac{f^{II}(x_{i}) - f^{II}(x_{i-1})}{x_{i} - x_{i-3}} = f^{III}(x_{i}) |
---|---|---|---|---|---|
0 | 0 | 1 = a_{0} |
|||
1 | 1 | 2 |
\frac{2-1}{1-0} = 1 = a_{1} |
||
2 | -1 | 2 |
\frac{2-2}{-1-1} = 0 |
\frac{0-1}{-1-0} = 1 = a_{2} |
|
3 | 3 | 0 |
\frac{0-2}{3-(-1)} = -\frac{1}{2} |
\frac{-\frac{1}{2}-0}{3-1} = -\frac{1}{4} |
\frac{-\frac{1}{4}-1}{3-0} = -\frac{5}{12} = a_{3} |
Chyba interpolačního polynomu
\displaystyle e(x) = f(x) - P_{n}(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_{0})(x-x_{1})\dots(x-x_{n})
Nevilleův algoritmus
- výpočet hodnoty polynomu
N_{n}(\alpha)
v bodě\alpha
- není potřeba počítat celý polynom
- body je potřeba seřadit podle vzdálenosti
- princip
P_{i,0} = f(x_{i}); \quad i =0, 1, \dots, n
\displaystyle P_{i,k} = P_{i,k-1} + (\alpha-x_{i}) \frac{P_{i,k-1} - P_{i-1,k-1}}{x_{i} - x_{i-k}};
N_{n}(\alpha)
\alpha = 1.8
x_{i} |
0 | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
f(x_{i}) |
1.0000 | 0.36788 | 0.13534 | 0.04979 | 0.01832 |
\vert\alpha-x_{i}\vert |
x_i |
f(x_{i}) = P_{i,0} |
P_{i,1} |
P_{i,2} |
P_{i,3} |
P_{i,4} |
---|---|---|---|---|---|---|
0.2 | 2 | 0.13534 | ||||
0.8 | 1 | 0.36788 | 0.18185 | |||
1.2 | 3 | 0.04979 | 0.24064 | 0.17009 | ||
1.8 | 0 | 1.00000 | 0.42987 | 0.08926 | 0.16201 | |
2.2 | 4 | 0.01832 | 0.5582 | 0.27583 | 0.13901 | 0.16431 |
Spline funkce
- více polynomů dohromady
- lineární spline funkce
- lomená čára spojující zadané body
- kubická spline funkce
- na každém intervalu polynom 3. stupně
- splňuje interpolační podmínky
- je spojitá
- má spojitou první derivaci - nemá hroty
- má spojitou druhou derivaci - nemá prudké změny koeficientů křivosti
L2 aproximace
Princip
- hledáme aproximace ve tvaru
\varphi = \varphi(x), \varphi(x) = c_{0}\varphi_{0}(x) + c_{1}\varphi_{1}(x) + \dots + c_{n}\varphi_{n}(x)
- cílem L2 aproximace je minimalizovat odchylku funkce
\varphi
od zadaných bodů
Druhy
- diskrétní L2 aproximace lineárním polynomem
\varphi(x) = c_{0} + c_{1}x
- diskrétní L2 aproximace kvadratickým polynomem
\varphi(x) = c_{0} + c_{1}x + c_{2}x^2