Interpolacja i aproksymacja
Cel ćwiczenia
4. Napisać M-plik obliczający wielomian interpolacyjny metodą rodziny trójkątnej i drugi M-plik
obliczający wartość tego wielomianu w zadanym punkcie (wygodnie jest wykorzystać polece-
Praktyczne zaznajomienie się z podstawowymi aspektami interpolacji wielomianowej, interpolacji
nie cumprod). Zweryfikować poprawność napisanych procedur poprzez porównanie (dla funkcji
funkcjami sklejanymi i aproksymacji średniokwadratowej.
z punktu 1) wyniku ich działania z wielomianem interpolacyjnym obliczonym za pomocą funkcji
polyfit i polyval.
Program ćwiczenia
5. Napisać M-plik obliczający współczynniki aproksymacji średniokwadratowej funkcji danej tabe-
• Porównanie wyników interpolacji i aproksymacji wielomianami różnych stopni i funkcjami skleja-
larycznie funkcją postaci f ( x) = a exp( x) + b. Porównać działanie w/w pliku z aproksymacją nymi sześciennymi.
wielomianami różnych stopni. Zmodyfikować M-plik tak, by aproksymował on funkcję za pomo-
• Samodzielne napisanie M-funkcji obliczającej wielomian interpolacyjny metodą rodziny trójkątnej.
cą wielomianu drugiego stopnia spełniającego dodatkowe warunki podane przez prowadzącego
• Rozwiązanie prostego liniowego, dyskretnego zadania aproksymacji średniokwadratowej w którym
zajęcia. Porównać wyniki w sposób analogiczny, jak w punkcie 1 i 2; dołączyć do porównywanych
funkcja aproksymująca nie jest wielomianem.
funkcji aproksymujących wielomian stopnia drugiego (bez dodatkowych ograniczeń).
• Obserwacja zjawiska Rungego.
6. Zaobserwować zjawisko Rungego: Sporządzić wykres podanej przez prowadzącego funkcji. Doko-
nać interpolacji tej funkcji wielomianami wysokiego stopnia (10–25), z węzłami równoodległymi
Instrukcja wykonawcza
i węzłami Czebyszewa (do generowania węzłów o rozkładzie zer lub maksimów wielomianu Cze-
1. Zbadać doświadczalnie wpływ stopnia wielomianu aproksymacyjnego na właściwości uzyskanego
byszewa wykorzystać funkcję seqcheb). Wyniki (wykresy funkcji aproksymowanej i wielomianów
przybliżenia. W tym celu dla wskazanej przez prowadzącego funkcji zestawić wykresy wielomia-
aproksymacyjnych i funkcji błędu) przedstawić we wspólnym układzie współrzędnych.
nów aproksymacyjnych różnych stopni (obliczane dla dużej – co najmniej 20 – liczby węzłów
7. Zapoznać się z pozostałymi funkcjami służącymi do interpolacji, oferowanymi wraz z pakietem
funkcją polyfit; do obliczania wielomianów wykorzystać funkcję polyval), wykresy funkcji
Matlab (interp1).
błędu oraz maksymalną odchyłkę (normę supremum funkcji błędu).
2. Zbadać wpływ liczby równoodległych węzłów na jakość przybliżenia uzyskanego metodą aproksy-
macji średniokwadratowej. W tym celu zestawić na jednym wykresie funkcje błędu aproksymacji
wielomianem ustalonego stopnia (np. 5; stopień powinien być dobrany w zależności od zadanej
Sprawozdanie powinno zawierać
funkcji aproksymowanej, co najmniej taki, aby wielomian miał tę samą ilość ekstremów w roz-
patrywanym przedziale, co funkcja aproksymowana), obliczonego przy różnej liczbie węzłów (od
• dla każdego z badanych przypadków wykresy (we wspólnym układzie współrzędnych) funkcji
interpolacji, czyli liczby węzłów o 1 większej od wybranego stopnia do około 100, a więc np.
aproksymowanej i różnych, wariantów funkcji przybliżających.
6, 10, 20, 40, 100). Zestawić w tabeli normę maksymalną funkcji błędu dla poszczególnych
• wykresy (we wspólnym układzie współrzędnych) funkcji błędu dla różnych funkcji przybliżają-
przypadków.
cych dla wszystkich badanych przypadków (wybrać najbardziej reprezentatywne i pogrupować
3. Porównać wyniki interpolacji funkcji różnymi metodami: wykonać interpolację wielomianami róż-
odpowiednio wyniki, tak by wykresy były czytelne i umożliwiały dokonywanie porównań).
nych stopni, z węzłami równoodległymi (funkcja polyfit) i interpolację za pomocą funkcji
• porównanie (tabelaryczne) błędu maksymalnego poszczególnych wariantów aproksymacji i tam,
sklejanych z tą samą liczbą węzłów (funkcja spline). Wykresy uzyskanych funkcji przybliżaj-
gdzie ilość danych jest wystarczająca wykresy błędu maksymalnego w funkcji liczby węzłów,
cych przedstawić we wspólnym układzie współrzędnych. Wykreślić (również w jednym układzie
stopnia wielomianu i.t.d.
współrzędnych) funkcje błędu dla wszystkich funkcji przybliżających. Zestawić normę maksy-
• skomentowany listing napisanych M-plików.
malną funkcji błędu dla poszczególnych przypadków.
• uwagi i wnioski.
• Norma maksymalna (supremum), euklidesowa i euklidesowa ważona funkcji. Pojęcie przestrzeni
funkcyjnej ([1, str. 84–86] [2, str. 73–75])
• Sformułowanie typowych zagadnień interpolacji i aproksymacji ([1, str. 88, 96, 98], [2, str. 24–
27]).
• Wygładzanie danych – istota i wykorzystywane narzędzia ([1, str. 81–84]).
• Układ (rodzina) ortogonalny i ortonormalny funkcji. ([1, str. 88–91])
• Nadokreślony układ równań i jego zastosowania ([1, str. 81–84]).
• Rodziny trójkątne wielomianów i ich zastosowanie w interpolacji ([1, str. 97–98]).
• Reszta wzoru interpolacyjnego Lagrange’a ([1, str. 99], [2, str. 34–36]).
• Rodzina ortogonalna wielomianów Czebyszewa. Wzór rekurencyjny, wyprowadzenie wzorów na
zera i maksima wielomianu ([1, str. 103–107], [2, str. 36–37]).
• Przesłanki doboru rozmieszczenia węzłów interpolacji i aproksymacji. Zjawisko Rungego. ([1, str.
100–102], [2, str. 58–61])
• Definicja funkcji sklejanych sześciennych i ich porównanie z wielomianami jako narzędzi przybli-
żania funkcji ([1, 128–131], [2, str. 64–72]).
• Podstawowe wiadomości o aproksymacji jednostajnej. Wielomian optymalny w sensie aproksymacji
jednostajnej ([1, str. 121–122]).
• Twierdzenie aproksymacyjne Weierstrassa ([1, str. 96], [2, str. 76]).
• Rozwinięcie funkcji w szereg potęgowy (wzór Taylora).
Wymagana wiedza n/t programu Matlab
• reprezentacja wielomianu w programie Matlab
• funkcje dotyczące wielomianów: polyval(), poly(), polyder(), conv(), deconv(), roots()
• funkcje dotyczące aproksymacji i interpolacji: polyfit(), spline(), interp1()
• inne użyteczne funkcje: sum(), cumsum(), prod(), cumprod(), linspace()
• podstawowe funkcje do wizualizacji danych plot(), hold {on|off}, figure
Literatura
[1] Germund Dahlquist, ˚
Ake Björck. Metody numeryczne, strony 81–86, 88–92, 96–98, 100–107, 111, 115–122,
128–130. PWN Warszawa, 1983.
[2] Zenon Fortuna, Bohdan Macukow, Janusz Wąsowski. Metody numeryczne, strony 24–114. WNT Warszawa, 1995.
[3] Jerzy Krupka, Roman Z. Morawski, Leszek J. Opalski. Metody numeryczne dla studentów elektroniki
i technik informacyjnych, strony 86–100. Oficyna Wydawnicza Politechniki Warszawskiej, Warszawa, 1997.
[4] Anthony Ralston. Wstęp do analizy numerycznej, strony 30–41, 49–51, 53–56, 74–75. PWN Warszawa, 1983.
[5] Josef Stoer. Wstęp do metod numerycznych, wolumen 1, strony 35–95. PWN Warszawa, 1979.