-
1. Data: 2009-07-06 13:57:50
Temat: Pocedura całkowania
Od: "slawek" <s...@h...pl>
Problem jest w zasadzie już częściowo rozwiązany, ale każde ulepszenie
byłoby pożądane. Oszczędzałoby czas, dawało dokładniejsze wyniki, a może
byłoby zwyczajnie prostsze? W każdym razie w literaturze niewiele znalazłem,
podobnie Google itp. Więc problem być może jest ciekawy.
Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
= 1,2,3,...,n ?
Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną, czyli
że nie istnieje nawet pierwsza pochodna f(t) w x[m]. Dokładność takiej
procedury całkowania jest raczej niewielka... ale zachowuje sie ona
porządnie, tzn. dla n = n+1 całka przyrasta dokładnie o całkę od (n-1) h do
n h.
Taki np. wzór Boole'a w zasadzie niczego nie zmienia - i niezbyt jest
odpowiedni. Nieźle natomiast funkcjonuje algorytm oparty o funkcje sklejane.
Wystarczy przesunąć się o 1, czyli zwiększyć n do n+1, aby wkład do
oszacowywanej całki od przedziału od 1 do n zmienił się (spline inaczej
wygnie się w "starym" przedziale po dołączeniu "nowego" punktu). Nie da się
łatwo "doklejać" nowych punktów - za każdym razem trzeba liczyć od nowa. W
zasadzie to dotyczy każdego wzoru, w którym wkład do całki wnoszony przez
przedział (x[k],x[k+1]) zależy od wartości y[m] jeżeli m <k lub m > k+1 .
Czy jest jakiś fajny algorytm całkowania lepszy niż przez funkcje sklejane?
Nota bene, kwadratury Gaussa, Newtona-Cotesa, całkowanie metodą Romberga -
to nie to, to zupełnie coś innego, bo zakładają jawność funkcji f(x) .
Tymczasem jest założenie, że znane są, owszem, wartości f(x) ale tylko dla z
góry zadanych wartości x.
TIA
slawek
-
2. Data: 2009-07-06 14:32:14
Temat: Re: Pocedura całkowania
Od: Wit Jakuczun <w...@g...com>
On 6 Lip, 15:57, "slawek" <s...@h...pl> wrote:
> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
> = 1,2,3,...,n ?
>
> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną, czyli
> że nie istnieje nawet pierwsza pochodna f(t) w x[m].
Skąd takie założenie?
> Taki np. wzór Boole'a w zasadzie niczego nie zmienia - i niezbyt jest
> odpowiedni.
Dlaczego?
> Nieźle natomiast funkcjonuje algorytm oparty o funkcje sklejane.
>
Co to znaczy, że nieźle?
> Wystarczy przesunąć się o 1, czyli zwiększyć n do n+1, aby wkład do
> oszacowywanej całki od przedziału od 1 do n zmienił się (spline inaczej
> wygnie się w "starym" przedziale po dołączeniu "nowego" punktu). Nie da się
> łatwo "doklejać" nowych punktów - za każdym razem trzeba liczyć od nowa. W
> zasadzie to dotyczy każdego wzoru, w którym wkład do całki wnoszony przez
> przedział (x[k],x[k+1]) zależy od wartości y[m] jeżeli m <k lub m > k+1 .
>
A B-splajny? One są lokalne...
> Czy jest jakiś fajny algorytm całkowania lepszy niż przez funkcje sklejane?
>
Jak definiujesz fajność algorytmu?
> Tymczasem jest założenie, że znane są, owszem, wartości f(x) ale tylko dla z
> góry zadanych wartości x.
>
Możesz to rozwinąć?
-
3. Data: 2009-07-06 14:38:11
Temat: Re: Pocedura całkowania
Od: A.L. <a...@a...com>
On Mon, 6 Jul 2009 07:32:14 -0700 (PDT), Wit Jakuczun
<w...@g...com> wrote:
>On 6 Lip, 15:57, "slawek" <s...@h...pl> wrote:
>
>> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
>> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
>> = 1,2,3,...,n ?
>>
>> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną, czyli
>> że nie istnieje nawet pierwsza pochodna f(t) w x[m].
>Skąd takie założenie?
Moze szkoda ze wsadzilem "slawka" do KF...
A.L.
-
4. Data: 2009-07-06 14:55:25
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
slawek <s...@h...pl> napisał(a):
> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
> = 1,2,3,...,n ?
>
> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną,
Jeśli funkcja dana jest tablicą to ku ścisłości nie da się policzyć jej
całki :) Pomijając ten mankament, lepsze wyniki uzyska się wtedy gdy
się zastosuje lepszą aproksymację przebiegu pomiędzy znanymi wartościami.
A nie znając oryginalnej funkcji, nie wiadomo jak ją lepiej aproksymować :)
Podstawowa metoda to zwiększanie "n" i użycie trapezów, niestety wraz
ze wzrostem "n" wydłuża się czas - ale to wszystko z pewnością już wiesz :)
Nie wspominasz nic o metodzie montecarlo, ale jej dokładność także
będzie zależała od dokładności aproksymacji wewnątrz przedziałów :)
Nie masz takiej możliwości aby jako parametr funkcji całkującej przekazać
funkcję całkowaną zamiast tablicy jej wartości?
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
5. Data: 2009-07-06 15:09:44
Temat: Re: Pocedura całkowania
Od: A.L. <a...@a...com>
On Mon, 6 Jul 2009 14:55:25 +0000 (UTC), "Mariusz Marszałkowski"
<b...@g...pl> wrote:
>slawek <s...@h...pl> napisał(a):
>
>> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
>> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
>> = 1,2,3,...,n ?
>>
>> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną,
>
>Jeśli funkcja dana jest tablicą to ku ścisłości nie da się policzyć jej
>całki :)
Kolego, nie gadajcie glupot....
A.L.
-
6. Data: 2009-07-06 15:18:00
Temat: Re: Pocedura całkowania
Od: Wit Jakuczun <w...@g...com>
On 6 Lip, 16:55, "Mariusz Marszałkowski" <b...@g...p
> Jeśli funkcja dana jest tablicą to ku ścisłości nie da się policzyć jej
> całki :)
To nie jest prawda, patrz rachunek prawdopodobieństwa.
O całce Lebesque'a słyszałeś?
> Nie wspominasz nic o metodzie montecarlo, ale jej dokładność także
> będzie zależała od dokładności aproksymacji wewnątrz przedziałów :)
>
O jakiej metodzie montecarlo mówisz?
Pozdrawiam,
Wit
-
7. Data: 2009-07-06 15:23:27
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
A.L. <a...@a...com> napisał(a):
> On Mon, 6 Jul 2009 14:55:25 +0000 (UTC), "Mariusz Marszałkowski"
> <b...@g...pl> wrote:
>
> >slawek <s...@h...pl> napisał(a):
> >
> >> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile wynosi
> >> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m]) dla m
> >> = 1,2,3,...,n ?
> >>
> >> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną,
> >
> >Jeśli funkcja dana jest tablicą to ku ścisłości nie da się policzyć jej
> >całki :)
>
> Kolego, nie gadajcie glupot....
Jak policzyć całkę funkcji danej taką tabelą?
x|1|2|3|4
------------
y|4|3|4|3
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
8. Data: 2009-07-06 15:32:45
Temat: Re: Pocedura całkowania
Od: Wit Jakuczun <w...@g...com>
On 6 Lip, 16:38, A.L. <a...@a...com> wrote:
> On Mon, 6 Jul 2009 07:32:14 -0700 (PDT), Wit Jakuczun
>
> <w...@g...com> wrote:
> >On 6 Lip, 15:57, "slawek" <s...@h...pl> wrote:
>
> >> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną, czyli
> >> że nie istnieje nawet pierwsza pochodna f(t) w x[m].
> >Skąd takie założenie?
>
> Moze szkoda ze wsadzilem "slawka" do KF...
KF jest fajny, w google nie ma czegoś takiego.
Pozdrawiam,
Wit
-
9. Data: 2009-07-06 15:47:17
Temat: Re: Pocedura całkowania
Od: "Mariusz Marszałkowski" <b...@g...pl>
Wit Jakuczun <w...@g...com> napisał(a):
> On 6 Lip, 16:55, "Mariusz Marsza=B3kowski" <b...@g...p
> > Je=B6li funkcja dana jest tablic=B1 to ku =B6cis=B3o=B6ci nie da si=EA po=
> liczy=E6 jej
> > ca=B3ki :)
> To nie jest prawda, patrz rachunek prawdopodobie=F1stwa.
> O ca=B3ce Lebesque'a s=B3ysza=B3e=B6?
"W uproszczeniu całkowanie oznacza obliczanie pola pod wykresem funkcji na
zadanym odcinku."
Nie wiem jak obliczyć pole jeśli funkcja jest określona tylko w punktach
zawartych w tabeli.
> > Nie wspominasz nic o metodzie montecarlo, ale jej dok=B3adno=B6=E6 tak=BF=
> e
> > b=EAdzie zale=BFa=B3a od dok=B3adno=B6ci aproksymacji wewn=B1trz przedzia=
> =B3=F3w :)
> >
> O jakiej metodzie montecarlo m=F3wisz?
Hmmm chyba każda działa tym lepiej im dokładniej są określone wartości?
Mówiłem np. o takiej, nie znam jej nazwy:
1) t = 0, n = 0
2) Wybieramy losowo ( o rozkładzie liniowym ) punkt (x,y) gdzie x należy
do przedziału <a,b>
3) Jeśli (f(x) >= y) to t = t + 1
4) Jeśli (f(x) < y) to n = n + 1
5) Jeśli nie skończył się czas obliczeń to powrót na 2
6) Całka w przybliżeniu wynosi (b-a) * H / (t+n) * t, gdzie H jest
wartością nie mniejszą niż największy wylosowany y
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
10. Data: 2009-07-06 15:47:52
Temat: Re: Pocedura całkowania
Od: "Krzysztof Tabaczynski" <k...@w...pl>
Użytkownik "Mariusz Marszałkowski" <b...@g...pl> napisał w
wiadomości news:h2t4tf$cf9$1@inews.gazeta.pl...
> A.L. <a...@a...com> napisał(a):
>
>> On Mon, 6 Jul 2009 14:55:25 +0000 (UTC), "Mariusz Marszałkowski"
>> <b...@g...pl> wrote:
>>
>> >slawek <s...@h...pl> napisał(a):
>> >
>> >> Mamy tablicę y[i], gdzie i=1,2,3,...,n z zadanymi wartościami. Ile
>> >> wynosi
>> >> całka z f(t) od x[1] do x[n], jeżeli x[m] = (m - 1) h, y[m] = f(x[m])
>> >> dla m
>> >> = 1,2,3,...,n ?
>> >>
>> >> Najprostsza odpowiedź - wzór trapezów - zakłada że f(t) jest łamaną,
>> >
>> >Jeśli funkcja dana jest tablicą to ku ścisłości nie da się policzyć jej
>> >całki :)
>>
>> Kolego, nie gadajcie glupot....
>
> Jak policzyć całkę funkcji danej taką tabelą?
>
> x|1|2|3|4
> ------------
> y|4|3|4|3
Wielomianem Newtona wyznaczyć wzór tej funkcji?
To będzie co najwyżej 4 stopień...
Pozdrowienia. Krzysztof z Tychów.