stringtranslate.com

error de redondeo

En informática , un error de redondeo , [1] también llamado error de redondeo , [2] es la diferencia entre el resultado producido por un algoritmo dado usando aritmética exacta y el resultado producido por el mismo algoritmo usando aritmética redondeada de precisión finita. [3] Los errores de redondeo se deben a la inexactitud en la representación de los números reales y las operaciones aritméticas que se realizan con ellos. Esta es una forma de error de cuantificación . [4] Cuando se utilizan ecuaciones o algoritmos de aproximación, especialmente cuando se utilizan un número finito de dígitos para representar números reales (que en teoría tienen un número infinito de dígitos), uno de los objetivos del análisis numérico es estimar los errores de cálculo. [5] Los errores de cálculo, también llamados errores numéricos , incluyen tanto errores de truncamiento como errores de redondeo.

Cuando se realiza una secuencia de cálculos con una entrada que involucra algún error de redondeo, los errores pueden acumularse, a veces dominando el cálculo. En problemas mal condicionados , se pueden acumular errores importantes. [6]

En resumen, hay dos facetas principales de los errores de redondeo involucrados en los cálculos numéricos: [7]

  1. La capacidad de las computadoras para representar tanto la magnitud como la precisión de los números es inherentemente limitada.
  2. Ciertas manipulaciones numéricas son muy sensibles a errores de redondeo. Esto puede deberse tanto a consideraciones matemáticas como a la forma en que las computadoras realizan operaciones aritméticas.

error de representación

El error que se introduce al intentar representar un número utilizando una cadena finita de dígitos es una forma de error de redondeo llamado error de representación . [8] Aquí hay algunos ejemplos de error de representación en representaciones decimales:

Aumentar el número de dígitos permitidos en una representación reduce la magnitud de los posibles errores de redondeo, pero cualquier representación limitada a un número finito de dígitos seguirá causando cierto grado de error de redondeo para una cantidad incontable de números reales. Los dígitos adicionales utilizados para los pasos intermedios de un cálculo se conocen como dígitos de guardia . [9]

Redondear varias veces puede provocar que se acumulen errores. [10] Por ejemplo, si 9,945309 se redondea a dos decimales (9,95) y luego se redondea nuevamente a un decimal (10,0), el error total es 0,054691. Redondear 9,945309 a un decimal (9,9) en un solo paso introduce menos error (0,045309). Esto puede ocurrir, por ejemplo, cuando el software realiza aritmética en punto flotante x86 de 80 bits y luego redondea el resultado a punto flotante IEEE 754 binario64 .

Sistema numérico de coma flotante

En comparación con el sistema numérico de punto fijo , el sistema numérico de punto flotante es más eficiente para representar números reales, por lo que se usa ampliamente en las computadoras modernas. Mientras que los números reales son infinitos y continuos, un sistema numérico de punto flotante es finito y discreto. Por tanto, en el sistema numérico de coma flotante se produce un error de representación, que conduce a un error de redondeo.

Notación del sistema numérico de punto flotante

Un sistema numérico de coma flotante se caracteriza por números enteros:

Cualquiera tiene la siguiente forma:

Sistema normalizado de números flotantes

estándar IEEE

En el estándar IEEE la base es binaria, es decir , y se utiliza la normalización. El estándar IEEE almacena el signo, el exponente y el significado en campos separados de una palabra de punto flotante, cada uno de los cuales tiene un ancho fijo (número de bits). Los dos niveles de precisión más utilizados para números de punto flotante son la precisión simple y la precisión doble.

maquina épsilon

La máquina épsilon se puede utilizar para medir el nivel de error de redondeo en el sistema numérico de punto flotante. Aquí hay dos definiciones diferentes. [3]

Error de redondeo bajo diferentes reglas de redondeo

Hay dos reglas de redondeo comunes: redondeo por corte y redondeo al más cercano. El estándar IEEE utiliza redondeo al más cercano.

Calcular el error de redondeo en el estándar IEEE

Supongamos el uso de redondeo al más cercano y doble precisión IEEE.

Dado que el bit 53 a la derecha del punto binario es un 1 y está seguido por otros bits distintos de cero, la regla de redondeo al más cercano requiere redondear hacia arriba, es decir, agregar 1 bit al bit 52. Por lo tanto, la representación de punto flotante normalizada en el estándar IEEE 9.4 es

Esta representación se deriva descartando la cola infinita.

Entonces .
Por tanto, el error de redondeo es .

Medición del error de redondeo utilizando la máquina épsilon

La máquina épsilon se puede utilizar para medir el nivel de error de redondeo cuando se utilizan las dos reglas de redondeo anteriores. A continuación se muestran las fórmulas y la prueba correspondiente. [3] Aquí se utiliza la primera definición de máquina épsilon.

Teorema

  1. Ronda por tajada:
  2. Redondeo al más cercano:

Prueba

Sea donde y sea la representación en punto flotante de . Dado que se utiliza redondo por corte, es

Error de redondeo causado por la aritmética de punto flotante

Incluso si algunos números se pueden representar exactamente mediante números de punto flotante y dichos números se denominan números de máquina , realizar aritmética de punto flotante puede provocar un error de redondeo en el resultado final.

Suma

La suma automática consiste en alinear los puntos decimales de los dos números a sumar, sumarlos y luego almacenar nuevamente el resultado como un número de coma flotante. La suma en sí se puede realizar con mayor precisión, pero el resultado debe redondearse a la precisión especificada, lo que puede provocar un error de redondeo. [3]

Este ejemplo muestra que se puede introducir un error de redondeo al sumar un número grande y un número pequeño. El desplazamiento de los puntos decimales en los significados para que los exponentes coincidan provoca la pérdida de algunos de los dígitos menos significativos. La pérdida de precisión puede describirse como absorción . [11]

Tenga en cuenta que la suma de dos números de punto flotante puede producir un error de redondeo cuando su suma es un orden de magnitud mayor que la del mayor de los dos.

Este tipo de error puede ocurrir junto con un error de absorción en una sola operación.

Multiplicación

En general, el producto de dos significados de p dígitos contiene hasta 2p dígitos, por lo que es posible que el resultado no se ajuste al significado. [3] Por lo tanto, el error de redondeo estará involucrado en el resultado.

División

En general, el cociente de significados de 2p dígitos puede contener más de p dígitos. Por lo tanto, el resultado implicará un error de redondeo.

Sustracción

La absorción también se aplica a la resta.

La resta de dos números casi iguales se llama cancelación sustractiva . [3] Cuando se cancelan los dígitos iniciales, el resultado puede ser demasiado pequeño para representarse exactamente y simplemente se representará como .

Incluso con un tamaño algo mayor , el resultado en casos típicos sigue siendo muy poco fiable. No hay mucha fe en la exactitud del valor porque la mayor incertidumbre en cualquier número de punto flotante son los dígitos del extremo derecho.

Esto está estrechamente relacionado con el fenómeno de la cancelación catastrófica , en el que se sabe que las dos cifras son aproximaciones.

Acumulación de error de redondeo

Los errores pueden magnificarse o acumularse cuando se aplica una secuencia de cálculos en una entrada inicial con un error de redondeo debido a una representación inexacta.

Algoritmos inestables

Un algoritmo o proceso numérico se denomina estable si pequeños cambios en la entrada sólo producen pequeños cambios en la salida, e inestable si se producen grandes cambios en la salida. [12] Por ejemplo, el cálculo del uso del método "obvio" es casi inestable debido al gran error introducido al restar dos cantidades similares, mientras que la expresión equivalente es estable. [12]

Problemas mal condicionados

Incluso si se utiliza un algoritmo estable, la solución a un problema puede seguir siendo inexacta debido a la acumulación de errores de redondeo cuando el problema en sí está mal condicionado .

El número de condición de un problema es la relación entre el cambio relativo en la solución y el cambio relativo en la entrada. [3] Un problema está bien condicionado si pequeños cambios relativos en los datos de entrada dan como resultado pequeños cambios relativos en la solución. De lo contrario, el problema está mal condicionado . [3] En otras palabras, un problema está mal condicionado si su número de condición es "mucho mayor" que 1.

El número de condición se introduce como una medida de los errores de redondeo que pueden resultar al resolver problemas mal condicionados. [7]

Ver también

Referencias

  1. ^ Butt, Rizwan (2009), Introducción al análisis numérico mediante MATLAB, Jones & Bartlett Learning, págs. 11-18, ISBN 978-0-76377376-2
  2. ^ Ueberhuber, Christoph W. (1997), Computación numérica 1: métodos, software y análisis, Springer, págs. 139-146, ISBN 978-3-54062058-7
  3. ^ abcdefghij Forrester, Dick (2018). Métodos numéricos Math/Comp241 (notas de clase) . Universidad Dickinson .
  4. ^ Aksoy, Pelin; DeNardis, Laura (2007), Tecnología de la información en teoría, Cengage Learning, pág. 134, ISBN 978-1-42390140-2
  5. ^ Ralston, Antonio; Rabinowitz, Philip (2012), Un primer curso de análisis numérico, Dover Books on Mathematics (2ª ed.), Courier Dover Publications, págs. 2–4, ISBN 978-0-48614029-2
  6. ^ Chapman, Stephen (2012), Programación MATLAB con aplicaciones para ingenieros, Cengage Learning, p. 454, ISBN 978-1-28540279-6
  7. ^ ab Chapra, Steven (2012). Métodos numéricos aplicados con MATLAB para ingenieros y científicos (3ª ed.). McGraw-Hill . ISBN 9780073401102.
  8. ^ Laplante, Philip A. (2000). Diccionario de Informática, Ingeniería y Tecnología. Prensa CRC . pag. 420.ISBN _ 978-0-84932691-2.
  9. ^ Higham, Nicolás John (2002). Precisión y estabilidad de algoritmos numéricos (2 ed.). Sociedad de Matemática Industrial y Aplicada (SIAM). págs. 43–44. ISBN 978-0-89871521-7.
  10. ^ Volkov, EA (1990). Métodos numéricos. Taylor y Francisco . pag. 24.ISBN _ 978-1-56032011-1.
  11. ^ Birán, Adrián B.; Breiner, Moshe (2010). "5". Lo que todo ingeniero debe saber sobre MATLAB y Simulink . Boca Ratón , Florida : CRC Press . págs. 193-194. ISBN 978-1-4398-1023-1.
  12. ^ ab Collins, Charles (2005). "Condición y Estabilidad" (PDF) . Departamento de Matemáticas de la Universidad de Tennessee . Consultado el 28 de octubre de 2018 .

Otras lecturas

enlaces externos