next up previous
Next: Závislost charakteru chyby na délce kroku Up: Zaokrouhlovací chyby Previous: Reprezentace čísla v počítači

Šíření chyb ve výpočtech

Nebezpečné jsou operace, které mohou podstatně zvětšit relativní chybu !!



\begin{displaymath}a (x \pm y) = a(x) + a(y) \ \ \ \ \longrightarrow \ \ \ \
r (x \pm y) = \frac{a(x) + a(y)}{\vert x \pm y\vert}
\end{displaymath}

Pokud výsledek malý $\Longrightarrow$ zvětší se silně \framebox{ $r$\space } !! Často nemohu rozhodnout, zda výsledek je 0 nebo není !!
Odečteme-li např. čísla 1.32483726, 1.32483357 známá na 9 platných číslic
$r(x) = r(y) \simeq 5 \cdot 10^{-9}$ (přesněji $3.8 \cdot 10^{-9}$)
dostaneme výsledek
x-y = 0.00000369 s přesností na 3 platné číslice $r(x-y) \simeq 5 \cdot 10^{-3}$ (přesněji $r(x-y) = 1 \cdot 10^{-3}$).
Motivace vývoje řady numerických postupů - snaha vyhnout se odečítání dvou přibližně stejně velkých čísel.



$\displaystyle a (x \cdot y) = \vert x\vert a(y) + \vert y\vert a(x) \ \ \ \ \longrightarrow \ \ \ \
r (x \cdot y) = r(x) + r(y)$      
$\displaystyle a \left( \frac{x}{y} \right) = \frac{\vert x\vert a(y) + \vert y\...
...{y^2} \ \ \ \
\longrightarrow \ \ \ \
r\left( \frac{x}{y} \right) = r(x) + r(y)$      

Násobení a dělení nemohou podstatně zvětšit zaokrouhlovací chybu, nejsou tedy nebezpečné.
Pozn. Dělení číslem 0 je hrubá chyba - nejde o zaokrouhlovací chybu.



Jiri Limpouch
1999-03-01