Wykład nr 2 Sformułowanie zagadnienia interpolacji Niech będą dane punkty x 0,..., x n (nazywane węzłami interpolacji) i wartości w węzłach y 0,..., y n. Od węzłów żądamy spełnienia warunku x i x j dla i j. Ponadto wartości y i są zazwyczaj wartościami pewnej funkcji f (czyli i=0,...,n y i = f (x i )). Szukamy funkcji F (funkcji interpolującej) takiej, że: i=0,...,n F (x i ) = y i. Chcemy aby poza węzłami interpolacji wartości funkcji F przybliżały wartości funkcji f. Ponadto funkcji interpolującej F można szukać w różnych postaciach (np. wielomian algebraiczny, wielomian trygonometryczny, funkcja sklejana).
Zastosowania interpolacji Na ogół interpolację wykorzystuje się w jednym z dwóch następujących celów: 1) przybliżanie danych funkcji prostszymi funkcjami interpolującymi; 2) uzupełnianie brakujących wartości funkcji pomiędzy węzłami. Pierwsze z tych zastosowań jest często punktem wyjścia dla wielu metod numerycznych dla bardziej skomplikowanych zagadnień (np. różniczkowanie numeryczne, całkowanie numeryczne, numeryczne rozwiązywanie równań różniczkowych). Przykładem drugiego zastosowania jest np. uzupełnianie brakujących danych przy zmianie rozmiaru obrazów lub przetwarzaniu obrazów w aparatach cyfrowych. Przykład zastosowania interpolacji w fotografii cyfrowej Większość fotograficznych aparatów cyfrowych zbudowanych w oparciu o system jedno matrycowy posiada jedną matrycę CCD lub CMOS rejestrującą obraz. Matryca ta jest na ogół wyposażona w tzw. filtr RGB Bayer a przedstawiony na poniższym rysunku: Aby utworzyć kolorowy obraz dla każdego piksela potrzeba znać wartości wszystkich kanałów koloru. W systemie takim dostępna jest jedynie informacja o wartości jednego kanału (pozostałe wartości są uzupełniane poprzez zastosowanie pewnej formy interpolacji).
Zagadnienie interpolacji wielomianowej Najprostszą formą interpolacji jest tzw. interpolacja wielomianowa, która polega na poszukiwaniu funkcji interpolującej F w postaci wielomianu (nazywanego wielomianem interpolacyjnym). Jeżeli dane są węzły x 0,..., x n i odpowiadające im wartości y 0,..., y n, to zazwyczaj (aby zapewnić jednoznaczność rozwiązania) ograniczamy się do poszukiwania funkcji F w postaci wielomianu W n stopnia co najwyżej n. Geometrycznie z warunku i=0,...,n W n (x i ) = y i wynika, że wykres wielomianu W n musi przechodzić przez wszystkie z zadanych punktów (x 0, y 0 ),..., (x n, y n ). Przykład interpolacji wielomianowej (n = 6, deg W 6 = 6)
Przykład interpolacji wielomianowej (n = 5, deg W 5 = 1) Przykład interpolacji wielomianowej (n = 3, f (x) = sin x)
Przykład interpolacji wielomianowej (n = 3, f (x) = sin x) Istnienie i jednoznaczność wielomianu interpolacyjnego Twierdzenie 2.1. (istnienie wielomianu interpolacyjnego) Istnieje dokładnie jeden wielomian interpolacyjny W n stopnia co najwyżej n (n 0), który w węzłach x 0,..., x n (x i x j dla i j) przyjmuje zadane wartości y 0,..., y n.
Wielomiany czynnikowe i wzór Lagrange a Twierdzenie 2.2. (wzór interpolacyjny Lagrange a) Niech będą dane węzły x 0,..., x n (x i x j dla i j) oraz odpowiadające im wartości y 0,..., y n. Dla każdego j = 0,..., n kładziemy: φ j (x) = (x x 0)... (x x j 1 )(x x j+1 )... (x x n ) (x j x 0 )... (x j x j 1 )(x j x j+1 )... (x j x n ). Wtedy wielomian interpolacyjny W n jest określony następująco: n W n (x) = y 0 φ 0 (x) +... + y n φ n (x) = y i φ i (x). Uwaga. i=0 Wielomiany φ j są nazywane wielomianami czynnikowymi. Pomocnicze twierdzenie o wartości pośredniej Twierdzenie 2.3. (Rolla) Niech a < b. Ponadto niech będzie dana funkcja f, taka że: 1) f C( a, b ) (f jest ciągła na przedziale domkniętym a, b ); 2) f C 1 ((a, b)) (f ma ciągłą pochodną na przedziale (a, b)); 3) f (a) = f (b) = 0 (f przybiera wartości zerowe na krańcach przedziału a, b ). Wtedy istnieje przynajmniej jedna liczba ξ (a, b), taka że f (ξ) = 0 (funkcja f posiada na przedziale (a, b) przynajmniej jedno miejsce zerowe).
Błąd interpolacji Niech będą dane: przedział domknięty a, b (a < b); węzły x 0,..., x n (x i x j dla i j), takie że i=0,...,n x i a, b ; dowolny punkt x a, b ; dowolna funkcja f C n+1 ( a, b ). Uwaga. Najczęściej przyjmujemy: a = min{ x, x 0,..., x n }, b = max{ x, x 0,..., x n }. Błąd interpolacji Twierdzenie 2.4. (oszacowanie błędu interpolacji) Niech W n oznacza wielomian interpolacyjny wyznaczony przez węzły x 0,..., x n i odpowiadające im wartości y 0 = f (x 0 ),..., y n = f (x n ). Wtedy prawdziwe jest następujące oszacowanie: gdzie: f ( x) W n ( x) M n+1 (n + 1)! ω n( x), M n+1 = sup x a,b f (n+1) (x) ; ω n (x) = (x x 0 )... (x x n ).