eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingBłędny epsilon - this is not a bug, this is ? › Re: jak się liczy błąd maszynowy?
  • Data: 2012-11-08 21:07:30
    Temat: Re: jak się liczy błąd maszynowy?
    Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 07.11.2012 19:50, e...@g...com wrote:
    > A moze tak przy okazji ktos (moze OP?) wytlumaczy, jak sie
    > liczy blad maszynowy wyrazenia sin(b/a) dla a=100 i powiedzmy
    > b=549.755813887? Najlepiej na postawie tego DBL_EPS.
    >
    W typowym wypadku patrzy się do dokumentacji i czyta, że gwarantowana
    dokładność dla sin to AFAIK 1e-10.

    W "specjalnym" przypadku:
    549.755813887 się nie reprezentuje nawet w long double, mamy więc już na
    początku przedział:
    549.75581388699998797164880670607089996337890625L,
    549.7558138870000021825035219080746173858642578125L
    o szerokości 1.42109e-14 i względnym błędzie 2.58494e-17

    Wykonujemy dzielenie i otrzymujemy
    5.49756 z przedziałem 1.42681e-16 i dokładnością 2.59535e-17

    Teraz jakąś prostą metodą liczymy sinus, np. Taylorem, do czasu aż
    reszta będzie w tej samej okolicy co błąd obliczeń. Otrzymujemy
    lower:
    -0.7072686935699425367384853002850064740414381958544
    254302978515625
    upper: -0.7072686935699250790777342645654357511375565081834
    7930908203125
    interval: 1.74577e-14 interval rel: 2.46832e-14

    Jeżeli chcemy teraz mieć pewność, że nasz przedział rzeczywiście zawiera
    poszukiwaną wartość to powinniśmy go jeszcze skorygować o resztę z
    rozwinięcia funkcji w szereg. W tym wypadku wydaje mi się, że możemy po
    prostu go podwoić, bo sinusa przybliżyliśmy z resztą nie większą od
    szerokości przedziału.

    kod:
    http://grota.be/~michoo/smieci/interval.cpp

    P.S.
    Wszelkie uwagi mile widziane. Kod zmontowany na szybko z na podstawie
    starego projektu, więc jakieś błędy mogły się wkraść.

    --
    Pozdrawiam
    Michoo

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: