Nothing Special   »   [go: up one dir, main page]

Academia.eduAcademia.edu

UNIVERSIDAD DE PAMPLONA

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. 1.1. Errores y Aritmética Finita 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 posterior. Simplemente no existen métodos analíticos capaces de proporcionar soluciones al problema. 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 de la informática resultaría difícilmente imaginable el nivel actual de utilización de las técnicas numé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 un Mé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 de manera aproximada, la solución de ciertos problemas realizando cálculos puramente aritméticos y lógicos (operaciones aritméticas elementales, cálculo de funciones, consulta de una tabla de valores, cálculo proposicional, etc.). Un tal procedimiento consiste de una lista finita de instrucciones precisas que especifican una secuencia de operaciones algebraicas y lógicas (algoritmo), 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 la facilidad de implementación del algoritmo y de las características especiales y limitaciones de los instrumentos de cálculo (los computadores). En general, al emplear estos instrumentos de cálculo se introducen errores llamados de redondeo. La importancia de los métodos numéricos es creciente debido la existencia generalizada de computadores relativamente baratos y de gran potencia de cálculo. Sin embargo, los métodos numéricos adolecen de una acusada incapacidad para el análisis. Por este motivo es generalmente muy difícil entender un sistema si sólo se sabe de él lo que nuestros cálculos numéricos nos han proporcionado. Las expresiones analíticas o los resultados cualitativos tienen la enorme ventaja de permitirnos entender de un vistazo lo que es relevante en un problema físico. Alcanzar un grado equivalente de certeza o comprensión mediante procedimientos exclusivamente numéricos sin apenas apoyos teóricos suele ser imposible o, si hay suerte, extremadamente laborioso. 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 fundamentos, 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 afirmaciones anteriores. Pero lo cierto es que si obtenemos un resultado completamente inesperado, la situación es muy difícil: ¿ha fallado nuestra comprensión del problema o el procedimiento numérico? 1.3. El Error El concepto de error es consustancial con el cálculo numérico. En todos los problemas es fundamental 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ática del problema es sólo una aproximación a la situación física real. Estos errores son normalmente despreciables; por ejemplo, el que se comete al obviar los efectos relativistas en la solución de un problema de mecánica clásica. En aquellos casos en que estos errores no son realmente despreciables, nuestra solución será poco precisa independientemente de la precisión empleada para encontrar las soluciones numéricas. Otra fuente de este tipo de errores tiene su origen en la imprecisión de los datos físicos: constantes físicas y datos empíricos. En el caso de errores en 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 el resultado obtenido computacionalmente. En lo que se refiere al segundo tipo de error (error computacional), tres son sus fuentes principales: 1. Equivocaciones en la realización de las operaciones (errores de bulto). Esta fuente de error es bien conocida por cualquiera que haya realizado cálculos manualmente o empleando una calculadora. El empleo de computadores ha reducido enormemente la probabilidad de que este tipo de errores se produzcan. Sin embargo, no es despreciable la probabilidad de que el programador cometa uno de estos errores (calculando correctamente el resultado erróneo). Más aún, la presencia de bugs no detectados en el compilador o en el software del sistema no es inusual. Cuando no resulta posible verificar que la solución calculada es razonablemente correcta, la probabilidad de que se haya cometido un error de bulto no puede ser ignorada. Sin embargo, no es esta la fuente de error que más nos va a preocupar. 2. El error causado por resolver el problema no como se ha formulado, sino mediante algún tipo de aproximación. Generalmente está causado por la sustitución de un infinito (sumatorio 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érminos de 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 de la función, como la empleada en la regla del trapezoide. Resolución de una ecuación diferencial reemplazando las derivadas por una aproximación (diferencias finitas). 3 Solución de la ecuación f (x) = 0 por el método de Newton-Raphson: proceso iterativo 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, ya que resulta de truncar un proceso infinito para obtener un proceso finito. Obviamente, estamos interesados en estimar, o al menos acotar, este error en cualquier procedimiento numérico. 3. Por último, la otra fuente de error de importancia es aquella que tiene su origen en el 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, sin embargo, para operar con ellos es necesario redondearlos. Incluso en el caso en que un número pueda representarse exactamente, algunas operaciones aritméticas pueden dar lugar a la aparición de errores (las divisiones pueden producir números que deben ser redondeados y las multiplicaciones dar lugar a más dígitos de los que se pueden almacenar). El error que se introduce al redondear un número se denomina error de redondeo. Antes de abordar la definición de los tipos de errores, es conveniente identificar algunos conceptos bases para estas definiciones. 1.4. Precisión y Exactitud Todo algoritmo que resuelve un problema numéricamente produce en cada paso un error numérico. Un algoritmo se dice inestable cuando los errores que se cometen en cada etapa del mismo van aumentado de forma progresiva, de manera que el resultado final pierde gran parte de 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 cantidad 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 valor calculado 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 un ejemplo de estos dos conceptos. 1.5. Estabilidad El fenómeno del redondeo y su influencia en el funcionamiento de un método numérico se engloba en un problema más general: estabilidad frente a perturbaciones. Podemos considerar las perturbaciones provenientes de los errores operacionales de la máquina en las operaciones que ejecuta el computador. En problemas reales debemos contar con que los datos suelen provenir 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 problema original antes de estudiar la sensibilidad de los métodos utilizables para su resolución aproximada. 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 las celdas 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 cifras significativas Los ceros a la izquierda de la primera cifra significativa no lo son. 0,005 tiene una cifra significativa Para números mayores que 1, los ceros a la derecha de la coma son significativos. 8,00 tiene tres cifras significativas Para números sin coma decimal, los ceros posteriores a la última cifra distinta de cero pueden o no considerarse significativos. Así, para el número 70 podríamos considerar una 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 la confiabilidad de un valor numérico. Un ejemplo puede ser el velocímetro de un carro, que nos permite la lectura de velocidades con dos cifras significativas. 5 Sin embargo, sin conocer el contexto puede ser imposible conocer las cifras significativas de un número. Por ejemplo, los números 0.000857, 0.00857 y 0.0857 tienen 3 cifras significativas, ya que los ceros solamente se usan para ubicar el punto decimal. Pero cuantas cifras significativas tiene el número 857000? Puede tener 3, 4 5 o 6 cifras significativas, dependiente de cuantos de los ceros se conocen con exactitud. Para resolver este tipo de ambigüedad, se usa la notación cientí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 la bondad 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 nuestros cálculos son generalmente aproximados; los datos de partida proceden de medidas de precisión limitada; las operaciones a que sometemos estos datos producen valores intermedios cuyo número de cifras debe reducirse; los valores numéricos que tratamos de calcular son generalmente reales y por tanto raramente expresable en términos finitos; etc. No debe por tanto preocuparnos el que en nuestros cálculos acarreemos un cierto error sino el controlar en todo momento 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 conveniente indicar 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ólo contiene 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 o simplemente 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áticamente en la forma σ × (.a1 a2 · · · 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 caul está 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 son llamados dígitos en la base β, así por ejemplo los dígitos usados en la base binaria serán 0 y 1, o los de la base octal serán 0, 1, 2, 3, 4, 5, 6 y 7. Nosotros asumiremos en todo lo que sigue que a1 6= 0 , en cuyo caso el numero se dice que esta en forma normalizada. (.a1 a2 · · · at )β denota la suma del número de punto flotante. a1 β1 + a2 β2 + ··· + at βt y es llamada la mantisa o fracción El entero t indica el numero de dígitos en la base β que se usan para representar el número de punto flotante, y es llamado precision. Por lo general t = 6 o t = 7 con β = 10 (precision sencilla), t = 14 o t = 15 con β = 10 (doble precision). En algunos computadores se pueden hacer 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 un total de 128 posibles exponentes. El numero cero requiere una representación especial. Cualesquiera sean los parámetros elegidos, los conjuntos de punto flotante correspondientes comparten las mismas características cualitativas, entre ellas la carencia de algunas de las propiedades algebraicas de que gozan los numeros reales. Base Decimal signo Base Binaria exponente + 6.02 X 10 mantisa signo -23 exponente + 1.11110 X 2 -1101 base mantisa base 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 representaciones de punto flotante en algunos computadores: Donde 7 Tabla 1: Representación de punto flotante en algunos computadores Máquina S/D R/C β t L U HP-11C,15C S R 10 10 99 -99 IBM 3033 S C 16 6 -64 63 IBM 3033 D C 16 14 -64 63 Intel 8087 S R 2 24 -126 127 Intel 8087 D R 2 53 -1022 1023 PRIME 850 S R 2 23 -128 127 PRIME 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 de punto 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 aproxima al real x en la máquina como f l(x). Existen dos formas para encontrar f l(x) para x: Redondeo o Truncamiento. Dado un número real x, puede ser escrito en la forma, x = σ · (.a1 a2 · · · at at+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úmero x es dada por f l(x) = σ · (.a1 a2 · · · 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 f l(x) =  e   σ · (.a1 · · · at )β · β , 0 ≤ at+1 < β 2 (1.3) i h   σ · (.a1 · · · at ) + (,0 · · · 01) · β e , β β β 2 ≤ at+1 < β 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 tendremos π = (,3141592653...) × 101 , entonces la aproximación por los procedimientos sería: ( (,31415) × 101 , f l(π) = (,31416) × 101 , T runcado Redondeado Notemos que existe diferencia entre los dos procedimientos, en el caso del redondeo debemos tener en cuenta la Ecuación (1.3), por lo que debemos analizar el dígito que sigue a donde vamos 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úmeros reales, 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 aproximaciones para representar operaciones y cantidades matemáticas exactas. Tal es el caso de los errores por 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 error como 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 cierta cantidad x, se introduce el concepto de error relativo que se puede define como, ¯ ¯ ¯ x − x̄ ¯ ¯ ¯ (1.5) ERel = ¯ x ¯ Notemos que el error relativo no está definido para x = 0. La ecuación (1.5) muestra el error relativo, que es una cantidad adimensional, que habitualmente se expresa en tanto por ciento ( %). Ejemplo 1.1 La serie de MacLaurin para la función exponencial (obtenido por el desarrollo de Taylor en el punto x0 = 0) es ex = 1 + x + xn x2 x3 + + ··· + 2! 3! n! Calcule el valor de e0,5 , usando inicialmente un solo término de la serie de MacLaurin y agregando en cada iteración un término más hasta que el error aproximado porcentual se menor que 0.005 %. Sea yi el valor de la i-ésima iteración. Entonces tenemos: y1 = 1 1 y2 = y1 + 0,5 = 1,5; ER = y2y−y = 1,5−1 1,5 100 % = 33,3 % 2 y3 = y2 + y4 = y3 + y5 = y4 + y6 = y5 + 0,52 2 0,53 3! 0,54 4! 0,55 5! y3 −y2 = 1,625−1,5 y3 1,625 100 % = 7,69 % y4 −y3 ER = y4 = 1,27 % 4 ER = y5y−y = 0,158 % 5 y6 −y5 ER = y6 = 0,0158 % < 0,05 % = 1,625; ER = = 1,6458333; = 1,6464375; = 1,6486979; Después de la sexta iteración, el error porcentual aproximado queda por debajo de la cota o tolerancia exigida. Ejemplo 1.2 Estimar la menor cota superior para el error relativo cuando un numero real x 6= 0 es aproximado por su representante de punto flotante, f l(x), en una aritmética decimal de t−dígitos. Sea x un número real positivo cualquiera en forma decimal normalizada. x = (.a1 a2 . . . at at+1 . . .) × 10n donde n es algún entero. Si f l(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, entonces f l(x) = (.a1 a2 . . . at ) × 10n y entonces Er = |(.a1 a2 . . . at at+1 . . .) × 10n − (.a1 a2 . . . at ) × 10n | |(.a1 a2 . . . at at+1 . . .) × 10n | ¯ ¯ ¯(.at+1 at+2 . . .) × 10n−t ¯ Er = |(.a1 a2 . . . at at+1 . . .) × 10n | Er = |(.at+1 at+2 . . .)| × 10−t |(.a1 a2 . . . at at+1 . . .)| Er = ,5 × 10−t = 5 × 10−t ,1 lo anterior, se puede explicar de la siguiente manera, como a1 6= 0, entonces, el valor mínimo en el denominador es 0,1. Ahora el numerador muestra el error absoluto esta acotado por 1, pero como at+1 es menor que 5, entonces, el máximo número que podemos encontrar en el numerador es 0,5. Por tanto, 5 × 10−t sería una cota superior. 2. Si 5 ≤ at+1 ≤ 9, entonces f l(x) = (.a1 a2 . . . at ) × 10n + 1,0 × 10n−t por la segunda parte de la ecuación (1.3). Así que Er = ¯ £ ¤¯ ¯(.a1 a2 . . . at at+1 . . .) × 10n − (.a1 a2 . . . at ) × 10n + 1,0 × 10n−t ¯ |(.a1 a2 . . . at at+1 . . .) × 10n | ¯ ¯ ¯(.at+1 at+2 . . .) × 10n−t − 1,0 × 10n−t ¯ Er = |(.a1 a2 . . . at at+1 . . .) × 10n | Er = ≤ |(.at+1 at+2 . . .) − 1,0| × 10−t |(.a1 a2 . . . at at+1 . . .)| ,5 × 10−t |(.a1 a2 . . . at at+1 . . .)| ya que .at+1 at+2 ... ≥ ,5 Er = ,5 × 10−t = 5 × 10−t ,1 ya que .a1 a2 ...at at+1 ... ≥ ,10..,05 > ,100..,00 11 De 1) y 2) se tiene que si x 6= 0 un real y f l(x) se obtiene por redondeo, entonces Er = |x − f l(x)| < 5 × 10−t |x| 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 cada uno 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 ,1 1 = = = (,2) × 10−1 = ,02 = 2 % 2 1 (,5) × 10 (,5) × 10 50 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 error absoluto? ¿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 significativas al numero x 6= 0 , si t es el mayor entero no negativo para el cual Er = |x − x̄| < 5 × 10−t |x| Los t-dígitos significativos, a que se refiere esta definición, son los primeros t-dígitos en la mantisa de x̄ cuando x̄ se escribe en forma decimal normalizada. De acuerdo con la definición anterior, si x̄ = f l(x) en una aritmética de punto flotante decimal con redondeo a t-dígitos, entonces f l(x) aproxima a x con t cifras significativas, es decir, todos los dígitos en la mantisa de f l(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-cifras decimales 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 cifras contadas 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 este caso 0, 0 y 3. Observe que si y = 28.003451 y ȳ = 28.003348 , entonces ,00005 < |y − ȳ| = ,000103 < 5 × 10−4 < 5 × 10−3 < 5 × 10−2 < 5 × 10−1 y nuevamente, ȳ aproxima a y con sus primeras tres cifras decimales exactas, que son, por supuesto, 0, 0 y 3. Ahora, el error relativo de x̄ con respecto a x es ,005 < Er = ,000103 = ,029... < ,05 = 5 × 10−2 < 5 × 10−1 ,003451 así que t = 2 es el mayor entero no negativo que satisface |,003451 − ,003348| < 5 × 10−t |,003451| y por tanto x̄ aproxima a x con sus primeros 2-dígitos significativos que son 3 y 3 (Por qué?). Con cuantas cifras significativas aproxima ȳ a y? Ejemplo 1.5 Con cuántas cifras significativas aproxima ,333 a 1 3 Como ¯ ¯ ¯1 ¯1 ¯ ¯ ¯ ¯ ¯ − ,333¯ ¯¯ 1 − ,333 ¯¯ ¯ − ,333¯ ¯¯ 1 − ,333 ¯¯ 3 ¯ ¯ =¯3 1 =¯3 1 ¯ = |1 − ,999| = ,001 3 ¯¯ 1 ¯¯ ¯ = |1 − ,999| = ,001 ¯1¯ ¯ ¯ ¯ ¯ 3 3 3 3 y ,0005 < ,001 < ,005 = 5 × 10−3 < 5 × 10−2 < 5 × 10−1 , entonces t = 3 es el mayor entero no negativo tal que ¯1 ¯ ¯ − ,333¯ 3 ¯ ¯ < 5 × 10−t ¯1¯ 3 Por lo tanto .333 aproxima a 31 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̄ ¯ −4 ¯ ¯ ¯ 1000 ¯ < 5 × 10 2. ¯ ¯ ¯ 1000 − x̄ ¯ −5 ¯ ¯ ¯ 1000 ¯ < 5 × 10 La desigualdad 1) tiene como solución 999.5 <x̄ <1000.5 y la desigualdad 2) tiene como solución x̄ ≤ 999.95 o S x̄ ≥ 1000.05 . Interceptando las dos soluciones se obtiene que x̄ debe estar 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úmero en base 10 a cualquier base. Aunque estos dos paquetes poseen funciones que realizan estos procesos, 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 − f l(x)| ≤ 5 × 10n−(t+1) Ejercicio 2.4 Verificar que si f l(x) se obtiene por cortado, entonces Er = |x − f l(x)| < 10 × 10−t = 10−t+1 |x| y EA = |x − f l(x)| ≤ 10 × 10n−(t+1) Ejercicio 2.5 Consulta el tema ”Propagación de errores” en: la adición, la diferencia, el producto, 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 calcular con cualquiera de las dos siguientes fórmulas 14 x= x0 y1 − x1 y0 , 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 redondeo a tres dígitos para calcular dicha abscisa, utilizando las dos fórmulas. Cuál fórmula da el mejor 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 ln2 con un error menor al 0.05 %. H 15