-
161. Data: 2012-11-07 23:38:08
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: bartekltg <b...@g...com>
W dniu 2012-11-07 13:32, AK pisze:
> Użytkownik "bartekltg" <b...@g...com> napisał:
>
>> Rozmawiasz z facetem, który przez tydzień, mimo wysiłków
>> grupy, nie dał sobie wytłumaczyć i uparcie twierdził, że
>> "jakość" całki numerycznej nie zależy od rzędu kwadratury
>> (Newtona-Cotesa, czyli tych zwykłych, kawałkami wielomianów).
>> Wszytko rzędu wyższego niż "trapezy" miało być przereklamowanymi
>> akademickimi bredniami nie dającymi poprawy wyniku względem
>> metody trapezów:)
>
> No kurde popatrz :), ze ja tego nie wiedzialem juz na studiach :) ?
>
> Wtedy bym olal wyprowadzanie i zastosowanie metod
> wspolczynnikow zwezajacych (np. ksiazka Burlish-Stoer chyba,
> albo Janowski czy Ralston, juz nie pamietam) dla splineow
> i wielomianow wyzszego stopnia itp. dla transformat
> Fouriera w celu "rozplatania" widm rentgenowskich i pozostal
> przy trapezach :)
Nie no, nie sprowadzał _wszystkich_ metod całkowania numerycznego
do trapezów, a jedynie kwadratury Newtona-Cotesa (interpolacja
wielomianem na równo odległych węzłach, sprowadza się do sumy
sum_i w_i*f(x_i)).
Nawet udowadniał, że taki simpson nie może zbiegać szybciej
niż trapezy.
pzdr
bartekltg
-
162. Data: 2012-11-08 01:51:38
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: "AK" <n...@n...com>
Użytkownik "bartekltg" <b...@g...com> napisał:
> Nie no, nie sprowadzał _wszystkich_ metod całkowania numerycznego
> do trapezów, a jedynie kwadratury Newtona-Cotesa (interpolacja
> wielomianem na równo odległych węzłach, sprowadza się do sumy
> sum_i w_i*f(x_i)).
Hm.. Jakby tu rzec.. Co mi "swita we lbie", ze przy pewnym zalozeniu
to slawek moze miec sporo racji..
Oczywiscie nie chcialbym tego (bo to cham i prostak:) ale "prawda jest najwazniejsza"
...
O ile pamietam (wybacz, 25lat to naprawde dosc duzo aby zapomniec)
to trapezy maja sie tak:
1/2*(f[0] + 2*SUM(i=1,n-1: f[i] + f[n])
a "klasyczny" Simpson:
1/3*(f[0] + 4*SUM(i=1,n-1, 2: f[n]) + 2*SUM(i=2,n-2, 2: f[n]) + f[n])
ale.. gdyby tak w ty Simpsonie brac tylko/sumowac pierwszy przedzial
i przesuwac parabolke o jeden krok a nie dwa, albo tym szesciennym (3/8)
Simpsonie brac srodkowy przedzial, tez przesuwajac co jeden krok
to kto wie czy nie sprowadzi sie to (poza punktami skrajnymi przedzialu,
ale t mozna pomonac/zaniedbac) do tych trapezow ?
AK
-
163. Data: 2012-11-08 06:48:22
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: Roman W <r...@g...com>
W dniu środa, 7 listopada 2012 19:11:46 UTC użytkownik slawek napisał:
> U�ytkownik "Roman W" <r...@g...com> napisa� w wiadomo�ci
>
> grup dyskusyjnych:cd811c0e-b74f-4036-9629-d07b3342b609@go
oglegroups.com...
>
> > Ja sie na tym slabo znam, ale zdaje sie ze ktora metoda jest lepsza, to
> > zalezy od problemu. Jakis czas temu ktos mi polecal (nie pamietam
> > dlaczego) metode Gaussa-Newtona.
>
> Podr�cznikowe metody dzia�aj� idealnie na podr�cznikowych danych.
No nie wiem, rekomendacja byla od praktyka, ale Ty na pewno wiesz lepiej.
RW
-
164. Data: 2012-11-08 06:51:10
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: Roman W <r...@g...com>
W dniu środa, 7 listopada 2012 19:26:20 UTC użytkownik slawek napisał:
> Użytkownik "Roman W" <r...@g...com> napisał w wiadomości
> grup dyskusyjnych:91fbb22b-0e25-4666-954a-8c28eff30f39@go
oglegroups.com...
> > Moze na uniwersytecie nie ma.
>
> Dokładnie na odwrót. W środowiskach akademickich temat "ile kroków potrzeba
> na przejście banana" jest ciągle aktualny.
>
> Natomiast w praktyce funkcja za nic nie chce być podobna do banana. W
> dodatku więcej czasu zajmuje odnalezienie właściwego edit-boksa do wpisania
> wzoru, startowych wartości parametrów i ewentualnie ograniczeń - niż te 100
> czy 200 kroków więcej. Chyba że danych są terabajty, parametrów paręnaście
> tysięcy itd. itp. Lecz raczej w takich przypadkach nikt nie ma trudności ze
> zrozumieniem dlaczego np. używa algorytmów genetycznych.
Oczywiscie scenariusz, w ktorym znamy funkcje i musimy znalezc minimum
wielokrotnie w krotkim czasie dla roznych zestawow parametrow, zostal
zignorowany jako nie pasujacy dla slawkowej tezy.
RW
-
165. Data: 2012-11-08 09:19:10
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: "slawek" <h...@s...pl>
Użytkownik "Roman W" napisał w wiadomości grup
dyskusyjnych:fbf215a0-5e75-4ca7-97f6-f0dbb867af18@go
oglegroups.com...
>Oczywiscie scenariusz, w ktorym znamy funkcje i musimy znalezc minimum
>wielokrotnie w krotkim czasie dla roznych zestawow parametrow, zostal
>zignorowany jako nie pasujacy dla slawkowej tezy.
Co ja bym proponował w takim przypadku? Może po prostu sprawdzenie jak sobie
radzi z takim "scenariuszem" kilka różnych metod i wybranie najlepszej
"strategii" - być może na początku to, potem to, a na końcu tamto? Albo to i
tylko to, bo tak będzie najlepiej? Albo np. to i sio, a potem tylko
"dostrajanie" dla nieco innych danych - tańsze niż zaczynanie od początku?
Ale jak widać nie trzeba (i nie należy moim zdaniem) - mając taki
"scenariusz" - wybierać najlepszej metody według podręcznika "bo algorytm
<tu nazwa> jest the best".
W tym sensie <tu nazwa> jest przereklamowany - bez "przetargu" na najlepszy
algorytm musimy wierzyć w zapewnienia z podręcznika (a czasami z reklamy
programu).
-
166. Data: 2012-11-08 09:23:32
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: "slawek" <h...@s...pl>
Użytkownik "Roman W" napisał w wiadomości grup
dyskusyjnych:ebe948e0-6e4e-47c3-aa0b-95355188c6c5@go
oglegroups.com...
>No nie wiem, rekomendacja byla od praktyka, ale Ty na pewno wiesz lepiej.
Newtonowskie są ok, ale ciekawe mogą być np. genetyczne lub z rojem, bo
chyba trudniej zaciąć im się na ekstremum lokalnym. Czasem nie ma
pochodnych, czasem np. może być wiele procesorów.
-
167. Data: 2012-11-08 09:31:37
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: "slawek" <h...@s...pl>
Użytkownik "AK" napisał w wiadomości grup
dyskusyjnych:k7enle$ieu$...@n...task.gda.pl...
>Naprawde lepiej przyblizyc splajnem albo chocby parabola niz prymitywnie
>kawalkiem odcinka.
Interpolacja parabolą sprowadza się do Simpsona itp.
Spline'y są ok, używam, ale to właśnie dlatego używam, bo to nie jest
Simpson/NC.
Tzn. można założyć, że funkcja f(x) jest przybliżana spline'em s(x) i
konsekwentnie wrzucić s(x) do równania. Wash and go: załatwia problem całek,
pochodnych i interpolacji.
Problemem jest, jak wybrać węzły, stopień itd. Ze stopniem nie jest tak źle:
jak są pochodne n-tego stopnia to funkcja powinna być ciągła do n+1, a to
już przekłada się na stopień spline'u.
Ciekawsze jest, z czego robić ten spline - przecież nie musi to być
wielomian :)
-
168. Data: 2012-11-08 09:34:57
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: "slawek" <h...@s...pl>
Użytkownik "AK" napisał w wiadomości grup
dyskusyjnych:k7elko$c9i$...@n...task.gda.pl...
>Slowem inna odmiana metody "po nas chocby potop".
Przecież zawsze wszystko i tak się do tego sprowadza ;)
-
169. Data: 2012-11-08 09:38:32
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: "slawek" <h...@s...pl>
Użytkownik "kenobi" napisał w wiadomości grup
dyskusyjnych:e2d439eb-1798-4d2a-b057-30a2e67a4a1c@go
oglegroups.com...
>wyrazeniach ja mialem na miernictwie w technikum i na pracowni fizycznej na
>studiach - pewnie stosuje sie te wzorki
Swego czasu był artykuł w żurnalu kalifornijskim, w którym autorzy stosowali
metodę różniczki zupełnej... zapominając że funkcja jaką mają jest w
zasadniczy sposób nieróżniczkowalna (tj. istniała tylko prawostronna
pochodna, a odchylenie potrzebne było z obu).
-
170. Data: 2012-11-08 14:19:56
Temat: Re: Błędny epsilon - this is not a bug, this is ?
Od: bartekltg <b...@g...com>
W dniu 2012-11-08 01:51, AK pisze:
> Użytkownik "bartekltg" <b...@g...com> napisał:
>
>> Nie no, nie sprowadzał _wszystkich_ metod całkowania numerycznego
>> do trapezów, a jedynie kwadratury Newtona-Cotesa (interpolacja
>> wielomianem na równo odległych węzłach, sprowadza się do sumy
>> sum_i w_i*f(x_i)).
>
> Hm.. Jakby tu rzec.. Co mi "swita we lbie", ze przy pewnym zalozeniu
> to slawek moze miec sporo racji..
Tak, dla całkiem sporej rodziny funkcji wyniki będą te same.
Np liniowych;) czy sinusa po pełnym okresie. Tylko co z tego.
Dla każdej funkcji ciaglej znajdziesz kwadrature jednopunktową,
dająca dokładny wynik. Liczy się ogolna sprawność metody
dla funkcji danej klasy.
> O ile pamietam (wybacz, 25lat to naprawde dosc duzo aby zapomniec)
> to trapezy maja sie tak:
> 1/2*(f[0] + 2*SUM(i=1,n-1: f[i] + f[n])
> a "klasyczny" Simpson:
> 1/3*(f[0] + 4*SUM(i=1,n-1, 2: f[n]) + 2*SUM(i=2,n-2, 2: f[n]) + f[n])
> ale.. gdyby tak w ty Simpsonie brac tylko/sumowac pierwszy przedzial
> i przesuwac parabolke o jeden krok a nie dwa, albo tym szesciennym (3/8)
> Simpsonie brac srodkowy przedzial, tez przesuwajac co jeden krok
> to kto wie czy nie sprowadzi sie to (poza punktami skrajnymi przedzialu,
> ale t mozna pomonac/zaniedbac) do tych trapezow ?
Podobnie argumentował slawek. I jest to właśnie nasza bzdura;)
Wyobraź sobie to tak: wydziel z simpsona sumę dającą trapezy,
pozostanie poprawka (o dodatnich i ujemnych wagach!).
Ta poprawka odpowiada za scałkowanie 'krzywizny' - tego,
co wystaje ponad linię prostą z dokładnością do paraboli.
Po uśrednieniu ten wkład się kasuje. Tak, problem występuje
na brzegach. Jeśli jest to funkcja okresowa, można simpsona
przesunąć 'o pół', dostać równie dobry wynik. Ich średnia
też bedzie tak samo dobra => trapezy są tak samo dobre.
Ale co w tym dziwnego, skoro dla takich funkcji całki po okresie
z kolejnych pochodnych wynoszą 0:)
Zresztą, ostatnio chciałeś zabaw programistycznych. Jest
okazja. Porównanie kilku takich metod to chwila, a zobaczysz
na własne oczy różnicę, nie będziesz musiał wierzyć na słowo,
że taka drobna zmiana daje dużo.
Złośliwie można zaproponować jako funkcję próbną np x^3:)
Bardziej uczciwie, np sin(x)^2/x na [0,pi/2]. To ma znaną
analitycznie wartość.
Dywagacje dywagacjami, a metody wyższego rzędu działają lepiej;)
[oczywiście dla odpowiednio gładkich funkcji, simpson da ciała
na nieciągłości pochodnej, i z uwagą, że N-S przy rzędzie chyba
coś koło 8 przestaje być stabilny - pojawiają się się ujemne wagi].
BTW, kwadratura romberga oparta ejst na tych samych węzłach,
a zbiega jak szalona (dla funkcji gładkich). A to przecież
tylko średnia ważona kilku trapezów.
pzdr
bartekltg