eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Pocedura całkowania
Ilość wypowiedzi w tym wątku: 84

  • 71. Data: 2009-07-10 22:13:33
    Temat: Re: Pocedura całkowania
    Od: "slawek" <s...@h...pl>



    Użytkownik "Krzysiek" <"dthrone[wytnij_to_i_nawiasy]"@interia.pl> napisał w
    wiadomości grup dyskusyjnych:h3812r$qou$...@a...news.neostrada.pl
    ...
    > No ale nie przeginajmy. Wspomniane twierdzenie mówi, że sygnał
    > oryginalny w pewnych warunkach DA się jednoznacznie odtworzyć z próbek.
    > Jeśli sygnał ma ograniczone widmo i próbkujemy odpowiednio często, to
    > jaki problem?

    Jeżeli założymy że funkcja jest taka a taka - to ok, da się ją odtworzyć. Da
    się - bo założyliśmy.

    Ale jeżeli o funkcji nic nie wiemy (ba! nawet wiemy że przypuszczalnie jej
    widmo nie jest ograniczone a ona sama nie da się przedstawić całką itd.
    itp.) - to leżym i kwiczym.

    Dla przykładu, funkcja sin(x)+cos(2x) pięknie się da próbkować. Funkcja
    sin(x) exp(-x/1000) też się da, choć trochę gorzej. Ale np. sin(1/x) w
    przedziale (-1,1) już jakby nieco gorzej... A jak jeszcze spróbujesz np.
    sin(1/exp(x^x)) - to sam możesz się przekonać, jak dobre jest te
    "jednoznaczne odtworzenie".

    slawek



  • 72. Data: 2009-07-10 22:14:27
    Temat: Re: Pocedura całkowania
    Od: "slawek" <s...@h...pl>



    Użytkownik "A.L." <a...@a...com> napisał w wiadomości grup
    dyskusyjnych:iq1f55hph9255rpv67v4j8berqgfi5dt7v@4ax.
    com...
    >>Jeśli sygnał ma ograniczone widmo i próbkujemy odpowiednio często, to
    >>jaki problem?
    >
    >
    > Zapytaj "slawka"

    Jeżeli założenie o ograniczonym widmie jest fałszywe - to czy mamy problem?
    :)

    slawek



  • 73. Data: 2009-07-11 06:05:47
    Temat: Re: Pocedura całkowania
    Od: "Mariusz Marszałkowski" <b...@g...pl>

    slawek <s...@h...pl> napisał(a):
    > Dobrze, ponieważ jesteś uparty - policz sobie
    > http://planetmath.org/encyclopedia/SineIntegral.html
    , masz rozwinięcie w
    > szereg, więc jest z czym porównywać.
    >
    > Weź trapeziki i 3/8, porównaj z całkowaniem spline'ami. Sam jestem ciekawy -
    > robiłem różne testy, ale z tą funkcją nie. Nota bene, pod całką siedzi
    > oscylacja pomnożona przez zanikającą amplitudę. Inżyniersko sensowne.

    No właśnie ciekawość mnie zżerała i się pobawiłem i przyjrzałem dokładniej.
    Wyniki, no cóż, w zależności od całkowanej funkcji. Trapezy czasami
    potrzebują około 5-10 razy więcej czasu niż interpolacja trójmianem
    kwadratowym w przód aby uzyskać tą samą dokładność. Z kolei interpolacja
    trójmianem czasami potrzebuje 5-10 razy więcej czasu aby uzyskać to samo
    co aproksymacja wielomianem 3-go stopnia. Nie znam fachowych nazw tych
    metod. Poniżej wyniki:

    funkcja podcałkowa: sin(x)/x
    przedział: <0.01 - 15>
    metoda | ilość próbek | czas us | dokładność
    ---------------------------------------------
    trapezy | 256 | 0 | 0.0000144576
    trapezy | 512 | 2 | 0.0000036001
    trapezy | 1024 | 4 | 0.0000008983
    trapezy | 2048 | 8 | 0.0000002243
    trapezy | 4096 | 15 | 0.0000000561
    trapezy | 8192 | 35 | 0.0000000140
    ax2+bx+c | 256 | 7 | 0.0000024678
    ax2+bx+c | 512 | 14 | 0.0000003096
    ax2+bx+c | 1024 | 27 | 0.0000000388
    ax2+bx+c | 2048 | 56 | 0.0000000048
    ax2+bx+c | 4096 | 117 | 0.0000000006
    ax2+bx+c | 8192 | 246 | 0.0000000001
    ax3+bx2+cx+d| 256 | 17 | 0.0000000034
    ax3+bx2+cx+d| 512 | 35 | 0.0000000004
    ax3+bx2+cx+d| 1024 | 71 | 0.0000000000
    ax3+bx2+cx+d| 2048 | 146 | 0.0000000000
    ax3+bx2+cx+d| 4096 | 302 | 0.0000000000
    ax3+bx2+cx+d| 8192 | 628 | 0.0000000000

    funkcja podcałkowa: cos(x)/x
    przedział: <0.01 - 15>

    256 0 1.4956505681
    512 2 0.5143633061
    1024 3 0.1560617751
    2048 8 0.0427125995
    4096 17 0.0110257619
    8192 39 0.0027818504

    256 7 1.0768666046
    512 13 0.3320225457
    1024 25 0.0834761547
    2048 51 0.0169137662
    4096 116 0.0028510407
    8192 234 0.0004225407

    256 0 0.7013858472
    512 0 0.1842101116
    1024 0 0.0343777480
    2048 82 0.0039816083
    4096 302 0.0002193824
    8192 639 0.0000055423

    sin(x)/x/x
    funkcja podcałkowa: cos(x)/x
    przedział: <0.01 - 25>

    256 1 3.0385860008
    512 2 1.1413372454
    1024 3 0.3800913095
    2048 8 0.1118991967
    4096 17 0.0300330418
    8192 38 0.0076875683

    256 6 2.2974020234
    512 14 0.8029555156
    1024 33 0.2356433412
    2048 62 0.0559723645
    4096 120 0.0107595597
    8192 243 0.0017440149

    256 16 1.6039225484
    512 36 0.5057854479
    1024 73 0.1229429323
    2048 149 0.0205519289
    4096 296 0.0020372343
    8192 625 0.0000797190

    funkcja podcałkowa: 3x3-2x2+5x+4
    przedział: <0 - 10>

    256 0 0.1102140202
    512 2 0.0274457691
    1024 4 0.0068480345
    2048 9 0.0017103359
    4096 17 0.0004273752
    8192 37 0.0001068203

    256 7 0.0004487672
    512 14 0.0000559880
    1024 28 0.0000069918
    2048 57 0.0000008740
    4096 119 0.0000001092
    8192 247 0.0000000110

    256 18 0.0000000001 // błąd 0, bo interpolacja jest dokładna
    512 35 0.0000000001
    1024 72 0.0000000000
    2048 146 0.0000000004
    4096 299 0.0000000001
    8192 620 0.0000000026


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 74. Data: 2009-07-11 06:08:29
    Temat: Re: Pocedura całkowania
    Od: "Mariusz Marszałkowski" <b...@g...pl>


    poprawka
    w trzeciej tabeli funkcja podcałkowa to: sin(x)/x/x

    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 75. Data: 2009-07-11 16:19:56
    Temat: Re: Pocedura całkowania
    Od: "slawek" <s...@h...pl>



    Użytkownik "Mariusz Marszałkowski" <b...@g...pl> napisał w
    wiadomości grup dyskusyjnych:h39a3q$rpe$...@i...gazeta.pl...
    > No właśnie ciekawość mnie zżerała i się pobawiłem i przyjrzałem
    > dokładniej.
    > Wyniki, no cóż, w zależności od całkowanej funkcji. Trapezy czasami

    Właśnie dziś rano przypomniałem sobie, co mi nie pasowało z trapezami: dla
    funkcji wypukłych (tzn. mamy funkcję rzeczywistą zmiennej rzeczywistej)
    ZAWSZE dają nieco za mało. Funkcje sklejane z kawałków wielomianów takich
    jak np. a x^3+b x^2 +c x + d niekoniecznie. Co przy funkcji oscylującej:
    dla trapezów zawsze niedomiar przez 1/2 okresu i nadmiar przez kolejne 1/2
    okresu. A takie cuś powinno generować coś w rodzaju "siły wymuszającej".

    > metod. Poniżej wyniki:

    Wic w tym, że ja zbieram wyniki z 8 cyframi znaczącymi, a liczę z... 64
    bitami, czyli mantysa 52 bity czyli nieco ponad 15 cyfr po przecinku (choć
    FPU ma 80 bitów i niektóre rzeczy liczy wewnętrznie nieco dokładniej) . Te
    które masz to 10 cyfr, ale w większości - nieznaczących (same zera). Ale
    widać że im wyższy stopień tym lepiej - czyli że (teoretycznie) spliny są
    dużo lepsze niż trapezy.

    Teraz przepisuję procedurę całkowania na nowo - aby była "idiotoodporna" -
    dany jest wektor y oraz krok dla x - a całka jest brana od a do b (które są
    rzeczywiste): czasem daje to np. a pomiędzy znanymi wartościami, czasem może
    to dać np. b poza znanymi y-kami (ekstrapolacja). Do tego patologiczne
    sytuacje - gdy np. długość wektora y wynosi 1 - czego nie da się w
    konkretnym zastosowaniu ominąć.

    Tak to robię, że pomiędzy całkowitymi wartościami a/h oraz b/h jest
    całkowanie splinem (które jest gotowe). Ewentualne niedoróbki załatwić ma
    kubiczny wielomian (ale już nie spline). Oczywiście - jeżeli da się obliczyć
    kubiczny wielomian. Bo jeżeli nie - to parabola. Jeżeli nie parabola - to
    kawałek prostej. Jak skończę - to wrócę do dyskusji z konkretnymi danymi
    (tzn. "nowa metoda" vs. trapezy vs. dokładna wartość).

    slawek




  • 76. Data: 2009-07-11 19:21:31
    Temat: Re: Pocedura całkowania
    Od: "Mariusz Marszałkowski" <b...@g...pl>


    slawek <s...@h...pl> napisał(a):
    > Jak skończę - to wrócę do dyskusji z konkretnymi danymi
    > (tzn. "nowa metoda" vs. trapezy vs. dokładna wartość).

    Wróć pogadać gdy skończysz :) Może do tego czasu napiszę jeszcze
    interpolację wielomianem 5-go stopnia i wielomianem trygonometrycznym,
    to porównamy. Mój kod wystawiłem w którymś z listów, może w czymś
    Ci pomoże.

    Pozdrawiam.

    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 77. Data: 2009-07-13 06:26:06
    Temat: Re: Pocedura całkowania
    Od: Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl>

    slawek pisze:
    >

    > Wic w tym, że ja zbieram wyniki z 8 cyframi znaczącymi, a liczę z... 64
    > bitami, czyli mantysa 52 bity czyli nieco ponad 15 cyfr po przecinku

    Błąd - maksymalnie tyle - nazwa zmiennoprzecinkowe pochodzi stąd, że
    dokładność sie zmienia.

    > (choć FPU ma 80 bitów i niektóre rzeczy liczy wewnętrznie nieco
    > dokładniej).

    nie każdy FPU - z tym jest różnie - w zależności od rodziny procesorów.
    Dodatkowo - wykonując operacje na tych liczbach, będziesz miał kolejne
    błędy - po za dzieleniem, duże błędy uzyskuje się przy dodawaniu, jeśli
    liczby są różnej wielkości.


    --
    Kaczus
    http://kaczus.republika.pl


  • 78. Data: 2009-07-13 07:03:40
    Temat: Re: Pocedura całkowania
    Od: "Stachu 'Dozzie' K." <d...@d...im.pwr.wroc.pl.nospam>

    On 13.07.2009, Tomasz Kaczanowski wrote:
    > slawek pisze:
    >>
    >
    >> Wic w tym, że ja zbieram wyniki z 8 cyframi znaczącymi, a liczę z... 64
    >> bitami, czyli mantysa 52 bity czyli nieco ponad 15 cyfr po przecinku
    >
    > Błąd - maksymalnie tyle - nazwa zmiennoprzecinkowe pochodzi stąd, że
    > dokładność sie zmienia.

    Błąd -- dokładnie tyle. Nazwa "zmiennoprzecinkowe", a raczej "floating
    point", pochodzi stąd, że przecinek nie zawsze jest za cyfrą jednostek
    (pływa).

    >> (choć FPU ma 80 bitów i niektóre rzeczy liczy wewnętrznie nieco
    >> dokładniej).
    >
    > nie każdy FPU - z tym jest różnie - w zależności od rodziny procesorów.
    > Dodatkowo - wykonując operacje na tych liczbach, będziesz miał kolejne
    > błędy - po za dzieleniem, duże błędy uzyskuje się przy dodawaniu, jeśli
    > liczby są różnej wielkości.

    --
    Stanislaw Klekot


  • 79. Data: 2009-07-13 07:12:51
    Temat: Re: Pocedura całkowania
    Od: Tomasz Kaczanowski <kaczus@dowyciecia_poczta.onet.pl>

    Stachu 'Dozzie' K. pisze:
    > On 13.07.2009, Tomasz Kaczanowski wrote:
    >> slawek pisze:
    >>> Wic w tym, że ja zbieram wyniki z 8 cyframi znaczącymi, a liczę z... 64
    >>> bitami, czyli mantysa 52 bity czyli nieco ponad 15 cyfr po przecinku
    >> Błąd - maksymalnie tyle - nazwa zmiennoprzecinkowe pochodzi stąd, że
    >> dokładność sie zmienia.
    >
    > Błąd -- dokładnie tyle. Nazwa "zmiennoprzecinkowe", a raczej "floating
    > point", pochodzi stąd, że przecinek nie zawsze jest za cyfrą jednostek
    > (pływa).


    No może niezrozumiale, ale właśnie o tym napisałem... Przedpiszca
    napisał, że ma ponad 15 cyfr po przecinku.

    --
    Kaczus
    http://kaczus.republika.pl


  • 80. Data: 2009-07-13 07:34:58
    Temat: Re: Pocedura całkowania
    Od: Wojciech Muła <w...@p...null.onet.pl.invalid>

    On Mon, 13 Jul 2009 09:12:51 +0200 Tomasz Kaczanowski
    <kaczus@dowyciecia_poczta.onet.pl> wrote:

    > >> Błąd - maksymalnie tyle - nazwa zmiennoprzecinkowe pochodzi stąd,
    > >> że dokładność sie zmienia.
    > >
    > > Błąd -- dokładnie tyle. Nazwa "zmiennoprzecinkowe", a raczej
    > > "floating point", pochodzi stąd, że przecinek nie zawsze jest za
    > > cyfrą jednostek (pływa).
    >
    > No może niezrozumiale, ale właśnie o tym napisałem... Przedpiszca
    > napisał, że ma ponad 15 cyfr po przecinku.

    W liczbach zmiennoprzecinkowych podaje się precyzję znormalizowanej
    mantysy, która zawsze wynosi te 15-16 cyfr, niezależnie od wartości
    wykładnika.

    w.

    --
    Kupię: http://wm.ite.pl/kupie.html

strony : 1 ... 7 . [ 8 ] . 9


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: