10.2 Kubická interpolace

Jak v tomto textu vlastně vykreslujeme grafy funkcí? Většinou nejjednodušším způsobem: tzv. lineární interpolací.

Postup je jednoduchý: pro vykreslení grafu funkce $f(x) := 1 - x^2$ na intervalu $\langle -1,1 \rangle$ postupně

  1. zvolme $n$ vzorkovacích bodů $x_i = -1 + \frac{2}{n-1} \cdot (i-1)$, $i=1,2,\ldots,n$,

  2. vypočtěme vzorky $f(x_i)$, $i=1,2,\ldots,n$,

  3. spojme sousední body $(x_i, \ f(x_i))$ a $(x_{i+1}, \ f(x_{i+1}))$, $i=1,2,\ldots,n-1$, přímkou.

Pro dobrý výsledek je nutné volit vzorkovací mřížku dostatečně hustou. Ukázka tohoto procesu v závislosti na různém počtu bodů je uvedena na Obrázku 10.3.

Obrázek 10.3: Ukázka lineární interpolace rovnoměrně rozprostřených vzorků funkce $f(x) = 1 - x^2$ na intervalu $\langle -1, 1\rangle$.

Formálně lze úlohu interpolace popsat pro naše účely následovně. Mějme množinu $n\in\N$, $n \geq 2$, bodů v rovině $\{ (x_i, y_i) \in \R^2 \mid i\in \hat n \}$ takových, že $x_i < x_{i+1}$ pro každé $i=1,2,\ldots,n-1$. Úkolem je nalézt spojité funkce $f_j$, $j=1,2,\ldots,n-1$, splňující

\begin{align*} f_1(x_1) &= y_1, & f_{n-1}(x_n) &= y_n, \\ f_j(x_j) &= f_{j+1}(x_j) = y_j, & \text{pro} \ j&=2,3,\ldots,n-1.\end{align*}

Sestrojíme-li pak funkci $f$ s $\displaystyle D_f = \langle x_1, x_n \rangle$ předpisem

\begin{equation*} f(x) \ceq f_j(x) \ \text{pokud} \ x \in \langle x_j, x_{j+1} \rangle, \end{equation*}

pak je tato funkce spojitá a její graf prochází všemi body $(x_i,y_i)$, $i=1,2,\ldots,n$.

Samozřejmě existuje celá řada způsobů, jak tuto úlohu vyřešit. Typicky musíme specifikovat jaké funkce $f$ uvažujeme a doplnit další požadavky.