-
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
Następne wpisy z tego wątku
- 08.11.12 21:36 Baranosiu
- 09.11.12 00:04 e...@g...com
- 09.11.12 01:12 Andrzej Jarzabek
- 09.11.12 01:21 Andrzej Jarzabek
- 08.11.12 09:19 slawek
- 08.11.12 09:23 slawek
- 08.11.12 09:34 slawek
- 08.11.12 09:31 slawek
- 08.11.12 09:38 slawek
- 10.11.12 19:25 Roman W
- 14.11.12 23:26 Michoo
- 16.11.12 09:21 kenobi
Najnowsze wątki z tej grupy
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
Najnowsze wątki
- 2025-05-09 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-05-09 zabezpieczenie płatności w biznesie
- 2025-05-09 Kto miał rację ?
- 2025-05-09 Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- 2025-05-08 Z jakiego paragrafu podlega ochronie (resortowa) flaga UE w RP3? Bo to nie flaga Obcego PAŃSTWA [KK-137.2]
- 2025-05-08 Usługi, rozliczanie płatności z karty i blika
- 2025-05-08 Lublin => Delphi Programmer <=
- 2025-05-08 Lublin => Programista Delphi <=
- 2025-05-08 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-05-08 Warszawa => Senior Node.js Developer (doświadczenie z framework Nest.
- 2025-05-07 Wielki smog w Watykanie
- 2025-05-07 Polscy czołgiści najlepsi w międzynarodowych zawodach na Łotwie!!!
- 2025-05-07 Znaki wewnętrzne
- 2025-05-07 Czujnik nacisku
- 2025-05-07 Wielki smog w Watykanie Nadal palą węglem w piecach