Lagrangeova interpolace
Author
Albert FloresPříklad užití Lagrangeova polynomu pro interpolaci čtyř bodů Chceme-li interpolovat funkci, která je dána svými hodnotami v n+1 bodech x_i, i = 0, 1, ..., n (body x_i nazýváme uzly interpolace), a tedy požadujeme, aby hledaná funkce procházela zadanými body, můžeme použít interpolaci Lagrangeovým interpolačním polynomem. Interpolační funkce nám potom poslouží k získání polynomu procházejícím všemi body na intervalu .
Máme-li zadány hodnoty funkce f v n+1 různých bodech, tzn. máme zadáno n+1 tzv. +more interpolačních podmínek pro polynom, je zřejmé, že stupeň hledaného polynomu bude n. Lze ukázat, že mezi všemi polynomy nejvýše n-tého stupně existuje právě jeden, který je interpolačním polynomem pro zadanou funkci. Pro určení interpolačního polynomu existuje několik postupů, ale je třeba si uvědomit, že pro zadanou funkci všechny postupy určí stejný polynom.
Lagrangeův interpolační polynom je jedním ze známějších a také snadných způsobů interpolace funkce zadané pouze v diskrétních bodech. Nechť tedy máme dáno n+1 bodů, přes které funkce prochází. +more Pak můžeme pomocí rovnice popsané ve Wikiknihách nalézt interpolační funkci, která se původní rovnici snaží co nejvíce přiblížit.
Konstrukce Lagrangeova interpolačního polynomu
Konstrukce Lagrangeova interpolačního polynomu:
Známe-li (n+1) uzlových bodů x_0 \cdots x_n a jim odpovídající funkční hodnoty f(x_0) \cdots f(x_n), sestavíme Lagrangeův interpolační polynom L_n(x) n-tého řádu následovně:
:L_n(x) = P_0(x) + \cdots + P_n(x) = f(x_0) \ell_0(x) + \cdots + f(x_n) \ell_n(x),
kde P_i(x) jsou pomocné polynomy a pro \ell_i(x) platí:
:\ell_i(x_j) = \begin{cases} 1 & \text{pro } i=j \\ 0 & \text{pro } i \ne j \end{cases}
Tyto podmínky splňuje polynom:
:\ell_i(x) = \prod_{\begin{smallmatrix}0\le m\le n\\ m\neq i\end{smallmatrix}} \frac{x-x_m}{x_i-x_m} = \frac{(x-x_0)}{(x_i-x_0)} \cdots \frac{(x-x_{i-1})}{(x_i-x_{i-1})} \frac{(x-x_{i+1})}{(x_i-x_{i+1})} \cdots \frac{(x-x_n)}{(x_i-x_n)}
Ukázka konstrukce interpolačního polynomu
Ukázka konstrukce interpolačního polynomu: zde)
Obrázek vpravo ukazuje příklad konstrukce interpolačního polynomu L_3(x). Známé body interpolované funkce [x_i,f(x_i)], kde i nabývá celočíselných hodnot od 0 do 3, nazýváme řídící body (barevné kružnice na obrázku). +more Cílem interpolace je, aby výsledná funkce (polynom) L_3(x) procházela všemi řídícími body.
Pomocné polynomy P_i(x) = f(x_i) \ell_i (x) (barevné křivky na obrázku) prochází svými příslušnými řídícími body a v ostatních řídících bodech [x_j,f(x_j)], (j \ne i) je jejich hodnota nulová. Lze je sestavit podle výše uvedených vzorců. +more Tedy: :L_3(x) = f(x_0) \frac{(x-x_1)}{(x_0-x_1)} \frac{(x-x_2)}{(x_0-x_2)} \frac{(x-x_3)}{(x_0-x_3)} + f(x_1) \frac{(x-x_0)}{(x_1-x_0)} \frac{(x-x_2)}{(x_1-x_2)} \frac{(x-x_3)}{(x_1-x_3)} +.
+ f(x_2) \frac{(x-x_0)}{(x_2-x_0)} \frac{(x-x_1)}{(x_2-x_1)} \frac{(x-x_3)}{(x_2-x_3)} + f(x_3) \frac{(x-x_0)}{(x_3-x_0)} \frac{(x-x_1)}{(x_3-x_1)} \frac{(x-x_2)}{(x_3-x_2)}
Součtem všech pomocných polynomů tak vzniká polynom procházející všemi řídícími body L_3(x) (černá křivka na obrázku).
U polynomů vyšších řádů je výše popsaný postup časově náročný. Proto se využívá rovnosti L_n(x) = a_0+a_1x^1 + \cdots + a_nx^n = \sum_{i=0}^n a_ix^i, kde L_n(x_i) = f(x_i), ke konstrukci matice \Lambda typu n \times n, jejíž řádky reprezentují lagrangeův polynom n-tého stupně vyčíslený v bodech [x_i,f(x_i)]. +more Vektor pravých stran je identickým se sloupcovým vektorem \vec{f}(x_i).
\Lambda = \begin{pmatrix} a_0 & a_1x_0 & a_2x_0^2 &\cdots & a_nx_0^n \\ \vdots & \vdots & \vdots & \ddots & \vdots\\ a_0 & a_1x_i & a_2x_i^2 & \cdots & a_nx_i^n \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ a_0 & a_1x_n & a_2x_n^2 & \cdots & a_nx_n^n \\ \end{pmatrix} | , \vec{f}(x_i) = \begin{pmatrix} f(x_0) \\ \vdots \\ f(x_i) \\ \vdots \\ f(x_n) \\ \end{pmatrix} |
---|
Neznámé konstanty a_0, a_1, \cdots ,a_n pak nalezneme některou z metod řešení matic (např. Gaussovou eliminační metodou, vynásobením inverzní matice \Lambda^{-1} zprava vektorem pravých stran \vec{f}(x_i), apod. +more).
Související články
Reference
Externí odkazy
[url=https://web. archive. +moreorg/web/20071218053322/http://e-learning. tul. cz/cgi-bin/elearning/elearning. fcgi. ID_tema=70&ID_obsah=1251&stranka=publ_tema&akce=polozka_vstup]Lagrangeův interpolační polynom[/url] * [url=http://kfe. fjfi. cvut. cz/~limpouch/numet/aprox/node3. html]Lagrangeův interpolační polynom[/url] * [url=http://www. umat. feec. vutbr. cz/~fuchsp/Matematika3. pdf]Fajmon, Růžičková - Matematika 3 (kapitola 6. 1. 2)[/url].