-
Data: 2012-11-12 21:48:30
Temat: Re: Simpson vs. Niski Cotes
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2012-11-11 17:58, Baranosiu pisze:
> Dnia 10.11.2012 slawek <s...@h...pl> napisał/a:
>> W kontekście rozmaitych forumowych "specjalistów" od metod numerycznych -
>> zabawne, jak tym razem będą wyjaśniać trywialny w istocie rezultat...
>>
>> exact 0.5022749400837604
>> tapez 0.5022749194207212
>> simpson 0.5022738634614975
>>
Hmm... Nawet z tak prostą operacją jak dodanie słupka iloczynów
nie dał sobie rady? Niemożliwe. Chociaż...
> [...]
> Akurat w tym przypadku tak, ale weź inny przedział całkowania (na
> przykład -10..10 tak żeby wpływ funkcji wykładniczej był nieco
> bardziej znaczący) i już simpson może wypaść lepiej.
Sławek schrzaniał algorytm i tyle. Pewnie źle dobrał
epsilon maszynowy;)
Wrzucam porównanie kilku podstawowych metod.
Newtona_Cotesa do 6 punktowych,
(za stopień 0 robi 'midpoint', dwupunktowa to trapezy,
trzypunktowa - simpson), kwadratury Gaussa 2-6 punktowe
i kwadratury Lobatto, (czyli takie, które mają wezły
na brzegach, ale pozostałe są tak dobrane, by wyciągnąć
największy rząd) operte na 4 do 7 węzłów.
(znów 2 to trapez, 3 to simpson).
Węzły N-C są równoodległe, pozostałe to pierwiastki pewnych
wielomianów. Wielomiany te wyznaczane są numerycznie z definicji
rekurencyjnej. Tak samo są wyszukiwane pierwiastki. Wszystko
za pomocą double, dlatego też nie można przesadzać z rzędem
metody - prowadzi to do błędów, o których potem.
Wagi dobierane są wprost z definicji. W_j to całka na rozpatrywanym
przedziale z wielomianu który zeruje się na wszystkich węzłach,
poza x_j, gdzie przyjmuje wartość 1. Całka z wielomianu liczona
algebraicznie;)
Następnie tworzymy węzły i wagi dla kwadratury złożonej z określonej
liczby powtórzeń na przedziale do całkowania. Jeśli podstawowa
kwadratura miała węzły na obu brzegach, w złożonej będą one zespolone
w jeden (o wadze równej sumie).
Takie podejście umożliwia testowanie wielu różnych metod bez rozbijania
się na przypadki.
Na wykres wrzucamy błąd względny w funkcji ilości wywołań
funkcji podcałkowej (nie ilości przedziałów, a rzeczywista
ilość wywołań). Skala log log.
Wartość dokładna wyliczona przez wolfrem alpha;)
Wątkowy przykład, sin(x) exp(-x) na [0,5]
http://w18.wrzuta.pl/obraz/70M5xduXyOU/sin_exp
Wersja zagęszczona, sin(10*x) exp(-x) na [0,5]
http://w18.wrzuta.pl/obraz/0SDBiKFZnw0/sin10_exp
Co widać?
Simpson i 3/8 oraz midpoint i trapezy czy metody N-C 5 i 6 punktowe
sa tego samego rzędu.
Oczywiście pierwsza para zbiega znacznie szybciej. Dokładność
20 punktowego złożonego Simpsona trapez osiąga dla 200 punktów.
Coś więcej o tym napisać? Niska kwadratura oczko wyższa jest
oczko lepsza. Dość oczywiste, eksperyment potwierdził, tyle.
Dla tego przykładu "lżejsze" metody z każdej pary
mają ciut lepszą stałą. W sumie nie takie dziwne, podobne
oszacowanie na błąd, a rozkłada się on na 3 lub 4 punkty.
Co jeszcze? Dwupunktowy Gauss działa jak N-C na 3 i 4 punktach,
teoria znów górą.
O, i ciekawostka nawiązująca do niedawnego wątku o dokładności
numerycznej. Zamiast pracowicie przepisywać współczynniki
węzłów i wag zbudowałem maszynkę, która je wyznacza,
a to obejmowało rekurencyjne wyznaczanie współczynników
wielomianów (odejmowanie!) i wyliczanie wartości tych
wielomianów (schemat hornera, ale znów możliwa strata
dokładności przez odejmowania) wyznaczone wagi mogą być
obarczone błędem większym niż dokładność numeryczna double.
Tym większym, im wyższy rząd.
I doskonale widać to na wykresie. Metody oparte na większej
liczbie punktów zbiegają szybciej, ale wynik stabilizuje się
na gorszej dokładności.
Kody
https://skydrive.live.com/redir?resid=25C9E1E8909658
1!2201&authkey=!AGMwPjeQhRXoDe0
A jak już ciekawostkami. Była taka funkcja użyta
przez Rungego do pokazania kłopotów z interpolacją
wielomianową:
http://en.wikipedia.org/wiki/Runge%27s_phenomenon
No to hop:
testuj_calke(@(x)1./(1+25*x.^2),-1,1,0.5493603067780
0634434450877,20,500)
http://w18.wrzuta.pl/obraz/8lIeKjKRUs4/runge
:-)
pzdr
bartekltg
Następne wpisy z tego wątku
- 12.11.12 21:55 PK
- 12.11.12 21:57 bartekltg
- 12.11.12 21:58 bartekltg
- 13.11.12 09:09 kenobi
- 13.11.12 09:23 kenobi
- 13.11.12 10:12 AK
- 13.11.12 10:19 AK
- 13.11.12 11:25 slawek
- 13.11.12 11:53 Roman W
- 13.11.12 12:01 slawek
- 13.11.12 12:04 slawek
- 13.11.12 12:19 slawek
- 13.11.12 12:42 slawek
- 13.11.12 12:54 zdumiony
- 13.11.12 13:37 AK
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=