UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas. Matemáticas. Manuel Fernández García-Hierro Badajoz, Febrero 2008



Documentos relacionados
Aritmética finita y análisis de error

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Cursada Primer Semestre 2015 Guía de Trabajos Prácticos Nro. 2

Representación en Punto Flotante

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico

by Tim Tran:

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Tema 2. La Información y su representación

TEMA 2: Representación de la Información en las computadoras

Organización del Computador. Prof. Angela Di Serio

SISTEMAS DE NUMERACIÓN. Sistema decimal

Sistemas Numéricos Cambios de Base Errores

❷ Aritmética Binaria Entera

Notas de Teórico. Sistemas de Numeración

TEMA 1 Representación de la información

NÚMEROS NATURALES Y NÚMEROS ENTEROS

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Aritmética binaria

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid


Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

SISTEMAS NUMERICOS Y ERRORES

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

Informática Bioingeniería

Estructuras algebraicas

Módulo 9 Sistema matemático y operaciones binarias

LÍMITES Y CONTINUIDAD DE FUNCIONES

Sistemas de numeración

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN)

Representación de la Información

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

Sistemas de Numeración

Representación de números en binario

Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS

Sistemas de Numeración Operaciones - Códigos

Tema 3. Medidas de tendencia central Introducción. Contenido

1.1 Sistema de numeración binario

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Sistemas Numéricos. M. en C. Erika Vilches

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

ELO311 Estructuras de Computadores Digitales. Números

Cifras significativas e incertidumbre en las mediciones

Buceando en los MCUs Freescale...

1. Ecuaciones no lineales

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Lecturas previas Cuando llegue a su primera sesión de laboratorio debe haber estudiado el contenido de la lectura que aparece a continuación.

TEMA 2 REPRESENTACIÓN BINARIA

Tema 3. Espacios vectoriales

Juan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada

Naturaleza binaria. Conversión decimal a binario

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Representación de números enteros: el convenio signo y magnitud

Matemática de redes Representación binaria de datos Bits y bytes

Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal FCFA Febrero 2012

Aritmética del computador. Departamento de Arquitectura de Computadores

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

1.1. Introducción y conceptos básicos

Características de funciones que son inversas de otras

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009

Los números racionales

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

Representación de los números en la computadora

Informática. Temas 27/03/2014. Carrera: Bioingeniería Profesora: Lic. S. Vanesa Torres JTP: Ing. Thelma Zanon

Solución: exp Febrero, primera semana. Paso 1º: Cálculo del campo exponente. Según el apartado a) del primer corolario: 53.

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo Universidad Carlos III de Madrid

Tema 2 Límites de Funciones

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

Divisibilidad y números primos

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

Polinomios: Definición: Se llama polinomio en "x" de grado "n" a una expresión del tipo

Lección 1. Representación de números

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

1. Números Reales 1.1 Clasificación y propiedades

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

1.4.- D E S I G U A L D A D E S

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

Ecuaciones de primer grado con dos incógnitas

Instituto Tecnológico de Celaya

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

Clase 02: Representación de datos

AXIOMAS DE CUERPO (CAMPO) DE LOS NÚMEROS REALES

RELACIONES DE RECURRENCIA

Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

La Notación científica Abel MARTÍN. Profesor de Matemáticas del IES Valliniello (Asturias).

Polinomios y fracciones algebraicas

Función exponencial y Logaritmos

FUNCIONES CUADRÁTICAS Y RACIONALES

Informática Básica: Representación de la información

Por ejemplo convertir el número 131 en binario se realiza lo siguiente: Ahora para convertir de un binario a decimal se hace lo siguiente:

Unidad Didáctica. Códigos Binarios

TEMA 10 FUNCIONES ELEMENTALES MATEMÁTICAS I 1º Bach. 1

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

Números Reales. MathCon c

Transcripción:

UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas Matemáticas Manuel Fernández García-Hierro Badajoz, Febrero 2008

Capítulo VI Concepto de error 6.1 Introducción Uno de los temas más importantes en Análisis Numérico es el estudio de las operaciones aritméticas que se utilizan en los cálculos, muchas de las cuales son hechas usando ordenadores. Este capítulo examina la representación de números en ordenadores y los errores que implican.

6.2 Sistemas de numeración posicionales. Sistema binario Para representar números y hacer cálculos con ellos, los ordenadores usan el sistema binario de numeración, o alguna variante de él. En el sistema decimal, el número 342.105 significa 3 10 2 + 4 10 1 + 2 10 0 + 1 10 1 + 0 10 2 + 5 10 3. Es una suma de múltiplos de potencias de 10. Se usan diez dígitos: 0, 1,..., 9 y 10 es la base del sistema decimal.

En el sistema binario los números se representan como sumas de múltiplos de potencias de 2. Se usan dos dígitos: 0, 1 y 2 es la base del sistema binario. Por ejemplo el número 1101.11 en el sistema binario representa a 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 1 2 1 + 1 2 2 (1) en el sistema decimal. Cuando haya peligro de confusión, incluiremos el número en un paréntesis y especificaremos la base como un subíndice. Por

ejemplo: (1101.11) 2 = (13.75) 10 Para convertir un número en binario a decimal, se usa la fórmula 1. Ejemplo 1. (111... 1) 2 con n consecutivos 1s a la izquierda del punto binario es en el sistema decimal 2 n 1 + 2 n 2 +... 2 1 + 2 0 = 2 n 1. Los principios que rigen los algoritmos de la suma, resta, multiplicación y división en binario son los mismos que en el sistema decimal.

Conversión de decimal a binario Supóngase que x es un número entero escrito en decimal. Queremos encontrar coeficientes a 0, a 1,..., a n, todos 0 o 1 tales que a n 2 n + a n 1 2 n 1 + + a 1 2 1 + a 0 2 0 = x. El entero binario será (a n a n 1 a 0 ) 2 = (x) 10. Para encontrar los coeficientes, comenzamos dividiendo x por 2, y denotamos el cociente x 1. El resto es a 0. A continuación

dividimos x 1 por 2, y denotamos al cociente x 2. El resto es a 1. Se continua el proceso...

Supóngase que x es una fracción decimal, positiva y menor que 1.0. Queremos encontrar coeficientes a 1, a 2, a 3,..., todos 0 o 1 tales que a 1 2 1 + a 2 2 2 + a 3 2 3 + = x. La fracción en binario será (.a 1 a 2 a 3... ) 2 = (x) 10. Para encontrar los coeficientes, se denota x = x 1. Se multiplica x 1 por 2 y se denota x 2 = Frac(2x 1 ), a la parte fraccional de

2x 1. La parte entera Ent(2x 1 ) es a 1. Se multiplica x 2 por 2 y se denota x 3 = Frac(2x 2 ), a la parte fraccional de 2x 2. La parte entera Ent(2x 2 ) es a 2. Y así sucesivamente. Ejemplo 2. Convertir a binario el número decimal 5.578125. Para la parte entera se sigue el procedimiento del ejemplo anterior. (5) 10 = (101) 2. Para la parte fraccional x 1 = x = 0.578125, se usa el algoritmo

siguiente: 2x 1 = 1.15625 x 2 = 0.15625 a 1 = 1 2x 2 = 0.3125 x 3 = 0.3125 a 2 = 0 2x 3 = 0.625 x 4 = 0.625 a 3 = 0 2x 4 = 1.25 x 5 = 0.25 a 4 = 1 2x 5 = 0.50 x 6 = 0.5 a 5 = 0 2x 6 = 1 x 7 = 0 a 6 = 1 Combinando ambos resultados se obtiene (5.578125) 10 = (101.100101) 2. Ejemplo 3. Convertir la fracción decimal 0.1 a binario.

Usando el procedimiento anterior se obtiene (0.1) 10 = (0.0 0011 0011... ) 2 una fracción binaria periódica mixta. Si se guarda esta fracción decimal exacta en un ordenador que trabaja en binario, se produce un error.

6.3 Números máquina. Redondeo simétrico y redondeo por truncamiento Los problemas que aborda el Cálculo Numérico se resuelven mediante la realización de cadenas de operaciones aritméticas en un ordenador. Deberán, por tanto, almacenarse en la máquina los datos de partida (que se introducen mediante un dispositivo de entrada: un teclado, un fichero de datos,... ), así como los resultados intermedios. Finalmente, deberán comunicarse los resultados finales (mediante un dispositivo de salida: pantalla, escritura de un fichero,... ). En esta sección nos ocupamos de la forma en que se almacenan los números en

la máquina. La capacidad de almacenamiento de una máquina es finita, lo que implica que ninguna máquina es capaz de guardar ni siquiera un solo número irracional; por ejemplo las infinitas cifras de π. Notación decimal en punto flotante El número 625.231, admite las siguientes representaciones en punto flotante 625.231 + 0, 62.5231 + 1, 6.25231 + 2, 6252.31 1,...

que deben entenderse como 625.231 10 0, 62.5231 10 1, 6.25231 10 2, 6252.31 10 1,... De entre todas las representaciones elegimos la normalizada: 6.25231 10 2 que está caracterizada por ser la fracción un número entre 1 y 10. Es decir la notación decimal en punto flotante normalizada

de un número es: que corresponde al número ±m ± e con 1 m < 10 y e N ±m 10 ±e. El número m se denomina mantisa y e el exponente. La representación de un número en punto flotante decimal es la dada en la fórmula anterior, pero con limitaciones sobre el número de dígitos de la mantisa y sobre el tamaño del exponente. Por ejemplo, podemos suponer que el número

máximo de dígitos de la mantisa es 10 y que 99 e +99. Se dice que un ordenador con tal representación tiene una aritmética de punto flotante de 10 dígitos decimales. Como una consecuencia a la limitación anterior, ningún número con más de 10 dígitos en su mantisa puede ser almacenado de manera exacta. Un número real no puede ser almacenado de forma exacta debido a: a) Su exponente, una vez normalizado, está fuera del rango admitido. Es decir el número es demasiado grande o pequeño. En el primer caso se produce un desbordamiento por exceso y

la máquina representa el número como ±. En el segundo caso se produce un desbordamiento por defecto y la máquina representa al número por 0. b) Su mantisa tiene más de 10 cifras, (el número tiene más cifras que las que puede almacenar). En este caso se aproxima por un número exacto cercano. Este proceso se llama redondeo. El redondeo se lleva a cabo de la siguiente manera: Sea x = ±a 0.a 1 a 2 10 e con e dentro del rango admisible. Sean x i y x d los números exactos más próximos por la izquierda

y por la derecha respectivamente, esto es, En otro caso, si x > 0 Si x < 0,... x = x i = x d si x es un número exacto. x i = a 0.a 1 a 2 a 9 10 e, x d = (a 0.a 1 a 2 a 9 + 10 9 ) 10 e. Definimos dos tipos de redondeo: La técnica más sencilla consiste en truncar x a 10 dígitos, ignorando el resto. Es decir r(x) = x i si x > 0 y r(x) = x d si x < 0.

La segunda técnica consiste en redondear x al más próximo entre x i y x d ; en el caso en que estén a igual distancia se elige x d. El redondeo al más próximo, que llamaremos simplemente redondeo, es: r(x) = { xi si x i x < x i+x d 2 x d si x i+x d 2 x x d. Supongamos que x > 0 tiene exponente e = 0. Puesto que x i + x d 2 = a 0.a 1 a 2 a 9 + 10 9 /2

Si a 10 5, entonces r(x) = x i = 1.a 1 a 2 a 9 y si a 10 5, entonces r(x) = x d = 1.a 1 a 2 a 9 + 10 9. Consideraciones análogas sirven para el caso en que x < 0. Notación binaria en punto flotante Análogamente a lo anterior se puede utilizar la notación binaria en punto flotante: Un número binario representado en punto flotante normalizado tiene una expresión de la forma: s S e m donde s es el signo del número (0 para los positivos, 1 para los negativos), S es el signo del exponente, el exponente e es

un número natural en base 2 y m se denomina mantisa: es un número en base 2 verificando 1 m < (10) 2. El número así representado es ( 1) s m 2 ( 1)S e d donde e d es la conversión decimal del número binario e (es decir, el número de lugares que hay que correr el punto ). Ejemplo 4. 1 0 10 1.01 es el número 1.01 2 2 = ( 101) 2 = ( 5) 10

0 1 1 1.1 es el número 1.1 2 1 = (0.11) 2 = 2 1 + 2 2 = (0.75) 10 Cada número se almacena en la máquina en lo que se denomina una palabra. La mayoría de los ordenadores actuales tienen una longitud de palabra de 32 posiciones de memoria o bits, que es la abreviatura de binary digits. Estos 32 bits se distribuyen de la siguiente forma: 1 se usa para el signo del número, 8 para el exponente con signo y 23 para la mantisa. El hecho de que la mantisa m verifique 1 m < (10) 2 hace que la primera cifra de m sea un 1. Este 1 común a todos los números, no se guarda, (se sobreentiende) y, por tanto, los 23

bits que se destinan a la mantisa sirven para almacenar las 24 primeras cifras del número. Desde luego utilizando palabras de 32 bits, tan solo puede ser representada una cantidad finita de números distintos: del orden de 2 32. Estos números, representables en el ordenador de forma exacta, se llaman números máquina. Es fácil encontrar números que no son números máquinas: por ejemplo 1.0 2 128 ((128) 10 = (10000000) 2 ) que no cabe en la parte dedicada al exponente con signo y 1.1 1 que no cabe en el espacio dedicado a la mantisa. El primero es un ejemplo en el que se sobrepasa la capacidad del ordenador

(desbordamiento) y el segundo muestra que hay números que no se pueden usar en forma exacta y habrá que aproximarlos (redondeo). Si nos preguntamos por la representación del 0 la primera respuesta es: una palabra en la que los 32 bits tengan el valor 0. Pero según el convenio de que se sobreentiende que el primer número de la mantisa es un 1, hace que la palabra anterior represente al número binario 1. De hecho, el 0 no es número máquina, si se utiliza esta representación. Este problema, junto con el de la doble representación de los números con exponente +0 y 0 se resuelve mediante el

formato estándar de representación (IEEE Storage Format: Institute of Electrical and Electronic Enginners Storage Format). Para almacenar la información correspondiente al exponente e, se almacena en los 8 bits destinados al exponente el número E = e + 127. Por tanto Signo del número E = e + 127 Mantisa 1 bit 8 bits 23 bits

0 e + 127 = E 255 = 2 8 1 = (1. 8.. 1) 2. Así que los exponentes de los números están en el rango 127 e d = E d 127 255 127 = 128. Los valores extremos 0 y 255 se usan para números especiales. Si s es el signo del número almacenado, m son los 23 números de la mantisa y E d es la conversión decimal del número binario E guardado en los 8 bits dedicados al exponente,

(cuando éste toma valores entre 1 y 254 ambos inclusive), el número anteriormente representado corresponde a ( 1) s 1.m 2 E d 127 A este tipo de números se les denomina números normales. Ejemplo 5. El número binario 101.11 = 1.0111 2 2 se ± 2 + 127 Mantisa representa de la siguiente forma 0 10000001 011100000000000000 A la inversa, el número almacenado como 1 01111011 10100000000000000000000

es el número 1.01 2 123 127 = 1.101 2 4 = ( 0.0001101) 2. Cuando el exponente toma el valor 0 el convenio es ligeramente distinto: el valor representado es ( 1) s 0.m 2 126. De este modo se puede trabajar con números máquina más pequeños, en valor absoluto, que los que se obtendrían con el convenio habitual. Los números máquinas así representados se denominan subnormales. Los números con exponente 255 representan las excepciones:

± y NaN (Not a number). Los valores ± se producen a causa de un desbordamiento por exceso, mientras que el valor NaN surge al realizar las clásicas indeterminaciones ( 0 0,,... ) La tabla siguiente contiene la representación y valor decimal de algunos números interesantes

Número Representación Valor decimal +0 0 00000000 0... 0 0.0 0 1 00000000 0... 0 0.0 Máx n o nor 0 11111110 1... 1 3.40282347 10 38 Mín n o nor 0 00000001 0... 0 1.17549435 10 38 Máx n o sub 0 00000000 1... 1 1.17549435 10 38 Mín n o sub 0 00000000 0... 01 1.40129846 10 45 + 0 11111111 0... 0 infinito 1 11111111 0... 0 infinito Desbordamiento y redondeo Ya hemos visto la forma estándar de almacenar números máquina y hemos insistido en que éstos constituyen sólo una cantidad finita. Un número real no es un número máquina debido a:

a) Su exponente, una vez normalizado, está fuera del rango admitido. Es decir el número es demasiado grande o pequeño. En el primer caso se produce un desbordamiento por exceso y la máquina representa el número como ±. En el segundo caso se produce un desbordamiento por defecto y la máquina representa al número por 0. b) Su mantisa tiene más de 23 cifras, (el número tiene más cifras que las que puede almacenar). En este caso se aproxima por un número máquina cercano. Este proceso se llama redondeo. El redondeo se lleva a cabo de la siguiente manera:

Sea x = ±1.a 1 a 2 a 23 a 24 a 25 2 e d con e d dentro del rango admisible. Sean x i y x d los números máquinas más próximos por la izquierda y por la derecha respectivamente, esto es, x = x i = x d si x es un número máquina. En otro caso, si x > 0 Si x < 0,... x i = 1.a 1 a 2 a 23 2 e d, x d = (1.a 1 a 2 a 23 + 2 23 ) 2 e d.

Definimos dos tipos de redondeo: La técnica más sencilla consiste en truncar x a 23 dígitos, ignorando el resto. Es decir r(x) = x i si x > 0 y r(x) = x d si x < 0. La segunda técnica consiste en redondear x al más próximo entre x i y x d ; en el caso en que estén a igual distancia se elige el que tiene a 23 = 0. Supongamos que x > 0 tiene exponente e d = 0. Puesto que x i + x d = 1.a 1 a 2 a 23 + 2 24 2 = 1.a 1 a 2 a 23 100. Si a 24 = 0, entonces r(x) = x i = 1.a 1 a 2 a 23 y si a 24 = 1,

entonces r(x) = x d = 1.a 1 a 2 a 23 + 2 23. En el caso en que estén a igual distancia: a 24 = 1, a 25 = a 26 = = 0, se elige de entre x i y x d el que tiene a 23 = 0. Consideraciones análogas sirven para el caso en que x < 0. Usaremos principalmente el redondeo al más próximo y lo llamaremos simplemente redondeo.( Es la opción por defecto en los ordenadores) Qué error se comete cuando en lugar de trabajar con un número real se trabaja con su redondeo?

Se obtiene la siguiente cota del error de redondeo absoluto: x r(x) x d x i 2 2 23 2 e d 2 = 2 24 2 e d Mientras que la cota del error de redondeo relativo es (teniendo en cuenta que x 2 e d): x r(x) x 2 24 2 e d 2 e = 2 24. d La distancia entre dos números máquina es 2 23 2 e d. Para

dos números máquina con e d = 0, su distancia es 2 23, que se llama precisión o epsilon de la máquina. La cota del error de redondeo relativo, 2 24, es exactamente la mitad de la precisión de la máquina. Por ejemplo, la distancia entre 1 y el siguiente número máquina 1.0. 22.. 01 es el epsilon de la máquina. Puesto que r(x) = = ( ) x + r(x) x x x ( 1 + r(x) x ) x x

se verifica r(x) = (1 + ɛ)x ɛ 2 24 = precisión máquina 2 También podemos definir truncamiento y redondeo para números representados en decimal. 6.4 Error absoluto y relativo Una gran parte del Análisis Numérico consiste en desarrollar una sucesión de cálculos numéricos para resolver un problema. Una parte de este proceso consiste en el análisis de los errores

que aparecen en este proceso, bien debidos a los errores de redondeo en las operaciones aritméticas, bien debidos a otras causas. En esta sección se establecen las definiciones de error absoluto y relativo, algunas de sus causas y algunos ejemplos. El error (absoluto) de una cantidad calculada se define como Error = valor verdadero valor aproximado y el error relativo

ErrorRel = Error valor verdadero Si x T es el valor verdadero y x A el aproximado, entonces Error(x A ) = x T x A ErrorRel(x A ) = x T x A x T.

Por ejemplo, x T = π = 3.14159265..., x A = 22 7 = 3.1428571..., ( ) 22 Error = π 22. = 0.00126 7 7 ( ) 22 ErrorRel = π 22 7. = 0.000402 7 π Un concepto relacionado con el de error relativo es el de dígitos significativos. Supongamos que x T está representado

en decimal, x T = a 0.a 1 a 2 10 e, a 0 0. Sea m = 0, 1, 2,.... Se dice que x A tiene m dígitos significativos de precisión respecto de x T, si 10 m e x T x A 5. Naturalmente, x A también tiene dígitos significativos. 0, 1, 2,..., m 1

Ejemplo 6. a) x A = 0.222 tiene tres dígitos significativos de precisión respecto de x T = 0.22.... En efecto,. Luego e = 1. Además x T = 2.2 10 1 x T x A = 0.0002..., 10 4 x T x A = 2.2 5. Luego m e = m + 1 = 4 y m = 3. b) x A = 0.02138 tiene dos dígitos significativos de precisión respecto de x T = 0.02144. En efecto, x T = 2.144 10 2.

Luego e = 2. Además x T x A = 0.00006, 10 4 x T x A = 0.6 5. Luego m e = m + 2 = 4 y m = 2. Si x T x A x T 5 10 m 1, entonces x A tiene m dígitos significativos de precisión con respecto a x T. En efecto, sea x T = a 0.a 1 a 2 10 e, a 0 0.

Entonces Por tanto, x T 10 e+1. 10 m e x T x A 10 m e x T x A x T x T 10 m e 5 10 m 1 10 e+1 5. 6.5 Causas del error Los errores que aparecen al resolver un problema de tipo científico-matemático que implica procedimientos de cálculo son de debidos a diferentes causas. 1. En el proceso de construcción de modelos matemáticos

para representar fenómenos de naturaleza física, química, económica,..., se produce un proceso de simplificación que puede conducir a errores. Por ejemplo el modelo matemático Malthusiano para el crecimiento de una población es N(t) = N(0)e at donde N(t) es el número de individuos de la población en el instante de tiempo t. Para intervalos de tiempo cortos con una población con recursos ilimitados, el modelo matemático es bastante preciso, pero en otras circunstancias, los errores pueden ser muy grandes. Este tipo de errores no se estudia en Análisis Numérico.

2. Errores debidos a fallos en el cálculo aritmético y sobre todo hoy en día, errores debidos a fallos de programación de algoritmos de cálculo. 3. Errores debidos a los datos experimentales. Por ejemplo, la velocidad de la luz en el vacío es c = (2.997925 + ɛ) 10 10 cm/s, ɛ 0.000003 El Análisis Numérico no puede suprimir los errores en los datos, pero puede analizar cómo se propagan a lo largo de los cálculos y proponer la forma de cálculo para minimizar su propagación. 4. Errores de truncamiento y redondeo.

5. Errores por aproximación ( o discretización) matemática. Para ilustrar este tipo de error, considérese el cálculo de la integral I = 1 0 e x2 dx. No hay función primitiva expresable mediante funciones elementales del integrando y la integral no puede ser calculada expĺıcitamente usando la regla de Barrow. En lugar de ello, aproximamos la integral por una cantidad que sí puede ser calculada. Usamos el polinomio de Taylor que aproxima a la

función: Entonces I. = e x2 1 0. = 1 + x 2 + x4 2! + x6 3!. ) (1 + x 2 + x4 2! + x6 3! dx. Errores frecuentes A continuación se describen tipos de errores que aparecen con frecuencia en la práctica. 1. Error por pérdida de dígitos significativos. También llamado error por cancelación. Aparece cuando

restamos dos cantidades muy próximas. El siguiente ejemplo da las claves para entender este tipo de error. Evaluemos f(x) = x ( x + 1 x ) para una sucesión creciente de valores de x. Usamos una calculadora con una aritmética de punto flotante de seis dígitos decimales, que usa redondeo. Suponemos que los valores exactos son los obtenidos por una calculadora con una aritmética de punto flotante de diez dígitos decimales. Se presentan los cálculos en la tabla siguiente:

x f(x) aproximado f(x) verdadero-exacto 1 4.14210 10 1 4.14214 10 1 10 1.54340 1.54347 100 4.99000 4.98756 1000 1.58000 10 1 1.58074 10 1 10000 5.00000 10 1 4.99988 10 1 100000 1.00000 10 2 1.58114 10 2 Para comprender qué está sucediendo, miremos las etapas de cálculo cuando x = 100. 100 = 10.0000 101 = 10.04987562. = 10.0499, que tiene 6 cifras significativas de aproximación respecto del

valor verdadero. A continuación calculamos 101 100 = 0.049875621. = 0.049900. Veamos cuántas cifras significativas tiene: Desde luego e = 2 10 5 (0.049900 0.049875621) = 10 5 0.000024379 5. Luego 5 = m + 2, m = 3. De modo que se han perdido 3 dígitos significativos.

En este caso particular hay un modo sencillo de evitar la pérdida de dígitos significativos: f(x) = x ( x + 1 x ) ( x + 1 + x ) x + 1 + x = x x + 1 + x 2. Ruido en la evaluación de una función Si la función f(x) es continua en el intervalo [a, b], entonces su gráfica es una curva continua en el plano. Evaluemos la función en puntos del intervalo [a, b] con un ordenador que usa

aritmética de punto flotante con redondeo o truncamiento. Las operaciones aritméticas producen errores en la evaluación de f(x). Si se mira detenidamente el grafo de la función con los valores aproximados de f(x), no parece una curva continua, sino más bien una curva borrosa a causa de los errores en el proceso de evaluación. Cuando un ordenador calcula la gráfica de una función, debe tenerse en cuenta que es una banda formada por puntos aleatorios, con un ancho de banda suficientemente pequeño.. En la mayoría de las situaciones, las consecuencias son inapreciables, pero hay situaciones donde son importantes. Por ejemplo, un programa para calcular la raíces de f(x) puede

considerar que tiene un gran número de raíces sobre la base de muchos cambios de signo, tal como se muestra en la figura siguiente. Propagación del error Si se hace un cálculo con números que contienen errores, entonces el resultado también

estará sometido a error. Primero estudiaremos el efecto producido al usar números aproximados en operaciones aritméticas y posteriormente en la evaluación de funciones. Queremos acotar (x T + y T ) (x A + y A ), (x T y T ) (x A y A ) (x T y T ) (x A y A ), x T y T x A y A. Cuando se usa aritmética de punto flotante en un ordenador, el cálculo de x A + y A implica un error adiccional de redondeo

o truncamiento. Lo que queremos acotar es x T + y T r(x A + y A ). Propagación del error en la evaluación de funciones Sea f(x) una función. Lo que se desea es acotar f(x T ) f(x A ). Usando el Teorema del Valor Medio f(x T ) f(x A ) = f (c)(x T x A ). = f (x A )(x T x A )

Puesto que x A es próximo a x T, tenemos f(x T ) f(x A ). = f (x T )(x T x A ). = f (x A )(x T x A ) En la mayoría de los casos es más conveniente considerar el error relativo. Rel(f(x A )). = f (x T ) f(x T ) (x T x A ) = f (x T ) f(x T ) x T Rel (x A )

En Química, se estudia la ley de los gases ideales donde: P V = nrt P indica la presión del gas, V indica el volumen del gas. n es el número de mol-gramos del gas, R la constante de los gases y T la temperatura del gas. En el sistema de medida MKS R = 8.3143 + ɛ, ɛ 0.0012 Para ver el efecto que produce la incertidumbre de R,

calculemos T suponiendo P = V = n = 1. Entonces T = 1 R. Defínase la función f(x) = 1 x y evalúese en x = R. Siendo x T = R y x A = 8.3143 se tiene x T x A 0.0012.

E = f(x T ) f(x A ) =. = f (x A ) x T x A ( ) 1 (0.0012) x 2 A. = 1.74 10 5. 1 R 1 8.3143

Una cota del error relativo es: E f(x T ) = f(x T ) f(x A ) f(x T ) = f(x T ) f(x A ) x T f(x T ) f(x A ) ( x A + x T x A ) 1.74 10 5 8.3155 =. 0.000144

Referencias Kendall Atkinson, Elementary Numerical Analysis, Second Edition, Jhon Wiley & Sons, Inc. New York, 1993 J.A. Infante del Río, J.M. Rey Cabezas, Métodos Numéricos: Teoría, Problemas y Prácticas con MATLAB, Edit. Pirámide, Madrid, 1999