Riešenie sústavy lineárnych rovníc iteračnými metódami

Úvod do aproximácie

Cieľom aproximácie funkcie je nájsť funkciu v nejakej dobre definovanej triede funkcií (polynómy, racionálna lomená funkcia,…), ktorá dobre aproximuje našu zadanú funkciu. Predpokladajme teda, že máme definované nejaké body a funkčné hodnoty v týchto bodoch (príp. derivácie a ďalšie parametre). Na základe týchto údajov chceme zistiť funkčný predpis, ktorý dobre aproximuje chovanie v týchto bodoch.

Pokiaľ chceme, aby vybraná funkcia prechádzala zadanými bodmi (uzlami), využívame interpoláciu. Pri interpolácii hľadáme aproximáciu funkčnej hodnoty iba vo vnútri intervalu, v ktorom interpolujeme. Pri extrapolácii naopak hľadáme funkčnú hodnotu mimo tento interval. Extrapolácia môže byť veľmi nepresná, pretože ťažko zaručíme, že mimo daný interval nemá funkcia úplne iné chovanie, než v ňom. Pri minimalizácii (napr. metóda najmenších štvorcov) nemusí aproximačná funkcia prechádzať zadanými dátami. Je založená na minimalizácii rozdielu medzi pôvodnou funkciou a aproximáciou.


Interpolácia

Globálna interpolácia


Pri tejto interpolácii sú na celom intervale koeficienty interpolačnej funkcie rovnaké.

Pokiaľ máme zadaných $n+1$ bodov $x_i$, kde $i\in${$0,1,…,n$}, a $n+1$ príslušných funkčných hodnôt $f(x_i)$ v týchto bodoch, existuje unikátny polynóm stupňa $n$, ktorým môžeme dané body interpolovať. To znamená, že rozdiel medzi Lagrangerovým a Newtonovým interpolačným polynómom je v tvare, v akom polynóm zapisujeme, v princípe sa ale stále jedná o ten istý polynóm.

Lagrangeov polynóm

\[p(x) = \sum_{i=0}^n f(x_i) \prod_{j=0,j\neq i}^n\frac{x-x_j}{x_i-x_j }\]

je vhodný pre odvodzovanie ďalších vzorcov (napr. výpočet integrálu, čo bude v ďalších cvičeniach).

Pozrite si príklad na výpočet Lagrangeovho polynómu 2. stupňa. Zodpovedajúci výpočet v Matlabe nájdete tu. Ak Vám nie je všetko v programe jasné, pozrite si v nasledujúcom videu tutorial na vysvetlenie programu:


Nevilleov algoritmus počíta Lagrangeov polynóm presnejšie, akurát pomalšie. Pri tomto postupe pridávame interpolačné uzly postupne.

Prejdite aj ->príklad<- na výpočet interpolačného polynómu 2. stupňa Nevillovým algoritmom. Zodpovedajúci výpočet v Matlabe nájdete tu. V nasledujúcom videu je tutorial na vysvetlenie programu:


Newtonov polynóm má tvar:

\(p(x) = a_0 + a_1(x-x_0) + a_2 (x-x_0)(x-x_1) + ... + a_n (x-x_0)(x-x_1)...(x-x_{n-1})\).

Ako už bolo spomínané vyššie, jedná sa o iný tvar Lagrangeovho polynómu. Koeficienty Newtonovho polynómu $a_0, a_1,…, a_n$ sa vyjadrujú pomernými diferenciami, viz. prednáška.

Dôležité je uvedomiť si, že interpolácia s ekvidištantnými uzlami vedie ku veľkým nepresnostiam v prípade polynómov vyšších stupňov. Je to kvôli veľkým osciláciám medzi uzlami, predovšetkým na okrajoch zadaného intervalu, viz Runge’s phenomenon.