MN09LAB: Różnice pomiędzy wersjami
m Zastępowanie tekstu – „\displaystyle ” na „” |
m Zastępowanie tekstu – „.↵</math>” na „</math>” |
||
Linia 24: | Linia 24: | ||
jeśli <math>|f^{(n+1)}(x)| \leq M</math> dla <math>x\in [a, a+nh]</math>, to | jeśli <math>|f^{(n+1)}(x)| \leq M</math> dla <math>x\in [a, a+nh]</math>, to | ||
<center><math>|f(x) - w_n(x)| \leq M \frac{h^{n+1}}{4(n+1)} | <center><math>|f(x) - w_n(x)| \leq M \frac{h^{n+1}}{4(n+1)}</math></center> | ||
</math></center> | |||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Wskazówka </span><div class="mw-collapsible-content" style="display:none"> | ||
Linia 286: | Linia 285: | ||
Niech dane będą <math>\epsilon>0</math> i funkcja <math>f:[a,b]\to R</math>, która jest nieskończenie wiele razy różniczkowalna i wszystkie jej pochodne są na <math>[a,b]</math> ograniczone przez <math>M</math>. Napisz program znajdujący stopień <math>n</math> oraz współczynniki w bazie Newtona wielomianu <math>w_{f,n}\in\Pi_n</math> interpolującego <math>f</math> z błędem | Niech dane będą <math>\epsilon>0</math> i funkcja <math>f:[a,b]\to R</math>, która jest nieskończenie wiele razy różniczkowalna i wszystkie jej pochodne są na <math>[a,b]</math> ograniczone przez <math>M</math>. Napisz program znajdujący stopień <math>n</math> oraz współczynniki w bazie Newtona wielomianu <math>w_{f,n}\in\Pi_n</math> interpolującego <math>f</math> z błędem | ||
<center><math>\|f-w_{f,n}\|_{C([a,b])}\,\le\,\epsilon | <center><math>\|f-w_{f,n}\|_{C([a,b])}\,\le\,\epsilon</math></center> | ||
</math></center> | |||
Rozpatrz dwa przypadki: gdy węzły interpolacji są równoodległe, oraz gdy węzły są czebyszewowskie. | Rozpatrz dwa przypadki: gdy węzły interpolacji są równoodległe, oraz gdy węzły są czebyszewowskie. | ||
</div></div> | </div></div> |
Wersja z 21:36, 11 wrz 2023
Interpolacja wielomianowa
<<< Powrót do strony głównej przedmiotu Metody numeryczne
Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__
Ćwiczenie: Błąd interpolacji dla węzłów równoodległych
Wyprowadź wzór na błąd interpolacji w przypadku węzłów równoodległych, tzn. , :
jeśli dla , to
Przetestuj eksperymentalnie jakość tego oszacowania dla kilku funkcji, dla których znasz wartość , np.
- wielomianu stopnia ,
- wielomianu stopnia ,
- funkcji na ,
- funkcji na ,
- funkcji .
porównując faktyczny błąd w z błędem z powyższego oszacowania.
Ćwiczenie: Aproksymacja funkcji sinus
Ile węzłów interpolacji wielomianowej Lagrange'a wystarczy, by przybliżyć funkcję z błędem bezwzględnym na całym przedziale . Podaj odpowiedź w przypadku
- węzłów równoodległych w ,
- węzłów Czebyszewa w .
Sprawdź eksperymentalnie, czy się nie pomyliłeś.
Ćwiczenie: Wagi wzoru barycentrycznego
Wyprowadź formułę na pierwszy wzór barycentryczny w przypadku węzłów równoodległych na odcinku ,
Wywnioskuj stąd wzór na wagi w drugim wzorze barycentrycznym.
Podaj algorytm wyznaczania tych wag dla zadanego .
Ćwiczenie: Implementacja algorytmu barycentrycznego
Zaimplementuj drugi wzór barycentryczny tak, by w efekcie dostać dwie procedury:
c = polyfitb(x,y)
--- wyznaczającą współczynniki wielomianu interpolującego wartości w węzłach równoodległych ;Y = polyvalb(X,c)
--- wyznaczającą, w zadanych węzłach , wartości wielomianu interpolacyjnego o współczynnikach .
Oszacuj koszt twojego algorytmu i porównaj z kosztem algorytmu różnic dzielonych (dla współczynników) i algorytmem Hornera (dla wartości) w dwóch przypadkach:
- kiedy jest dużo węzłów interpolacji, a potrzebna jest tylko jedna wartość wielomianu interpolacyjnego;
- na odwrót, kiedy jest mało węzłów interpolacji, a potrzeba wyznaczyć bardzo dużo wartości wielomianu interpolacyjnego.
Ćwiczenie: Dodawanie węzła interpolacji
Często w aplikacjach takich jak programy CAD zachodzi potrzeba dodania na bieżąco dodatkowego węzła interpolacji. Podaj, jak to zrobić --- i jaki to będzie miało koszt --- gdy interpolant jest zadany w bazie
- naturalnej
- Newtona
- Lagrange'a
Ćwiczenie: Algorytm Hornera może więcej
Pokaż, że algorytm Hornera obliczania wartości wielomianu danego w postaci potęgowej jest jednocześnie algorytmem dzielenia tego wielomianu przez jednomian . Dokładniej, jeśli to
gdzie są zdefiniowane tak jak w algorytmie Hornera. Zaimplementuj i sprawdź na przykładach.
Ćwiczenie
Niech dane będą i funkcja , która jest nieskończenie wiele razy różniczkowalna i wszystkie jej pochodne są na ograniczone przez . Napisz program znajdujący stopień oraz współczynniki w bazie Newtona wielomianu interpolującego z błędem
Rozpatrz dwa przypadki: gdy węzły interpolacji są równoodległe, oraz gdy węzły są czebyszewowskie.