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