Métodos Numéricos 93.
07 Guía de problemas 1
Métodos Numéricos 93.07 - 2020
Errores de aproximación y redondeo
Los ejercicios que se listan a continuación no requieren conocimiento de ningún método numérico en particular.
Muchos de ellos solo requieren conocer una denición y un rato con una calculadora cientíca. En algunos casos se
muestran algunas líneas de programa (en línea de comando) en Octave. En muchos casos son ejemplos que ilustran
resultados relativos al almacenamiento de números en la computadora y los errores asociados al operar con ellos. En
otros se comentan algunos conceptos relacionados con la naturaleza de algunos problemas (ser mal condicionados) y de
algunos algoritmos (que puedan ser inestables) para resolver problemas. Los ejercicios marcados con ⋆ son especialmente
recomendados.
1. Representación de números en punto otante
1.1. ⋆ La representación en punto otante de doble precisión
La representación habitual de números en base 2 en una computadora es la de punto otante en doble
precisión. Si se escribe format bit en la linea de comando de Octave entonces las variables aparecen en su
formato de punto otante de 64 bits (doble precisión) de acuerdo al estándar IEEE754.
Pruebe escribir lo siguiente en la línea de comando:
format bit
pi
pi =
0100000000001001001000011111101101010100010001000010110100011000
De los 64 bits de esta aproximación racional de π el primero es de signo (0 si es positivo, 1 si es negativo).
Los siguientes 11 bits son la representación binaria del exponente expo de 2 pero incrementado en 1023. Los
restantes 52 bits son la representación binaria de un numero de la forma m = 0.1 . . . que se denomina mantisa
y que resulta un número entre 0 y 1 (0 ≤ m < 1).
Como se puede modicar la potencia de 2 a la vez que se corre un lugar la coma (binaria) sin modicar el
número (de allí lo de punto otante ) entonces siempre puede lograrse que el primer bit de la parte decimal
pueda ser 1.
Lo que se establece en este formato IEEE754 es que el número (en cuanto a cifras signicativas se reere) es
de la forma 1. . . . y ese primer 1 no se almacena (es una cifra ganada que no se almacena). El equivalente en
decimal de un número almacenado con este formato es:
(−1)bit de signo 2expo−1023 (1 + m)
El siguiente código de Octave convierte a decimal la representación de π en este formato IEEE754:
format long
x=[0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1];
x=[x 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0];
% el vector x guarda la secuencia de unos y ceros
% obtenida a partir de pi en formato bit
signo=(-1)^x(1); % vale 1 ó -1 dependiendo del valor del primer bit
expo=0;
for k=2:12
if x(k)~=0
1
Métodos Numéricos 93.07 Guía de problemas 1
b=12-k;
expo=expo+2^(b);
end
end
expo=expo-1023; % el exponente se almacena en exceso 1023
mant=1; % la mantisa es de la forma 1. (y el 1 no se almacena)
for k=13:64
a=12-k;
if x(k)~=0
mant=mant+2^(a);
end
end
signo*2^expo*mant
3.14159265358979
1. Ejecutar el código mostrado y vericar que la aproximación racional de π en este formato de doble preci-
sión resulta 3.14159265358979. Calcular el error relativo con que se representa π teniendo en cuenta que
estos primeros decimales de π que se muestran a continuación son correctos:
3.141592653589793238462643.
2. Obtenga la representación en el formato IEEE754 del número 13. Los números naturales se representan
sin error en este formato. A continuación la respuesta en Octave :
format bit
13
ans = 0100000000101010000000000000000000000000000000000000000000000000
Observe que 0 < 8 = 23 < 13 < 16 = 24 con lo cual el exponente que se almacena es 3 + 1023 = 1026 =
1024 + 2, y que 13 = 8(1 + 5/8). Para la mantisa se tiene que 5/8 = 1/2 + 1/8 = 2−1 + 2−3 .
3. Hay innitos números reales que se representan con error en el formato IEEE754. La mantisa de la repre-
sentación en punto otante se almacena con un número nito de dígitos. Si el número es irracional con
seguridad que se representa con error. Si el número es racional (y no entero) entonces puede suceder que
la representación en binario resulte periódica. Suponga que desee almacenar el número x = 51 . Verique
que el exponente que se almacena es 1020 y escríbalo en binario. Verique que m = 35 y que la represen-
tación de m es periódica con período 1001. Al almacenar la mantisa se consideran 12 grupos 1001 y un
último grupo 1010 obtenido al efectuar el redondeo debido a que el bit 53 es 1. Convierta en decimal esa
representación periódica de 52 bits y demuestre que resulta igual a 35 (1 + 23 eps). Demuestre que el error
relativo de redondeo en este ejemplo es 41 eps. El valor de eps es 2−52 y es el peso del último bit de la
mantisa.
format bit
0.2
ans = 0011111111001001100110011001100110011001100110011001100110011010
4. Dado que cada número se representa con un número nito de bits entonces existe un número máximo
positivo posible de representar así como un menor número positivo. En la línea de comando de Octave
pruebe esta secuencia:
2
Métodos Numéricos 93.07 Guía de problemas 1
format long
realmax
realmin
2*realmax
Interprete lo observado respecto de realmax y 2*realmax. Anote los resultados obtenidos al ejecutar Inf
+ 1, 1/Inf , 1/0 y Inf - Inf. Si cualquier cálculo da por resultado un número que exceda a realmax se
produce una situación denominada overow. En este caso el resultado mostrado es Inf. Si el resultado
de cualquier cálculo es indenido como número real entonces la salida obtenida es Not-a-number ó NaN,
como por ejemplo 0/0 ó Inf - Inf.
5. Otro parámetro de interés asociado a esta representación es eps. En Octave es una constante predenida:
eps
eps =
2.220446049250313e-016
Este número es la distancia entre 1 y el próximo número representable en el sistema de punto otante en
doble precisión. Se verica eps = 2−t donde t es el número de bits de la mantisa que, en doble precisión,
es 52. El valor de eps es una cota al error relativo de representación de un número en el sistema de
representación de punto otante.
2^(-52)
ans =
2.220446049250313e-016
Ensaye la ejecución de estas operaciones en la línea de comando de Octave :
a=1;b=1+eps;c=1+eps/2;
b-a
c-a
6. Algunas reglas de la aritmética no son válidas para operaciones de punto otante. Prediga los resultados
de los siguientes cálculos si eps es el denido en el item anterior:
a) (1 + eps/2) + eps/2
b) 1 + (eps/2 + eps/2)
c) ((1 + eps/2) + eps/2) - 1
d) (1 + (eps/2 + eps/2)) - 1
Realice los cálculos anteriores en línea de comando de Octave y verique su predicción.
7. Obtenga el valor de eps para su calculadora de mano. Para ello realice la operación (1 + 2−t ) − 1 para t
tomando los valores 1, 2, . . . hasta que el resultado sea cero. En una calculadora tipo Casio fx82 el valor
de eps es 2−34 . En una calculadora Casio fx911ES el valor de esta constante especial es 2−39 . En esta
calculadora el resultado de (1 + 2−39 ) − 1 es 1.81 × 10−12 y el de (1 + 2−40 ) − 1 es 0.
8. Ensaye la ejecución de estas operaciones en la línea de comando de Octave :
3
Métodos Numéricos 93.07 Guía de problemas 1
a = 4/3
b = a - 1
c = 3*b
e = 1 - c
Con aritmética exacta el valor de e es 0. En punto otante el valor de e es eps. En la primera operación (4/3)
se produce un error de redondeo. En consecuencia el valor almacenado es cercano pero no exactamente 4/3. La
representación en punto otante de b tiene a 0 como último bit. Esto determina que c se almacene sin error de
redondeo y no sea exactamente 1. De esta manera el valor almacenado para e no es 0.
9. Verique que realmax es igual (2 − eps) 21023 . Para ello pruebe en la línea de comando:
(2 - eps)*2^(1023)==realmax
ans = 1
La respuesta 1 a la pregunta usando el == corresponde a verdadero (0 corresponde a falso). Para obtener
el valor del mayor número representable tenga en cuenta cuál es el mayor valor del exponente y cual es el
mayor valor de la mantisa.
10. Demuestre que la distancia entre dos números consecutivos representables en punto otante es 2E eps
donde 2E es la máxima potencia de 2 menor o igual que el menor de estos dos números. Entonces la
distancia entre dos números consecutivos representables en este sistema no es constante para todo el
rango de valores posibles. Entre cada par de potencias consecutivas de 2 esa distancia es constante. Entre
1 y 2 la distancia es eps, entre 2 y 4 es 2 eps, entre 4 y 8 es 4 eps, y así siguiendo.
11. Demuestre que el error de redondeo relativo al almacenar un número en punto otante es menor o igual
a eps/2.
1.2. Los números menor positivo, mayor positivo y el ϵ en Octave / MATLAB
Los siguientes códigos permiten obtener el menor número positivo, el mayor número positivo y ϵ (la diferencia
entre el primer número representable posterior a 1 y 1). Analizar los códigos, ejecutarlos y así obtener para su
entorno de programación esos tres números. No es complicado realizar programas de este estilo en cualquier
otro lenguaje de programación.
format long
% el mas chico
y=1; while y>0
maschico=y;
y=y/2;
end
maschico
En la calculadora CASIO fx-991ES resulta que maschico es 1.828779826 10−99 si se comienza con 1 como
se indica en el código.
format long
% el mas grande
y=1; while y<inf
masgrande=y;
y=2*y;
end
masgrande
4
Métodos Numéricos 93.07 Guía de problemas 1
En la calculadora CASIO fx-991ES resulta que masgrande es 8.749002899 1099 si se comienza con 1
como se indica en el código. Este número no es el número mas grande representable en este formato de doble
precisión. El valor de realmax es igual (2 − eps) 21023 ligeramente inferior a 21024 que corresponde a Inf. El
código mostrado calcula 21023 que es la potencia de 2 de exponente natural previa a Inf.
% epsilon de la maquina
epsi=1;
b=1+epsi;
while (b >1)
epsi=epsi/2;
b=1+epsi;
end
epsilon =epsi*2
epsilon = 2.22044604925031e-16
eps
eps = 2.22044604925031e-16
En la calculadora CASIO fx-991ES resulta que epsilon es 2−39 , de manera tal que (1 + 2−39 ) − 1 es
distinto de cero pero (1 + 2−40 ) − 1 es cero.
Tanto en Matlab como en Octave el valor de eps es una constante del sistema cuyo valor es eps = 2−52 ≈
2.220446049250313 e-016.
2. Aritmética en punto otante
2.1. ⋆ Cifras signicativas
La siguiente denición describe dos maneras de medir los errores al realizar una aproximación.
Denición: Si x⋆ es una aproximación a x, el error absoluto es |x − x⋆ |, y el error relativo es:
|x − x⋆ |
|x|
si x ̸= 0 .
Obtener los errores absoluto y relativo si:
1. x = 3.141592 y x⋆ = 3.14.
2. x = 1000000 y x⋆ = 999996.
3. x = 0.000012 y x⋆ = 0.000009.
Extraer alguna conclusión.
Denición: El número x⋆ es una aproximación a x con t cifras signicativas si t en el mayor número natural
que satisface:
|x − x⋆ | 10−t
<
|x| 2
Obtener el número de cifras signicativas si:
1. x = 2.71828182 y x⋆ = 2.7182.
5
Métodos Numéricos 93.07 Guía de problemas 1
2. x = 98350 y x⋆ = 98000.
3. x = 0.000068 y x⋆ = 0.00006.
2.2. ⋆ Operaciones en punto otante
Sea x un número real y F (x) su representación en punto otante con t cifras representativas y suponiendo
base 10. Por ejemplo si x = 92 y t = 4 entonces F ( 29 ) = 0.2222.
Las operaciones de suma, diferencia, producto y cociente están denidas de la siguiente manera:
x ⊕ y = F (F (x) + F (y))
x ⊖ y = F (F (x) − F (y))
x⊗y = F (F (x).F (y))
x⊘y = F (F (x)/F (y))
1. Calcular los errores absoluto y relativo para las cuatro operaciones indicadas si x = 1
3 e y = 47 . Suponer
redondeo por corte o truncado.
operación respuesta valor exacto error absoluto error relativo
x⊕y
x⊖y
x⊗y
x⊘y
Cuando dos números de punto otante son sumados, el número de la mantisa con el exponente menor
se modica de manera tal que los exponentes sean iguales. Si queremos sumar 0.1557 101 + 0.4381 10−1
hay que transformar el segundo sumando en 0.004381 101 . Al sumar y redondear resulta 0.1600 101 .Es
interesante observar la información perdida del segundo sumando.
2. Si a = 0.5711, b = 4271, c = 0.1001 10−3 e y = 4
7 calcular a ⊕ b y (a ⊖ y) ⊘ c y obtener los errores
absoluto y relativo.
3. Comparar los resultados de (121 − 0.3271) − 119 y (121 − 119) − 0.3271. Se supone que se opera resolviendo
lo indicado entre paréntesis primero. Considerar truncado y t = 4.
2.3. El error de redondeo al resolver un sistema de ecuaciones lineales
1. El sistema lineal de 2 por 2
ax + by = e
cx + dy = f
se puede resolver para x, y de la siguiente manera:
a) Sea m = c
a a ̸= 0
b) d1 = d − mb
c) f1 = f − me
d) y= f1
d1
e) x = e−by
a
6
Métodos Numéricos 93.07 Guía de problemas 1
Usar este procedimiento y la aritmética de redondeo de cuatro dígitos para resolver los sistemas lineales:
1.130 x − 6.990 y = 14.200
1.013 x − 6.099 y = 14.220
8.110 x + 12.200 y = -0.137
-18.110 x + 112.200 y = -0.137
En cada caso resolverlo también con aritmética exacta y calcular el error relativo.
2. Usando aritmética de punto otante con tres dígitos signicativos y redondeo simétrico resolver:
x + 400 y = 801
200 x + 200 y = 600
Sugerencia: Resolver primero eliminando x al multiplicar la primera ecuación por 200 y luego restarlas. Obtener
y = 1.99 y luego de reemplazar en la primera resulta x = 5. Calcular el error relativo. Para obtener la solución
del sistema con error relativo cero aún cuando se utilice la aritmética de tres dígitos entonces conviene hacer un
escalamiento. Dividir ambas ecuaciones por 1000. Luego de este escalamiento dividir la segunda por 200 y eliminar
x para obtener con aritmética de tres dígitos y = 2.00 y luego x = 1.00 (error relativo cero).
2.4. Acumulando en punto otante
1. Suponga el siguiente código en Octave (fácilmente trasladable a otro lenguaje de programación de alto
nivel o a una planilla de cálculo):
format long e
sum=1;
for i=1:10000
sum=sum+0.00001;
end
sum
¾Qué operación realiza? ¾Cuál es el resultado exacto? Ejecútelo y compare.
2. El código de Octave que se muestra a continuación evalúa aproximadamente la función exponencial
exp(−x) a partir de su desarrollo de Taylor en torno de 0. El ciclo condicional acumula términos de
la serie mientras que su magnitud exceda la resolución de punto otante de doble precisión (dada por
el producto eps |s|). Ejecute el código y vea que con 20 términos (para x = 1) se obtiene la evaluación
aproximada de exp(−1).
format long
x=1; % valor de x en que se evalúa
t=1;
i=1; % contador del nro de terminos de la serie
s=1; % variable de salida
while(abs(t)>eps*abs(s))
t=-t*x/i;
s=s+t;
7
Métodos Numéricos 93.07 Guía de problemas 1
i=i+1;
end
i
s
r=exp(-x)
3. Escribir un programa que calcule
1 1 1
S = 100002 + 99992 + . . . + 4 + 1 + + ... + 2
+
4 9999 100002
y que sea lo mas preciso posible desde el punto de vista de la propagación de errores y compárelo con otra
forma de calcular menos precisa. Explique.
Nota: Con un programa en Octave el cálculo mas preciso da como resultado 333383335000.645. Un cálculo menos
preciso da 333383335000.640.
2.5. Dos resultados para explicar
1. Pruebe en la línea de comando de Octave (o en la planilla de cálculo):
format long e
(-100.0+1.0e-15+100.0)*1.0e32
(-100.0+100.0+1.0e-15)*1.0e32
Explique la diferencia.
2. Considere la operación de acumular el número a un número grande de veces en un acumulador en el
que inicialmente se almacena un 1. Considere las siguientes dos maneras algebraicamente equivalentes de
expresar esa operación:
SA = (. . . ((1 + a) + a) + . . . + a) + a
| {z }
n veces a
∑
n
SB = 1+ a
k=1
En particular suponga que a es un número pequeño (por ejemplo eps /100) y que n = 10000. Las siguientes
líneas de código de Octave (en línea de comando) implementan el cálculo de ambas maneras de acumular:
format long e
a=eps/100;
x=ones(10000,1)*a;
uno=1;sumaA=uno;
for k=1:10000;sumaA=sumaA+x(k);end
sumaA
sumaB = uno+sum(x)
La variable sumaA almacena el cálculo de SA y el comando sum de Octave implementa la suma de los
10000 elementos (todos iguales a a) del vector x generados con el comando ones. Entonces la variable
sumaB almacena el cálculo de SB .
Explique la diferencia que se observa.
8
Métodos Numéricos 93.07 Guía de problemas 1
2.6. ⋆ Evaluando un polinomio I
Una operación usual en muchos métodos numéricos para aproximar la solución de algún problema es la
evaluación numérica de un polinomio.
La evaluación del polinomio p de grado 3 en z :
p(z) = a0 z 3 + a1 z 2 + a2 z + a3
puede reformularse de la siguiente manera:
p(z) = ((a0 z + a1 ) z + a2 ) z + a3
Para el cálculo a mano el siguiente esquema (regla de Horner) ilustra el algoritmo resultante de la reformu-
lación indicada:
a0 a1 a2
a3
z b0 z b1
z b2
b0 b1 b2
b3
con lo que resulta p(z) = b3 .
1. Calcular p(8) si p(x) = 2 x3 + x + 7
2. Implementar un programa que calcule el valor numérico de un polinomio (los datos de entrada son el
grado del polinomio, sus coecientes y el punto de evaluación). La regla de Horner se puede expresar en
forma recurrente por:
b0 = a0 bi = ai + zbi−1 i = 1, 2, . . . n bn = p(z)
donde n es el grado del polinomio.
3. Ensayar el programa con algún ejemplo.
4. Contar el número de productos y sumas requeridos para la evaluación del polinomio p de grado n con la
regla de Horner. Comparar con las que son necesarias si las potencias sucesivas de x son calculadas como
xk = xxk−1 y luego el producto con el coeciente an−k .
2.7. ⋆ Evaluando un polinomio II
Usar aritmética exacta, redondeo por truncamiento y redondeo simétrico para evaluar
f (x) = x3 − 4 x2 + 2 x − 2.2
en x = 2.41.
Para el redondeo considerar aritmética de tres dígitos.
Por ejemplo 23.2324 → 23.2.
Para ordenar el cálculo completar la siguiente tabla:
x x2 x3 4 x2 2x
exacta
red. truncando
red. simétrico
Rta: f (2.41) : -6.614879 (exacto), -6.68 (truncando con tres dígitos con un error relativo de 0.0098), -6.58
(redondeo simétrico con un error relativo de 0.0052).
9
Métodos Numéricos 93.07 Guía de problemas 1
Volver a realizar el cálculo si f (x) se expresa de la siguiente manera (método de Horner):
f (x) = x(x(x − 4) + 2) − 2.2
que minimiza el número de operaciones a realizar.
Rta:f (2.41) : -6.614879 (exacto), -6.61 (truncando con tres dígitos con un error relativo de 0.00073 ), -6.61
(redondeo simétrico con un error relativo de 0.00073).
2.8. Dos maneras de calcular
Los puntos (x0 , y0 ) y (x1 , y1 ) se encuentran en una misma recta. Supongamos estas dos expresiones equiva-
lentes para determinar la coordenada x del punto de intersección de la recta con el eje x:
x0 y1 − x1 y0 (x0 − x1 ) y0
x= x = x0 +
y1 − y0 y1 − y0
1. Vericar que ambas son algebraicamente equivalentes.
2. Si se tiene como dato (x0 , y0 ) = (1.31, 3.24) y (x1 , y1 ) = (1.93, 4.76) y se considera aritmética de tres
dígitos con redondeo calcular la coordenada x con ambas expresiones. Determinar el error relativo con
cada una de ellas. Explicar.
2.9. ⋆ Aproximando el valor de la derivada de una función en un punto
1. Utilizar la conocida fórmula
f (x + h) − f (x)
f ′ (x) ≈
h
para aproximar el valor de la derivada de f (x) = x2 en x = 1. Considerar valores de h de la forma 10−k
con k tomando los valores 1, 2, . . . , 20. Generar una tabla y grácos con los valores de estas aproximaciones
y el error relativo para cada valor de h. Para el gráco del error relativo en función de h es conveniente
usar escala logarítmica en ambos ejes. ¾ Cuál es en su computadora el valor de h de esa lista para el cuál
el error relativo es menor? Intente argumentar respecto de un rango de valores de h en el que el error de
aproximación es mas importante que el error de redondeo y otro rango en el cual el error de redondeo
predomina sobre el error de aproximación.
2. Repetir lo del item anterior pero para la aproximación de f ′ conocida como de diferencia centrada y
comparar:
f (x + h) − f (x − h)
f ′ (x) ≈
2h
3. Repetir lo del item anterior pero para f (x) = x3 . Analizar el error de la aproximación y obtener por
inspección en una tabla el mejor valor de h (aquel para el cuál se minimiza el error relativo).
2.10. ⋆ Una ecuación de segundo grado
Obtener la raíz de menor valor absoluto de la ecuación
x2 + 0.4002 x + 0.8 10−4 = 0
Utilizar aritmética de 4 dígitos y comparar con el resultado obtenido utilizando aritmética más precisa (la de su
calculadora). Observar la pérdida de cifras signicativas atribuida a la resta de números muy próximos. Imple-
mentar un método que permita calcular con mayor precisión esa raíz (Sugerencia: racionalizar el numerador ).
10
Métodos Numéricos 93.07 Guía de problemas 1
2.11. Otra ecuación de segundo grado
Obtenga las dos raíces de la ecuación de segundo grado
x2 − 1000000.000001 x + 1 = 0
con la conocida fórmula y usando su calculadora con todos los dígitos que pueda. Encuentre la solución exacta
a partir de la relación entre las raíces y los coecientes.
Calcule el error relativo con que se computan ambas raíces. Implemente una fórmula de cálculo para la raíz de
menor valor absoluto con menor error. Sugerencia: racionalice el numerador de la fórmula resolvente.
2.12. Sumando términos de una sucesión geométrica
Para calcular la suma de los primeros N + 1 términos de una sucesión geométrica se tienen las dos siguientes
expresiones analíticamente equivalentes:
∑
N
SN = rk
k=0
(1 − rN +1 )
RN =
1−r
donde r ̸= 1.
La siguiente función en Octave calcula SN y RN para valores dados de r y N . En particular calcula SN
planteando la acumulación de sumandos de dos maneras.
function y=srn(r,N)
s=0;
for k=0:N
s=s+r^k;
end
d=0;
for z=N:-1:0
d=d+r^z;
end
u=(1-r^(N+1))/(1-r);
s
d
u
Ejecutar la función con valores de r próximos a 1 (por ejemplo N = 1000 y r = 1 − 10−16 ) y observar las
diferencias entre ambos números. Indicar cuál de los dos resulta mas conable. Vericar si existe diferencia en
efectuar la suma SN en el orden 0 ≤ k ≤ N en pasos de a 1 y el orden N ≥ k ≥ 0 con paso -1. Para visualizar
los resultados en la línea de comando:
format long
srn(1-10^(-16),1000)
3. Problemas mal condicionados
Desde un punto de vista intuitivo (ésta no es una denición formal) se dice que un problema está mal
condicionado cuando pequeños errores en los datos del problema producen grandes errores en la solución del
mismo.
11
Métodos Numéricos 93.07 Guía de problemas 1
3.1. ⋆ Evaluación de una función
Supongamos que se desea evaluar
√
534 − 7 x2 611
y= si x =
6 70
considerando que x e y se representan en formato de punto otante en base diez y con cuatro cifras signica-
tivas (se representan como un número decimal con cuatro cifras siendo la primera de ellas distinta de cero y
multiplicado por una potencia adecuada de 10). Los calculos intermedios se hacen con todos los decimales de
la calculadora y luego se redondean con cuatro cifras signicativas antes de pasar a otro cálculo.
Si x se guarda de esta manera resulta 8.729 (ó 0.8729 101 ). Vericar que operando como se propone resulta y
= 0.3162.
Realice el cálculo con su calculadora cientíca y verique que (con cuatro cifras signicativas) resulta y = 0.3377.
Observe que un error relativo en x de 0.00005 trae aparejado un error relativo en y de 0.064. El error se propagó
en el resultado amplicado mas de 1000 veces.
El problema de evaluar esta función para ese valor de x es un problema mal condicionado.
3.2. Un sistema lineal mal condicionado
Obtener la solución a los siguientes tres sistemas de ecuaciones lineales Ax = b. El segundo es una versión del
primero con una leve modicación en los elementos de A y el tercero con un pequeño cambio en las componentes
de b. Se escriben A y b como en la línea de comando de Octave.
A = [10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10]; b=[32;23;33;31];
A1 = [10 7 8.1 7.2;7.08 5.04 6 5;8 5.98 9.89 9;6.99 4.99 9 9.98];
b1=[32;23;33;31];
A2 = [10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];
b2=[32.1;22.9;33.1;30.9];
La solución exacta del primer sistema (el no perturbado) es x = [1;1;1;1].
Para resolver el sistema de ecuaciones con Octave usar inv(A)*b. Comentar el resultado.
4. Algoritmos inestables
Se dice que un proceso numérico (un algoritmo numérico para resolver un problema) es inestable si pequeños
errores que se produzcan en una etapa del proceso son amplicados en etapas posteriores produciendo la pérdida
de precisión de todo el proceso.
4.1. ⋆ Inestabilidad numérica I
El siguiente ejemplo muestra como el error de redondeo puede destruir el resultado de un cálculo si se elige
un algoritmo malo o inestable.
El ejemplo: Calcular para n = 0, 1, 2 . . . , 8
∫ 1
xn
In = dx
0 x+5
1. Vericar que se cumple la siguiente relación recursiva
1
In + 5 In−1 = .
n
12
Métodos Numéricos 93.07 Guía de problemas 1
Calcular I0 con tres decimales (por redondeo) y usando la relación recursiva calcular para 1, 2, 3, 4 (y aquí
ya aparece un resultado extraño).
Observar que en la fórmula recursiva el valor calculado para In−1 se multiplica por 5 en cada paso (inicialmente
el error es 0.0005). El error se incrementa en cada paso hasta que se hace de orden mas grande que el valor de la
integral. Poco se logra aumentando la precisión del valor de I0 .
2. Vericar que la fórmula recursiva se puede reescribir de la siguiente manera :
0.2
In−1 = − 0.2 In .
n
3. Analizar el ejemplo construyendo un algoritmo estable. Puede observarse que In es una función decreciente
de n. Suponga I10 ≈ I9 y a partir de allí calcule In para n : 8, 7, 6, . . . 0 usando la nueva fórmula recursiva
"hacia atrás". Analizar porque ahora el error de redondeo no inuye en el resultado.
4.2. Inestabilidad numérica II
Sea la sucesión de números denida en forma recurrente por:
13 4
xn+1 = xn − xn−1 ∀n ≥ 1
3 3
x0 = 1
1
x1 =
3
1. Vericar que xn = ( 31 )n
2. Usar la relación de recurrencia para generar la sucesión utilizando 7 decimales. Vericar que a partir de
x1 se "pierde" un decimal correcto por cada iteración. El error relativo cometido en la determinación de
x15 es de 108 (vericar esto).
Nota: El algoritmo es inestable. Cualquier error presente en xn se multiplica por 13
3
en la determinación de xn+1 .
Así resulta que un error en x1 se propaga en x10 con un factor de ( 13
3
)9 .
3. Determinar analíticamente la solución de la siguiente ecuación en diferencias con la condición inicial
indicada
xn+1 = −0.2 xn + 0.99 xn−1 ∀n ≥ 1
x0 = 1
x1 = 0.9
Sin obtener la solución en forma recursiva determinar si el proceso numérico es estable o no.
Nota: Para resolver la ecuación en diferencias ensayar una solución de forma xn = rn con r a determinar (
r es solución de una ecuación algebraica). Obtendrá dos soluciones linealmente independientes (la ecuación en
diferencias es de segundo orden); la combinación lineal es la solución general. Los coecientes de la combinación
lineal se pueden determinar con las condiciones iniciales para obtener la solución particular correspondientes a esas
condiciones iniciales.
13