Ćwiczenie 3 (4 godziny)

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.

Wymagana wiedza teoretyczna

• 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.