-
Data: 2009-07-27 19:01:14
Temat: Re: Całkowanie numeryczne - reaktywacja
Od: "slawek" <s...@h...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=
- 2024-12-28 Warszawa => Programista Full Stack .Net <=
- 2024-12-28 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-28 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-28 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-28 Żerniki => Employer Branding Specialist <=
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty
- 2024-12-27 Zmiana kary
- 2024-12-27 Chiński elektrolizer tester wody