1. Opis dołączonych plików 2. Opis danych wejściowych/parametrów
Transkrypt
1. Opis dołączonych plików 2. Opis danych wejściowych/parametrów
Laboratorium 4: Interpolacja Łukasz Wiatrak, wtorek godzina 17.00 Dla funkcji: k=2, m=1, przedział ,4 wyznacz wielomian interpolujący w postaci Lagrange’a i Newtona. Interpolację przeprowadź dla różnej liczby węzłów (np. n = 3, 4, 5, 10, 20, 30). Dla każdego przypadku interpolacji porównaj wyniki otrzymane dla różnego rozmieszczenia węzłów: równoodległe, Czebyszewa*, losowe**. Podobną analizę przeprowadź dla zagadnienia Hermite’a. Oceń dokładność, z jaką wielomian przybliża zadaną funkcję. Poszukaj wielomianu, który najlepiej przybliża zadaną funkcję. 1. Opis dołączonych plików Pierwsza grupa plików zawierających punkty do wykresów odpowiednich funkcji, jest nazwana według konwencji: ‘metodaWezelN.txt’, gdzie: Metoda = lag (lagrange’a), new (Newtona) lub her (Hermite’a) Wezel = R (losowe wezly), O (równoodległe) lub C (Czybyszewa) N = 3,4,5,10,20,30 dla wielomianów Lagrange’a/Newtona oraz N = 2,3,4,8,15,20 dla wielomianów Hermite’a Druga grupa plików zawierająca dokładności wyników dla poszczególnych metod/parametrów jest nazwana w konwencji ‘wynikiMetodaWezel.txt’ Trzecia grupa plików o nazwach ‘bestMetoda.txt’ zawiera punkty do wykresu wielomianów z węzłami równoodległymi najlepiej interpolujących naszą funkcję. Czwarta grupa plików–pliki: ‘losowe.txt’, ‘rowne.txt’ i ‘czyb.txt’ zawierają punkty do wykresu zależności dokładności interpolacji funkcji od liczby węzłów dla różnych sposobów wybierania węzłów interpolujących Ostatnim plikiem jest plik kod.cpp, zawierający kod programu. 2. Opis danych wejściowych/parametrów Wykres naszej interpolowanej funkcji (dla nieco większego przedziału w celu lepszej czytelności): 1 Opis poszczególnych parametrów, które będą się pojawiać w tabelach z wynikami: N – liczba węzłów interpolacji Węzły – rodzaj stosowanego rozmieszczenia węzłów. Oto poszczególne wersje: Równoodległe Losowe Czybyszewa Rodzaj interpolacji – dla zagadnień Lagrange’a/Newtona lub dla interpolacji Hermite’a. Wyniki dla tych dwóch typów interpolacji zostaną przedstawione w osobnych tabelach. 3. Stosowane algorytmy – szczegóły Do oceny dokładności interpolacji zastosowano normę indukowaną przez metrykę Czybyszewa (czyli w naszym przypadku: Dokładność = f g max f ( x) g ( x) ) x , 4 gdzie: f – interpolowana funkcja, g – wielomian interpolujący). Ponieważ jednak nie jestem w stanie wziąć maximum po wszystkich punktach x należących do dziedziny, więc biorę zamiast tego bardzo dużo równoodległych punktów x należących do naszego przedziału i biorę maximum po tych punktach (norma dyskretna). Dla zagadnienia Hermite’a założyłem, że węzły interpolacyjne będą mieć krotność równą 2 (czyli w węzłach interpolacyjnych zachodzi: f ( x ) f ( x ), f ' ( x) f ' ( x ) ) 4. Otrzymane wyniki a) Interpolacja Newtona/Lagrange’a. Dokładność została obliczona dla obu metod reprezentacji wielomianu interpolującego. Była ona taka sama dla tych metod. N 3 4 5 10 20 30 3 4 5 10 20 30 3 4 5 10 20 30 Węzły Losowe Losowe Losowe Losowe Losowe Losowe Równoodległe Równoodległe Równoodległe Równoodległe Równoodległe Równoodległe Czybyszewa Czybyszewa Czybyszewa Czybyszewa Czybyszewa Czybyszewa Dokładność 6.96109 8.29943 16.4969 160.359 4608.75 400439 7.57058 7.35685 7.37773 6.67457 804.09 36664.2 6.93828 6.64156 8.22066 3.19503 0.851369 0.146709 2 Kilka wykresów obrazujących otrzymane wielomiany: 1) Wielomiany z losowymi węzłami interpolacyjnymi: 2) Wielomiany z węzłami równoodległymi: 3 3) Wielomiany z węzłami Czybyszewa: a) Interpolacja Hermite’a Wszystkie węzły są dwukrotne. N 2 3 4 8 15 20 2 3 4 8 15 20 2 3 4 8 15 20 Węzły Losowe Losowe Losowe Losowe Losowe Losowe Równoodległe Równoodległe Równoodległe Równoodległe Równoodległe Równoodległe Czybyszewa Czybyszewa Czybyszewa Czybyszewa Czybyszewa Czybyszewa Dokładność 6.70532 32.1009 5.58166 54.0906 8.52094e+007 27465 6.70532 10.1732 8.18116 65.6466 6407.41 97111.1 11.7883 9.46503 3.91494 2.27973 0.294194 0.0174699 4 Wykresy dla problemu Hermite’a: 1) Węzły losowe 2) Węzły równoodległe 5 3) Węzły Czybyszewa Ponadto wyznaczyłem ilość węzłów dla węzłów równoodległych, dla których metoda Newtona/Hermite’a najlepiej przybliża zadaną funkcję. I tak: - dla zagadnienia Lagrange’a, optymalna ilość węzłów to 7. Błąd wynosi wtedy 6.1334 - dla zagadnienia Hermite’a optymalną ilością węzłów jest 6. Błąd wynosi wtedy 3.200662 Oto wykresy uzyskanych optymalnych funkcji: 6 Sprawdziłem również zależność pomiędzy metodą wyznaczania węzłów i uzyskaną dokładnością a ilością węzłów. Zależność tą ilustruje poniższy wykres (wszystkie 3 metody) Poniższy wykres pokazuje tylko metodę Czybyszewa: 7 5. Wnioski 1. Porównanie metod doboru węzłów. Okazało się, że najkorzystniejszym wyborem węzłów jest wybór węzłów znajdujących się w odpowiednio przeskalowanych miejscach zerowych wielomianu Czybyszewa. Pokazują to zwłaszcza dwa ostatnie wykresy – błąd dla węzłów Czybyszewa maleje do zera wraz ze wzrostem ilości węzłów. Dla węzłów równoodległych jest dokładnie odwrotnie – od pewnego momentu wraz ze wzrostem liczby węzłów maleje dokładność – zwłaszcza na końcach przedziału. Jest to spowodowane coraz wyższym stopniem wielomianu interpolującego (efekt Rungego). Bardzo dobrze ilustruje ten problem poniższy wykres: 2. Sposób wyznacznia wielomianu interpolującego w zagadnieniu Lagrange’a nie wpływa na dokładność uzyskanego wyniku. Jednak postać Lagrange’a jest bardziej kłopotliwa w zapisie i bardziej niebezpieczna – łatwo w niej o przypadkowe dzielenie przez zero przy obliczaniu wartości wielomianu. Występują też zaburzenia przy wyznaczaniu punktów do wykresu dla punktów znajdujących się blisko węzłów. 3. Metoda Hermite’a lepiej przybliża funkcję. Jest to najlepiej widoczne dla przypadku węzłów równoodległych. Kształt funkcji interpolującej bardziej odpowiada kształtowi funkcji interpolowanej. 8