-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!nemesis.news.n
eostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: "slawek" <s...@h...pl>
Newsgroups: pl.comp.programming
Subject: Re: Całkowanie numeryczne - reaktywacja
Date: Mon, 27 Jul 2009 21:01:14 +0200
Organization: TP - http://www.tp.pl/
Lines: 62
Message-ID: <h4ktlv$lbi$1@atlantis.news.neostrada.pl>
References: <h4eu8v$e00$1@nemesis.news.neostrada.pl>
<0...@b...googlegroups.com>
NNTP-Posting-Host: 62.69.219.25
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: atlantis.news.neostrada.pl 1248721407 21874 62.69.219.25 (27 Jul 2009
19:03:27 GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Mon, 27 Jul 2009 19:03:27 +0000 (UTC)
In-Reply-To: <0...@b...googlegroups.com>
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 14.0.8064.206
X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8064.206
Xref: news-archive.icm.edu.pl pl.comp.programming:182840
[ ukryj nagłówki ]
Użytkownik "Wit Jakuczun" <w...@g...com> napisał w wiadomości grup
dyskusyjnych:00ba01a3-f5a9-43b7-ac26-5e27616b7e19@b1
4g2000yqd.googlegroups.com...
> Dalej aktualne jest pytanie o to co rozumiesz pod pojęciem
> najlepszej metody całkowania? Przedstawione wyniki, nie bronią
> Twojej tezy, że metoda oparta o splajny jest dużo lepsza od trapezów.
Jest bo jest. Jest dużo lepsza, tzn. w konkretnym zastosowaniu okazała się
dużo lepsza.
Dlaczego? Ano dlatego że trapezy *zawsze* dają nieco mniej dla wypukłych i
trochę więcej dla wklęsłych. Jeżeli kolejny punkt y[k+1] zależy od całki z
poprzednich i na początku jest zawsze funkcja wypukła (bo już tak ona ma),
to trapezy *zawsze* zaniżą wartość całki ergo zaniżą y[k+1] ergo całka dla
y[k+2] będzie jeszcze bardziej malutka. Po prostu trapezy wprowadzają błąd
systematycznie - naginając rozwiązanie w jedną stronę.
Wszelkie metody w których całkę liczy się jako sumę wartości y[i]*w[i],
gdzie w[i] to jakieś wagi - cierpi na prostą chorobę. Weźmy taką metodę
gdzie i ma przebiegać od 1 do 8. Czyli bierzemy osiem punktów kolejnych. No
a potem co? Łącznie mamy powiedzmy 8007 punktów. Czyli metodę 8-punktową
można zastosować np. tak, że najpierw 1000 razy ją zastosować, a potem np.
metodę 7-punktową. Albo najpierw 7-punktową, a potem 8-punktową. Albo np.
najpierw 3-punktową, potem 2-punktową, potem 500 razy 8-punktową, potem
jeszcze raz 2-punktową, i wreszcie 500 razy 8-punktową. Teoretycznie
najdokładniejsza byłoby uśrednienie wszystkiego - a to prowadzi do... wzoru
trapezów. Czyli nie ma innych metod - niż metoda trapezów - jeżeli idzie się
drogą 3/8, Boole itd. Nota bene,
Całkowanie według Romberga ewentualnie mogłoby pomóc - tak jak pisałem,
jeżeli błąd jest rzędu O(h^n) to wystarczą trzy oszacowania dla h1,h2,h3 -
aby ekstrapolować do h->0 bez wcześniejszej znajomości n. Ale to tylko
rodzaj akceleracji zbieżności - a nie metoda sama-w-sobie.
Spliny (kubiczne) powinny dawać lepsze rezultaty na tej prostej zasadzie iż
w wielu konkretnych problemach całkowana funkcja musi być "trochę ciągła i w
miarę gładka". Dla przykładu prędkość. Pochodna prędkości po czasie to
przyspieszenie, a to równa się (w uproszczeniu) sile przez masę. Skoro
zawsze istnieje /jakieś/ skończone przyspieszenie, to znaczy że istnieje
pochodna prędkości, to znaczy że prędkość musi być funkcją ciągłą itd.
Aproksymowanie prędkości łamaną już "na dzień dobry" oszukuje co do wartości
pochodnej w węzłach. Natomiast spliny dają ładne i proste wzory i na
pochodne, i ładny prosty wzór na całkę. W modzie są chyba teraz spliny
stopnia piątego - niestety nigdzie nie znalazłem jakiegoś prostego
algorytmu, ale też i krótko szukałem. Pomijam pppack, fajny jest, używałem,
ale nie mam siły teraz - lato! - wgłębiać się w to znowu.
Trochę czuję się winnym że biorę naturalne spliny zamiast jakiś
mądrzejszych. Może byłoby też lepiej brać "splines with tension" lub
"monotonic splines" - ale to nie na teraz.
Na marginesie, co do wzorków - gdybym dajmy na to chciał użyć 20 stopnia -
to ja to robię np. tak:
HornerForm[Integrate[InterpolatingPolynomial[Table[{
j, y[j]}, {j, 0,
20-1}], x] // ExpandAll, {x, a, b}]]
slawek
Następne wpisy z tego wątku
- 27.07.09 19:09 Wit Jakuczun
- 27.07.09 19:11 Wit Jakuczun
- 27.07.09 19:15 Wit Jakuczun
- 27.07.09 19:15 slawek
- 27.07.09 19:21 slawek
- 27.07.09 19:27 Mariusz Marszałkowski
- 27.07.09 19:32 slawek
- 27.07.09 19:36 bartekltg
- 27.07.09 19:38 Wit Jakuczun
- 28.07.09 07:44 slawek
- 28.07.09 08:18 slawek
- 28.07.09 15:31 bartekltg
- 28.07.09 21:13 slawek
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=
- 2024-12-23 Warszawa => Infrastructure Automation Engineer <=
- 2024-12-23 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-23 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-12-23 Warszawa => DevOps Engineer <=
- 2024-12-23 Warszawa => Senior Account Manager <=
- 2024-12-23 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-23 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-12-23 Mińsk Mazowiecki => Spedytor Międzynarodowy <=