eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingBłędny epsilon - this is not a bug, this is ?Re: Błędny epsilon - this is not a bug, this is ?
  • Data: 2012-11-01 16:54:26
    Temat: Re: Błędny epsilon - this is not a bug, this is ?
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2012-11-01 16:39, slawek pisze:
    > Użytkownik "bartekltg" napisał w wiadomości grup
    > dyskusyjnych:k6tusp$elk$...@n...news.atman.pl...
    >
    >> we float.h dali ciała z definicją/warunkami zaokrąglania.
    >
    > Bartuś, gratuluję ci pewności siebie. Przyda ci się ona przy wyjaśnianiu
    > dlaczego twórcy procesorów dodają liczby z większą "rozdziałką" niż one
    > są zapisywane.

    Kurde, 'sławuś', wuemy, zę masz problemy z czytaniem ze zrozumieniem,
    ale się skup i przeczytaj te posty.


    > Nadal jednak masz problem - twierdzisz coś zupełnie innego niż Wikipedia
    > - więc może sprostujesz wpis ibidem? Przy okazji doprowadzając hasło do

    Gdzie twierdzę coś innego niż wykipedia?

    Rozumiesz wynik tego:
    Odpalamy:
    ee=1.11022324691088480000E-16
    a=1+ee
    roznica = a-1

    Wychodzi:
    ee =
    1.1102e-016
    a =
    1.0000
    roznica =
    2.2204e-016

    I co tu więcej komentować.


    >
    > Co do Matlaba - jeżeli jest inna definicja - to eps z Matlaba jest ok -
    > w sensie zgodności z definicją. Niemniej jednak błędem jest w takim
    > razie odrzucanie liczb mniejszych niż eps (tj. niż wartość jaką zwraca

    Błędem jest w ogóle działanie na takich zakresach.
    To chyba podstawy 'numerków'.


    > funkcja eps z Matlaba), bo te liczby jednak zmieniają (i powinny
    > zmieniać) wynik. Taki przykładzik, w którym f jest taka że dla każdego n
    > funkcja f(n+1) < f(n) oraz f(n) > 0 :
    >
    > m = 1; while( f(m) >= eps ) m++; /* m = 10*m + 100; */ s = 0.; for (k
    > = m; k > 0; k--) s += f(m);
    >
    > Jeżeli użyjesz definicji i wartości eps z Matlab, to możesz - przez
    > przypadek - otrzymać inny wynik, niż kiedy usuniesz komentarz. Jeżeli
    > użyjesz definicji MS (i oczywiście o połowę mniejszego eps) - to
    > niezależnie od tego, czy usuniesz komentarz, czy go zostawisz - będziesz
    > miał ten sam wynik.

    Będziesz miał syf. To nie sa integery, nie powinno się działać
    na 'ostatnich bitach'.

    Za ten kod powyżęj to powinni walić linijką po łapach.

    > Wniosek jest oczywisty - podana przez ciebie definicja może w
    > określonych sytuacjach prowadzić do błędnych wyników. Definicja MS jest
    > bardziej bezpieczna.

    Twoje pomysły na korzystanie z epsylona sa niebezpieczne.

    pzdr
    bardtekltg





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: