miércoles, 2 de agosto de 2023

Ejemplo de determinación del error en una representación (máquina) finita

ENUNCIADO.
Si se usa una aritmética con redondeo, en un sistema de representación decimal y de $3$ dígitos de precisión, para realizar la siguiente operación $$\dfrac{a\cdot b-c}{b+2\cdot c}$$ donde $a=1.34$, $b=0.712$, $c=-0.355$, determínese el error cometido en relación a la aritmética real (exacta).

SOLUCIÓN.
Como se usan tres dígitos de precisión ( el número de cifras significativas es $3$ ) tenemos $n:=3$. Por otra parte, como $1 \prec a \prec 2$, el exponente de la potencia en base $10$ (al escribirlo en notación de punto flotante) es $e_a:=1$ ( $1.34=0.13|4\times 10^1$ ); y en cuento a los otros dos: como $0 \prec b \prec 1$, $e_b:=0$ ( $0.712=0.712\times 10^0$ ), y como como $0 \prec |c| \prec 1$, $e_c:=0$ ( $-0.355=-0.355\times 10^0$ ); esto es:
        $a=0.134\times 10^1$, $b=0.712\times 10^0$ y $c=-0.355\times 10^0$

Entonces, los resultados aproximados ( en la aritmética finita o de la máquina ) de las operaciones que componen la operación combinada son:
  $a\cdot b\approx \mathcal{R}(1.34\cdot 0.712)=\mathcal{R}(0.95408)=0.954\times 10^0$
    $a\cdot b-c\approx \mathcal{R}(0.954-(-0.355))=\mathcal{R}(0.1309\times 10^1)=0.131\times 10^1$
      $b+2c\approx \mathcal{R}(0.712+2\cdot (-0.355))=\mathcal{R}(0.002)=0.2\times 10^{-2}$

Por consiguiente,
        $\bar{x}\overset{.}{=}\dfrac{a\cdot b-c}{b+2\cdot c}\approx \mathcal{R}\left(\dfrac{0.131\times 10^1}{0.2\times 10^{-2}}\right)=655=0.655\times 10^3$

Teniendo en cuenta que el resultado exacto e igual $x=654.54=.65454\times 10^3$, el error relativo es $E_{R}\overset{\text{def}}{=}\dfrac{|x-\bar{x}|}{|x|}=\dfrac{|.65454\times 10^3-0.655\times 10^3|}{|.65454\times 10^3|}=0.0007027836 \prec 0.000703 =$ $=0.703\times 10^{-3}=0.703\times 10^{-1}\,\%\sim 0.07\,\%$

No hay comentarios:

Publicar un comentario