-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Simpson vs. Niski Cotes
Date: Mon, 12 Nov 2012 21:48:30 +0100
Organization: ATMAN - ATM S.A.
Lines: 120
Message-ID: <k7rnav$8eq$1@node2.news.atman.pl>
References: <509ee300$0$26682$65785112@news.neostrada.pl>
<k7olf5$rpm$1@news.task.gda.pl>
NNTP-Posting-Host: 144-mi3-6.acn.waw.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1352753311 8666 85.222.69.144 (12 Nov 2012 20:48:31 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 12 Nov 2012 20:48:31 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20121026
Thunderbird/16.0.2
In-Reply-To: <k7olf5$rpm$1@news.task.gda.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:200760
[ ukryj 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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo