-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.comp.programming
Subject: Re: jak się liczy błąd maszynowy?
Date: Thu, 08 Nov 2012 21:07:30 +0100
Organization: Netia S.A.
Lines: 41
Message-ID: <k7h3p6$tbl$1@mx1.internetia.pl>
References: <50924bb1$0$1308$65785112@news.neostrada.pl>
<k72sqt$gq$1@news.dialog.net.pl>
<509505f2$0$1317$65785112@news.neostrada.pl>
<k734vm$43g$1@news.dialog.net.pl>
<509533d1$0$26687$65785112@news.neostrada.pl>
<k797v2$t98$1@news.dialog.net.pl>
<509848c6$0$1208$65785112@news.neostrada.pl>
<k79hhh$26k$1@news.dialog.net.pl> <k7am9f$n0p$1@zeus.man.szczecin.pl>
<k7apte$eiu$1@news.task.gda.pl>
<0...@g...com>
<k7b4tp$9ke$1@news.task.gda.pl> <k7b8b5$nqq$1@node1.news.atman.pl>
<k7bbgo$pth$1@news.task.gda.pl>
<50996f4d$0$1297$65785112@news.neostrada.pl>
<k7c0hi$jp4$1@news.task.gda.pl>
<50999d69$0$1215$65785112@news.neostrada.pl>
<k7c774$3tq$1@news.task.gda.pl> <k7dic5$ssp$1@node2.news.atman.pl>
<5...@g...com>
NNTP-Posting-Host: 83.238.197.12
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1352405606 30069 83.238.197.12 (8 Nov 2012 20:13:26 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Thu, 8 Nov 2012 20:13:26 +0000 (UTC)
In-Reply-To: <5...@g...com>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.6esrpre) Gecko/20120817
Icedove/10.0.6
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.comp.programming:200649
[ ukryj 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
- 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)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)