UNIVERSIDAD DE PAMPLONA

15
UNIVERSIDAD DE PAMPLONA Facultad de Ciencias Básicas Departamento de Matemáticas Métodos Numéricos Unidad 1: Errores y Aritmética Finita Profesor: Wilson Alberto Contreras Espinosa 1. Errores y Aritmética Finita 1.1. Introducción La ciencia y la tecnología describen los fenómenos reales mediante modelos matemáticos. El estudio de estos modelos permite un conocimiento más profundo del fenómeno, así como de su evolución futura. La matemática aplicada es la rama de las matemáticas que se dedica a buscar y aplicar las herramientas más adecuadas a los problemas basados en estos modelos. Desafortunadamente, no siempre es posible aplicar métodos analíticos clásicos por diferentes razones: No se adecúan al modelo concreto. Su aplicación resulta excesivamente compleja. La solución formal es tan complicada que hace imposible cualquier interpretación pos- terior. Simplemente no existen métodos analíticos capaces de proporcionar soluciones al pro- blema. En estos casos son útiles las técnicas numéricas, que mediante una labor de cálculo más o menos intensa, conducen a soluciones aproximadas que son siempre numérica. El importante esfuerzo de cálculo que implica la mayoría de estos métodos hace que su uso esté íntimamente ligado al empleo de computadores. De hecho, sin el desarrollo que se ha producido en el campo

Transcript of UNIVERSIDAD DE PAMPLONA

UNIVERSIDAD DE PAMPLONAFacultad de Ciencias BásicasDepartamento de Matemáticas

Métodos Numéricos

Unidad 1: Errores y Aritmética Finita

Profesor:

Wilson Alberto Contreras Espinosa

1. Errores y Aritmética Finita

1.1. Introducción

La ciencia y la tecnología describen los fenómenos reales mediante modelos matemáticos.El estudio de estos modelos permite un conocimiento más profundo del fenómeno, así comode su evolución futura. La matemática aplicada es la rama de las matemáticas que se dedicaa buscar y aplicar las herramientas más adecuadas a los problemas basados en estos modelos.Desafortunadamente, no siempre es posible aplicar métodos analíticos clásicos por diferentesrazones:

No se adecúan al modelo concreto.

Su aplicación resulta excesivamente compleja.

La solución formal es tan complicada que hace imposible cualquier interpretación pos-terior.

Simplemente no existen métodos analíticos capaces de proporcionar soluciones al pro-blema.

En estos casos son útiles las técnicas numéricas, que mediante una labor de cálculo más omenos intensa, conducen a soluciones aproximadas que son siempre numérica. El importanteesfuerzo de cálculo que implica la mayoría de estos métodos hace que su uso esté íntimamenteligado al empleo de computadores. De hecho, sin el desarrollo que se ha producido en el campo

de la informática resultaría difícilmente imaginable el nivel actual de utilización de las técnicasnuméricas en ámbitos cada día más diversos.

Por lo anterior podemos dar una definición, más o menos aproximada, de lo que es unMétodo Numérico:

1.2. ¿Qué es un Método Numérico?

Un método numérico es un procedimiento mediante el cual se obtiene, casi siempre demanera aproximada, la solución de ciertos problemas realizando cálculos puramente aritméti-cos y lógicos (operaciones aritméticas elementales, cálculo de funciones, consulta de una tablade valores, cálculo proposicional, etc.). Un tal procedimiento consiste de una lista finita deinstrucciones precisas que especifican una secuencia de operaciones algebraicas y lógicas (algo-ritmo), que producen o bien una aproximación de la solución del problema (solución numérica)o bien un mensaje. La eficiencia en el cálculo de dicha aproximación depende, en parte, de lafacilidad de implementación del algoritmo y de las características especiales y limitaciones delos instrumentos de cálculo (los computadores). En general, al emplear estos instrumentos decálculo se introducen errores llamados de redondeo.

La importancia de los métodos numéricos es creciente debido la existencia generalizada decomputadores relativamente baratos y de gran potencia de cálculo. Sin embargo, los métodosnuméricos adolecen de una acusada incapacidad para el análisis. Por este motivo es general-mente muy difícil entender un sistema si sólo se sabe de él lo que nuestros cálculos numéricosnos han proporcionado. Las expresiones analíticas o los resultados cualitativos tienen la enormeventaja de permitirnos entender de un vistazo lo que es relevante en un problema físico. Alcan-zar un grado equivalente de certeza o comprensión mediante procedimientos exclusivamentenuméricos sin apenas apoyos teóricos suele ser imposible o, si hay suerte, extremadamentelaborioso. Por ello, la aplicación fructífera de los métodos numéricos requiere:

Entender el problema que estamos resolviendo.

Entender el procedimiento o algoritmo numérico que se emplea, es decir, sus fundamen-tos, sus posibilidades, las circunstancias bajo las cuales podría dar malos resultados,etc.

Conocer lo que vamos a obtener. Esto es poco más que un corolario de las dos afirmacionesanteriores. Pero lo cierto es que si obtenemos un resultado completamente inesperado, lasituación es muy difícil: ¿ha fallado nuestra comprensión del problema o el procedimientonumérico?

1.3. El Error

El concepto de error es consustancial con el cálculo numérico. En todos los problemas esfundamental hacer un seguimiento de los errores cometidos a fin de poder estimar el grado de

2

aproximación de la solución que se obtiene.

Los errores asociados a todo cálculo numérico tienen su origen en dos grandes factores:

Aquellos que son inherentes a la formulación del problema.

Los que son consecuencia del método empleado para encontrar la solución del problema.

Dentro del grupo de los primeros, se incluyen aquellos en los que la definición matemáticadel problema es sólo una aproximación a la situación física real. Estos errores son normalmentedespreciables; por ejemplo, el que se comete al obviar los efectos relativistas en la solución deun problema de mecánica clásica. En aquellos casos en que estos errores no son realmentedespreciables, nuestra solución será poco precisa independientemente de la precisión empleadapara encontrar las soluciones numéricas. Otra fuente de este tipo de errores tiene su origen enla imprecisión de los datos físicos: constantes físicas y datos empíricos. En el caso de erroresen la medida de los datos empíricos y teniendo en cuenta su carácter generalmente aleatorio,su tratamiento analítico es especialmente complejo pero imprescindible para contrastar elresultado obtenido computacionalmente.

En lo que se refiere al segundo tipo de error (error computacional), tres son sus fuentesprincipales:

1. Equivocaciones en la realización de las operaciones (errores de bulto). Esta fuente de errores bien conocida por cualquiera que haya realizado cálculos manualmente o empleandouna calculadora. El empleo de computadores ha reducido enormemente la probabilidadde que este tipo de errores se produzcan. Sin embargo, no es despreciable la probabilidadde que el programador cometa uno de estos errores (calculando correctamente el resultadoerróneo). Más aún, la presencia de bugs no detectados en el compilador o en el softwaredel sistema no es inusual. Cuando no resulta posible verificar que la solución calculadaes razonablemente correcta, la probabilidad de que se haya cometido un error de bultono puede ser ignorada. Sin embargo, no es esta la fuente de error que más nos va apreocupar.

2. El error causado por resolver el problema no como se ha formulado, sino mediante algúntipo de aproximación. Generalmente está causado por la sustitución de un infinito (su-matorio o integración) o un infinitesimal (diferenciación) por una aproximación finita.Algunos ejemplos son:

El cálculo de una función elemental (por ejemplo, Sen x) empleando sólo n términosde los infinitos que constituyen la expansión en serie de Taylor.

Aproximación de la integral de una función por una suma finita de los valores dela función, como la empleada en la regla del trapezoide.

Resolución de una ecuación diferencial reemplazando las derivadas por una aproxi-mación (diferencias finitas).

3

Solución de la ecuación f(x) = 0 por el método de Newton-Raphson: proceso itera-tivo que, en general, converge sólo cuando el número de iteraciones tiende a infinito.

Denominaremos a este error, en todas sus formas, como error por truncamiento, yaque resulta de truncar un proceso infinito para obtener un proceso finito. Obviamente,estamos interesados en estimar, o al menos acotar, este error en cualquier procedimientonumérico.

3. Por último, la otra fuente de error de importancia es aquella que tiene su origen enel hecho de que los cálculos aritméticos no pueden realizarse con precisión ilimitada.Muchos números requieren infinitos decimales para ser representados correctamente, sinembargo, para operar con ellos es necesario redondearlos. Incluso en el caso en queun número pueda representarse exactamente, algunas operaciones aritméticas puedendar lugar a la aparición de errores (las divisiones pueden producir números que debenser redondeados y las multiplicaciones dar lugar a más dígitos de los que se puedenalmacenar). El error que se introduce al redondear un número se denomina error deredondeo.

Antes de abordar la definición de los tipos de errores, es conveniente identificar algunosconceptos bases para estas definiciones.

1.4. Precisión y Exactitud

Todo algoritmo que resuelve un problema numéricamente produce en cada paso un errornumérico. Un algoritmo se dice inestable cuando los errores que se cometen en cada etapa delmismo van aumentado de forma progresiva, de manera que el resultado final pierde gran partede su exactitud. Un algoritmo es estable cuando no es inestable (controlado).

Además, la precisión se refiere al número de cifras significativas que representan una can-tidad dependiendo del error de la medida o de la máquina que estemos utilizando.

En resumen, podemos decir que la exactitud se refiere a qué tan cercano está el valorcalculado o medido del valor verdadero. La precisión se refiere a qué tan cercanos se encuentran,unos de otros, diversos valores calculados o medidos. En la Figura 1, se puede observar unejemplo de estos dos conceptos.

1.5. Estabilidad

El fenómeno del redondeo y su influencia en el funcionamiento de un método numérico seengloba en un problema más general: estabilidad frente a perturbaciones. Podemos considerarlas perturbaciones provenientes de los errores operacionales de la máquina en las operacionesque ejecuta el computador. En problemas reales debemos contar con que los datos suelen pro-venir de mediciones externas que aportan sus propios errores, generalmente de varios grados

4

a) b)

c) d)

Figura 1: Ilustración de los conceptos de precisión y exactitud, a)impreciso e inexacto; b) impreciso y exacto;c) preciso e inexacto; d) preciso y exacto.

mayor de orden de magnitud. De cualquier manera, deberemos plantearnos cómo es el pro-blema original antes de estudiar la sensibilidad de los métodos utilizables para su resoluciónaproximada.

1.6. Dígitos significativos o cifras significativas

Son aquellos números diferentes de cero, en una cifra, leyendo de izquierda a derecha;empiezan con el primer dígito diferente de cero y terminan con el tamaño que permitan lasceldas que guardan la mantisa.

Para las cifras o dígitos significativos se tienen en cuenta los siguientes aspectos:

Son significativos todos los dígitos distintos de cero. Por ejemplo, 8723 tiene cuatro cifras

Los ceros situados entre dos cifras significativas son significativos. 105 tiene tres cifrassignificativas

Los ceros a la izquierda de la primera cifra significativa no lo son. 0,005 tiene una cifrasignificativa

Para números mayores que 1, los ceros a la derecha de la coma son significativos. 8,00tiene tres cifras significativas

Para números sin coma decimal, los ceros posteriores a la última cifra distinta de ceropueden o no considerarse significativos. Así, para el número 70 podríamos consideraruna o dos cifras significativas. Esta ambigüedad se evita utilizando la notación científica.7× 102 tiene una cifra significativa. 7,0× 102 tiene dos cifra significativas

El concepto de cifras significativas se ha introducido para poder manejar formalmente laconfiabilidad de un valor numérico. Un ejemplo puede ser el velocímetro de un carro, que nospermite la lectura de velocidades con dos cifras significativas.

5

Sin embargo, sin conocer el contexto puede ser imposible conocer las cifras significativas deun número. Por ejemplo, los números 0.000857, 0.00857 y 0.0857 tienen 3 cifras significativas, yaque los ceros solamente se usan para ubicar el punto decimal. Pero cuantas cifras significativastiene el número 857000? Puede tener 3, 4 5 o 6 cifras significativas, dependiente de cuantos delos ceros se conocen con exactitud. Para resolver este tipo de ambigüedad, se usa la notacióncientífica de los números reales:

0.000857 = 8.57 ×104 ⇒ 3 cifras significativas.

0.00857 = 8.57 ×104 ⇒ 3 cifras significativas.

0:0857 = 8.57 ×104 ⇒ 3 cifras significativas.

Y para el número 857000 tenemos:

Si lo escribimos como 8.57 ×105 indicamos que tiene 3 cifras significativas.

Si lo escribimos como 8.570 ×105 indicamos que tiene 4 cifras significativas.

Si lo escribimos como 8.5700 ×105 indicamos que tiene 5 cifras significativas.

El concepto de cifras significativas es importante ya que permite definir criterios para labondad de una aproximación: por ejemplo la aproximación de un valor numérico es aceptable,si coincide con el valor exacto en 4 cifras significativas.

En todo cálculo numérico debemos esperar un error: los métodos que utilizamos en nues-tros cálculos son generalmente aproximados; los datos de partida proceden de medidas deprecisión limitada; las operaciones a que sometemos estos datos producen valores intermedioscuyo número de cifras debe reducirse; los valores numéricos que tratamos de calcular son gene-ralmente reales y por tanto raramente expresable en términos finitos; etc. No debe por tantopreocuparnos el que en nuestros cálculos acarreemos un cierto error sino el controlar en todomomento ese error y mantenerlo por debajo de un extremo prefijado.

1.7. Aritmética Finita

Siendo los computadores la herramienta básica en los métodos numéricos es convenienteindicar cómo son los números del computador y cómo se simula su aritmética.

La mayoría de los computadores usan sólo un subconjunto finito, relativamente pequeño,de los números reales para representar a ”todos” los números reales; este conjunto, que sólocontiene números racionales y que describiremos más adelante, es llamado conjunto de nú-meros de punto flotante o conjunto de números de máquina en punto flotante osimplemente conjunto de punto flotante.

Cada número del computador se representa mediante un número finito de dígitos (aritmé-tica finita), según se indica a continuación:

6

Un número del computador o de punto flotante, distinto de cero, se describe matemática-mente en la forma

σ × (.a1a2 · · · at)β × βe

Ahora, definiendo cada uno de los símbolo utilizados, damos su significado:

σ, la letra griega sigma representa el signo del número, por lo tanto σ = +1 o σ = −1.En base binaria (0 positivo, 1 negativo).

β, la letra griega beta es un entero que denota la base del sistema numérico en la caulestá escrito el número. Por lo general β = 2 (Sistema Binario), β = 8 (Sistema Octal),β = 10 (Sistema Decimal) o β = 16 (Sistema Hexadecimal).

Los ai, i = 1, 2, · · · , t, es un entero con 0 ≤ ai ≤ β − 1. Los enteros 0, 1, · · · , β − 1 sonllamados dígitos en la base β, así por ejemplo los dígitos usados en la base binaria serán0 y 1, o los de la base octal serán 0, 1, 2, 3, 4, 5, 6 y 7. Nosotros asumiremos en todo loque sigue que a1 6= 0 , en cuyo caso el numero se dice que esta en forma normalizada.

(.a1a2 · · · at)β denota la suma a1β1 + a2

β2 + · · · + atβt y es llamada la mantisa o fracción

del número de punto flotante.

El entero t indica el numero de dígitos en la base β que se usan para representar el númerode punto flotante, y es llamado precision. Por lo general t = 6 o t = 7 con β = 10 (precisionsencilla), t = 14 o t = 15 con β = 10 (doble precision). En algunos computadores se puedenhacer representaciones en precision sencilla, doble precision e incluso en precision mayor.

e es un entero llamado el exponente, y es tal que L ≤ e ≤ U para ciertos enteros L y U ;es común encontrar L = −U o L = −U ± 1. Un caso frecuente es L = −63 y U = 64, para untotal de 128 posibles exponentes.

El numero cero requiere una representación especial.

Cualesquiera sean los parámetros elegidos, los conjuntos de punto flotante correspondientescomparten las mismas características cualitativas, entre ellas la carencia de algunas de laspropiedades algebraicas de que gozan los numeros reales.

+ 6.02 10-23

+ 1.11110 2-1101

X X

signo exponente

mantisa base

signo exponente

mantisa base

Base Decimal Base Binaria

Figura 2: Representación de un número como número de punto flotante

A continuación en la siguiente tabla (1) se muestran algunos ejemplos de diferentes repre-sentaciones de punto flotante en algunos computadores:

Donde

7

Tabla 1: Representación de punto flotante en algunos computadoresMáquina S/D R/C β t L U

HP-11C,15C S R 10 10 99 -99IBM 3033 S C 16 6 -64 63IBM 3033 D C 16 14 -64 63Intel 8087 S R 2 24 -126 127Intel 8087 D R 2 53 -1022 1023PRIME 850 S R 2 23 -128 127PRIME 850 D C 2 47 -32.896 32.639

S/D: Simple o Doble precisión.

R/C: Aproximación por Redondeo o Truncamiento (Cortado).

β: Número de la base.

t: Dígitos en la mantisa.

L, U : Limites del exponente.

Muchos números reales x no pueden ser representados exactamente por la un numero depunto flotante, pero si pueden ser aproximados por un número representable en la máquina.Dado un número real arbitrario x, podemos denotar al número de punto flotante que aproximaal real x en la máquina como fl(x). Existen dos formas para encontrar fl(x) para x: Redondeoo Truncamiento.

Dado un número real x, puede ser escrito en la forma,

x = σ · (.a1a2 · · · atat+1 · · · )β · βe (1.1)

como se mencionó anteriormente a1 6= 0, además se asume que L ≤ e ≤ U .

1.8. Error por Truncamiento

La representación en la máquina mediante el procedimiento de truncamiento de un númerox es dada por

fl(x) = σ · (.a1a2 · · · at)β · βe (1.2)

Un caso particular para el procedimiento de truncamiento, sería aproximar el número realπ, conocido por todos, 3,141592653..., al aproximarlo mediante truncamiento quedaría 3,1415,es decir, sin tener en cuenta el dígito que sigue después del dígito 5.

8

1.9. Error por Redondeo

La representación por redondeo de un número x está dado por

fl(x) =

σ · (.a1 · · · at)β · βe, 0 ≤ at+1 < β2

σ ·[(.a1 · · · at)β + (,0 · · · 01)β

]· βe, β

2 ≤ at+1 < β

(1.3)

donde, (,0 · · · 01)β representa a β−t, es decir, al dígito más pequeño en la base β.

Retomemos, el ejemplo anterior, π = 3,141592653..., en forma decimal normalizada ten-dremos π = (,3141592653...)× 101, entonces la aproximación por los procedimientos sería:

fl(π) =

{(,31415)× 101, T runcado

(,31416)× 101, Redondeado

Notemos que existe diferencia entre los dos procedimientos, en el caso del redondeo debemostener en cuenta la Ecuación (1.3), por lo que debemos analizar el dígito que sigue a dondevamos a aproximar, en este caso el dígito que sigue al a5 = 5, es decir, el dígito a6 = 9,(,3141592653...)× 101, como a6 = 9 > 5, entonces, a5 = 5 + 1.

Dado lo anterior, que la máquina no puede representar exactamente a todos lo númerosreales, entonces se genera un error, por tal razón, debemos estudiar los tipo de error.

1.10. Definiciones de Error

Como se mencionó anteriormente, los errores numéricos surgen del uso de aproximacionespara representar operaciones y cantidades matemáticas exactas. Tal es el caso de los errorespor truncamiento y redondeo.

V alor verdadero = V alor aproximado + error

Sea x el valor exacto de un número real y sea x su valor aproximado. Se define el errorcomo sigue.

1.10.1. Error Absoluto

El error absoluto esta definido por,

EA = |x− x| (1.4)

este error mide la diferencia entre el valor exacto de una cantidad y su valor aproximado.

9

1.10.2. Error Relativo

Debido a que el error absoluto no cuantifica el error respecto del valor exacto de una ciertacantidad x, se introduce el concepto de error relativo que se puede define como,

ERel =∣∣∣∣x− x

x

∣∣∣∣ (1.5)

Notemos que el error relativo no está definido para x = 0. La ecuación (1.5) muestra elerror relativo, que es una cantidad adimensional, que habitualmente se expresa en tanto porciento (%).

Ejemplo 1.1 La serie de MacLaurin para la función exponencial (obtenido por el desarrollode Taylor en el punto x0 = 0) es

ex = 1 + x +x2

2!+

x3

3!+ · · ·+ xn

n!

Calcule el valor de e0,5, usando inicialmente un solo término de la serie de MacLauriny agregando en cada iteración un término más hasta que el error aproximado porcentual semenor que 0.005%.

Sea yi el valor de la i-ésima iteración. Entonces tenemos:y1 = 1y2 = y1 + 0,5 = 1,5; ER = y2−y1

y2= 1,5−1

1,5 100% = 33,3 %

y3 = y2 + 0,52

2 = 1,625; ER = y3−y2

y3= 1,625−1,5

1,625 100% = 7,69%

y4 = y3 + 0,53

3! = 1,6458333; ER = y4−y3

y4= 1,27%

y5 = y4 + 0,54

4! = 1,6464375; ER = y5−y4

y5= 0,158%

y6 = y5 + 0,55

5! = 1,6486979; ER = y6−y5

y6= 0,0158% < 0,05%

Después de la sexta iteración, el error porcentual aproximado queda por debajo de la cotao tolerancia exigida.

Ejemplo 1.2 Estimar la menor cota superior para el error relativo cuando un numero realx 6= 0 es aproximado por su representante de punto flotante, fl(x), en una aritmética decimalde t−dígitos.

Sea x un número real positivo cualquiera en forma decimal normalizada.

x = (.a1a2 . . . atat+1 . . .)× 10n

donde n es algún entero.

Si fl(x) se obtiene por redondeo, tenemos dos opciones: 1) que at+1 se menor que 5, o 2)que at+1 se mayor o igual que 5.

10

1. Si 0 ≤ at+1 < 5, entoncesfl(x) = (.a1a2 . . . at)× 10n

y entonces

Er =|(.a1a2 . . . atat+1 . . .)× 10n − (.a1a2 . . . at)× 10n|

|(.a1a2 . . . atat+1 . . .)× 10n|

Er =

∣∣(.at+1at+2 . . .)× 10n−t∣∣

|(.a1a2 . . . atat+1 . . .)× 10n|

Er =|(.at+1at+2 . . .)|

|(.a1a2 . . . atat+1 . . .)| × 10−t

Er =,5,1× 10−t = 5× 10−t

lo anterior, se puede explicar de la siguiente manera, como a1 6= 0, entonces, el valormínimo en el denominador es 0,1. Ahora el numerador muestra el error absoluto estaacotado por 1, pero como at+1 es menor que 5, entonces, el máximo número que podemosencontrar en el numerador es 0,5.

Por tanto, 5× 10−t sería una cota superior.

2. Si 5 ≤ at+1 ≤ 9, entonces

fl(x) = (.a1a2 . . . at)× 10n + 1,0× 10n−t

por la segunda parte de la ecuación (1.3).

Así que

Er =

∣∣(.a1a2 . . . atat+1 . . .)× 10n − [(.a1a2 . . . at)× 10n + 1,0× 10n−t

]∣∣|(.a1a2 . . . atat+1 . . .)× 10n|

Er =

∣∣(.at+1at+2 . . .)× 10n−t − 1,0× 10n−t∣∣

|(.a1a2 . . . atat+1 . . .)× 10n|

Er =|(.at+1at+2 . . .)− 1,0||(.a1a2 . . . atat+1 . . .)| × 10−t

≤ ,5|(.a1a2 . . . atat+1 . . .)| × 10−t

ya que .at+1at+2... ≥ ,5

Er =,5,1× 10−t = 5× 10−t

ya que .a1a2...atat+1... ≥ ,10..,05 > ,100..,00

11

De 1) y 2) se tiene que si x 6= 0 un real y fl(x) se obtiene por redondeo, entonces

Er =|x− fl(x)|

|x| < 5× 10−t

y 5× 10−t es la menor cota superior para el error relativo.

Ejemplo 1.3 Encuentre el error absoluto y el error relativo de x con respecto a x, en cadauno de los siguientes casos.

1. x = (,50)× 102, x = (,51)× 102 Entonces

EA =∣∣(,5)× 102 − (,51)× 102

∣∣ =∣∣− (,01)× 102

∣∣ = (,01)× 101 = 1,0

Er =(,1)× 101

(,5)× 102=

,1(,5)× 101

=150

= (,2)× 10−1 = ,02 = 2 %

2. x = (,50)× 10−3, x = (,51)× 10−3

3. x = (,50)× 106, x = (,51)× 106

Ejercicio 1.1 Realiza los items 2) y 3) del ejemplo anterior. ¿Qué puedes decir del errorabsoluto? ¿Qué puedes decir del error relativo? ¿Qué conclusión puedes hacer?

Definicion 1.1 Se dice que el número x aproxima con sus primeros t-dígitos o cifras signifi-cativas al numero x 6= 0 , si t es el mayor entero no negativo para el cual

Er =|x− x||x| < 5× 10−t

Los t-dígitos significativos, a que se refiere esta definición, son los primeros t-dígitos en lamantisa de x cuando x se escribe en forma decimal normalizada.

De acuerdo con la definición anterior, si x = fl(x) en una aritmética de punto flotantedecimal con redondeo a t-dígitos, entonces fl(x) aproxima a x con t cifras significativas, esdecir, todos los dígitos en la mantisa de fl(x) son significativos con respecto a x.

También se define el concepto de cifras decimales exactas, como sigue:

Definicion 1.2 Se dice que el número x aproxima con sus primeras primeras k-cifrasdecimales exactas al número x, si k es el mayor entero no negativo tal que

EA = |x− x| < 5× 10−(k+1)

12

Las k cifras decimales exactas, a que se refiere esta definición, son las primeras k cifrascontadas a partir del punto decimal en x, cuando x se escribe en forma decimal.

Ejemplo 1.4 Si x = ,003451 y x = ,003348, entonces

,00005 < |x− x| = ,001,0 < ,0005 = 5× 10−4 < 5× 10−3 < 5× 10−2 < 5× 10−1

así que k = 3 es el mayor entero no negativo tal que |,003451− ,003348| ≤ 5×10−(k+1). Luego.003348 aproxima a .003451 con sus tres primeras cifras decimales exactas, que son en estecaso 0, 0 y 3.

Observe que si y = 28.003451 y y = 28.003348 , entonces

,00005 < |y − y| = ,000103 < 5× 10−4 < 5× 10−3 < 5× 10−2 < 5× 10−1

y nuevamente, y aproxima a y con sus primeras tres cifras decimales exactas, que son, porsupuesto, 0, 0 y 3.

Ahora, el error relativo de x con respecto a x es

,005 < Er =,000103,003451

= ,029... < ,05 = 5× 10−2 < 5× 10−1

así que t = 2 es el mayor entero no negativo que satisface

|,003451− ,003348||,003451| < 5× 10−t

y por tanto x aproxima a x con sus primeros 2-dígitos significativos que son 3 y 3 (Porqué?). Con cuantas cifras significativas aproxima y a y?

Ejemplo 1.5 Con cuántas cifras significativas aproxima ,333 a 13

Como∣∣13 − ,333

∣∣∣∣13

∣∣ =

∣∣∣∣∣13 − ,333

13

∣∣∣∣∣ = |1− ,999| = ,001

∣∣13 − ,333

∣∣∣∣13

∣∣ =

∣∣∣∣∣13 − ,333

13

∣∣∣∣∣ = |1− ,999| = ,001

y ,0005 < ,001 < ,005 = 5 × 10−3 < 5 × 10−2 < 5 × 10−1, entonces t = 3 es el mayor enterono negativo tal que ∣∣1

3 − ,333∣∣

∣∣13

∣∣ < 5× 10−t

Por lo tanto .333 aproxima a 13 con 3 cifras significativas. Observe que .333 es el número

en aritmética de punto flotante decimal con redondeo a tres dígitos que representa a 13 .

13

Ejemplo 1.6 ¿Dónde debe estar x para que aproxime a 1000 con 4 cifras significativas?

Según la definición (1.1), x debe ser tal que

1. ∣∣∣∣1000− x

1000

∣∣∣∣ < 5× 10−4

2. ∣∣∣∣1000− x

1000

∣∣∣∣ < 5× 10−5

La desigualdad 1) tiene como solución 999.5 <x <1000.5 y la desigualdad 2) tiene comosolución x ≤ 999.95 o x ≥ 1000.05 . Interceptando las dos soluciones se obtiene que x debeestar en (999.5,999.95]

⋃[1000.05,1000.5)

2. Ejercicios

Ejercicio 2.1 Realiza un algoritmo en MATLAB o SCILAB, para pasar cualquier númeroen base 10 a cualquier base. Aunque estos dos paquetes poseen funciones que realizan estosprocesos, realizar el algoritmo.

Ejercicio 2.2 Consulta como pasar un número de fracción decimal (por ejemplo: 0.5, 0.83,etc.) a binario. Luego utiliza MATLAB o SCILAB, y realiza el algoritmo.

Ejercicio 2.3 Compruebe que EA = |x− fl(x)| ≤ 5× 10n−(t+1)

Ejercicio 2.4 Verificar que si fl(x) se obtiene por cortado, entonces

Er =|x− fl(x)|

|x| < 10× 10−t = 10−t+1

yEA = |x− fl(x)| ≤ 10× 10n−(t+1)

Ejercicio 2.5 Consulta el tema ”Propagación de errores” en: la adición, la diferencia, el pro-ducto, el cociente y la potenciación. Dar dos problemas como ejemplo.

Ejercicio 2.6 Sean (x0, y0) y (x1, y1), con y0 6= y1, puntos dados de una cierta línea recta.Verifique que la abscisa del punto de intersección de dicha recta con el eje x, se puede calcularcon cualquiera de las dos siguientes fórmulas

14

x =x0y1 − x1y0

y1 − y0, x = x0 − (x1 − x0) y0

y1 − y0

Use los datos (x0, y0) = (1,31, 3,24), (x1, y1) = (1,93, 4,76) y aritmética decimal con redon-deo a tres dígitos para calcular dicha abscisa, utilizando las dos fórmulas. Cuál fórmula da elmejor resultado y por qué?

Ejercicio 2.7 Consultar los términos overflow y underflow, dar ejemplos

Ejercicio 2.8 Calcule ln2 a partir de la serie de MacLaurin para la función f(x) = ln(x+1).Determine el menor número de términos en dicha serie que deben tomarse para conseguir ln2con un error menor al 0.05%. H

15