Академический Документы
Профессиональный Документы
Культура Документы
1.3.2
P
erdida de dgitos significativos
100 , ahora
para
crecientes de x . Por ejemplo, tenemos f (100) = 100 101
como
valores
101 100 = 0.0498752 . . . , evaluando f (100) tiene que f (100) = 100 101 100 =
4.987562 . . . .Ahorasi trabajamos con aritmetica de 6 dgitos y redondeo, obtenemos
lossiguien
tes valores: 101 100 = 10.049910 = 0.049900 luego f (100) = 100 101 100 = 4.99
en nuestra aritmetica.
El c
alculo de 101 100 = 0.049900 cuyo valor aproximado es 0.0498756
tiene perdida del
signicado del error. Note que tres dgitos de precisionen x + 1 = 101 fueron cancelados
Observaci
on. Los programadores deben tener en cuenta esta posibilidad de este error y evitar
este fenomeno de perdida de dgitos signicativos.
La perdida de dgitos signicativos es un subproducto de la resta de n
umeros parecidos. Esto
redunda en inestabilidad en los c
alculos numericos.
Ejemplo 4 La ecuacion de segundo grado
x2 18x + 1 = 0
y
x2
Luego, la aproximaci
on de x1 tiene 6 dgitos signicativos y x2 tiene solo 3. La cancelaci
on
es evitada reescribiendo
1
1
(9 80)(9 + 80)
=
x2 =
=
17.9443 0.5 104
9 + 80
9 + 80
y entonces x
2 =
1
17.9443
= 0.055728002 . . . .
10
f (x)
=
=
de donde f (0) =
1
2
1cos(x)
x2
x4
x6
x2
1
+
+
R
1
(x)
6
x2
2!
4!
6!
2
4
6
x
x
x
1
cos (x) ,
2!
4!
6!
8!
cos (x)
< 10 = 2.5 1011
8!
8!
1
Luego la aproximaci
on f (x) = 2!
x4! + x6! , para |x| < 0.1 posee la precision dada arriba.
Esto nos brinda una manera mucho mas facil para evaluar f (x) .
2
+ =
+
+
3!
5!
7!
3!
5!
7!
como x es proximo de cero, podemos truncar la serie, obteniendo, por ejemplo
y
x3
x5
x7
x9
.
3!
5!
7!
9!
Consideremos el caso sen(x) > 0 , como x > sen(x) = y , utilizando el teorema de Perdida de
Precisi
on, obtenemos que la perdida de dgitos signicativos en la resta dada por y = x sen(x)
1
puede limitarse a un dgito signicativo si restringuimos x de tal modo que 1 sen(x)
10
,
x
sen(x)
sen(x)
9
9
esto es, 10 x , de donde tenemos que
si
|x|
1.9
.
Para
|x|
<
1.9
usamos
x
10
la representacion en serie de Taylor truncada tomando R10 (x) =
|R10 (x)| =
x10 sen(x)
10!
, luego
1.910
x10 |sen (x) |
<
0.00017 1.7 104 .
10!
10!
11
1.3.3
Propagaci
on de error
(1.15)
E(xA yA )
= xT yT xA yA
= xT yT (xT ) (yT )
= xT + yT
de donde,
12
(1.16)
ER (xA yA )
=
=
xT yT xA yA
xT yT
,
yT
xT
xT yT
es decir,
ER (xA yA ) = ER (xA ) + ER (yA ) ER (xA ) ER (xA )
(1.17)
Observemos que si |ER (yA )| , | ER (xA )| << 1 ( << signica mucho menor que) entonces
ER (xA yA ) ER (xA ) + ER (yA ) .
Caso b. Divisi
on.
ER
xA
yA
=
xA
yA
ER (xA ) ER (yA )
1 ER (yA )
(1.18)
ER (xA ) ER (yA ) .
Observaci
on. Para las operaciones de multiplicaci
on y divisi
on, los errores relativos no se
propagan r
apidamente.
Caso c. Adici
on y sustracci
on.
E(xA yA ) =
=
(xT yT ) (xA yA )
(xT xA ) (yT yA ) = ,
por lo tanto
E (xA yA ) = E (xA ) E (yA )
(1.19)
Esto parece ser bastante bueno y razonable, pero puede ser enga
noso. El error relativo en
xA yA puede ser bastante pobre cuando es comparado con ER (xA ) y ER (yA ) .
22
7
, e yA = 3.1429 . Tenemos
13
E(xA ) =
E(yA ) =
E(xA yA ) =
k+1
k+1
A
Sabemos que 2
xTxx
2 , de donde |xT xA | 2 |xT | . Ahora, si
T
escribimos xT en su forma normalizada, es decir, xT = xT 10e , donde 0.1 xT < 1 ,
k+1
obtenemos que E (xA ) = |xT xA | 10 2 | xT | 10e , aqu k = 5 y e = 1 , por lo tanto
3
3
3
E (xA ) = |xT xA | 102 , de donde 102 +xA xT 102 +xA luego 3.001 xT 3.002 ,
por lo tanto
|E (uA )| =
E (3 xA )2
= |E ((3 xA ) (3 xA ))| =
2 (3 xT ) E (3 xA ) (E (3 xA ))2
2 |3 xT | |E (3 xA )| +
E (3 xA )2
2 0.002 |E (xA )| + |E (xA )|2
2 0.002
103
2
+
103
2
2
= 0.225 105 .
Observaci
on. Desde la denici
on del error se tiene que E (xA + c) = E (xA ) .
Falta analizar para vA . Este se deja a cargo del lector.
Tenemos nalmente que
|E (wA )| = |E ((xA 6) xA + 9)| = |E ((xA 6) xA )|
= |(xT 6) E (xA ) + xT E (xA 6) E (xA ) E (xA 6)|
2
1
2
1
2
103
= 0.00300075.
14
1.4
Propagaci
on de error en evaluaci
on de funciones
f (xT ) f (xA )
f (xT ) (xT xA )
f (xA ) (xT xA ) ,
luego,
E(f (xA )) f (xA )E(xA )
(1.20)
(1.21)
ER (f (xA ))
f (xT )
f (xT )
(xT xA )
xT ER (xA )
f (xT )
f (xT )
(1.22)
(x)
El n
umero (x) = ff (x)
x es llamado el n
umero de condici
on de f (x) . Si | limxxT (x)| =
+ , decimos que la evaluacion de f para x xT es numericamente inestable. Caso contrario,
decimos que la evaluacion de f para x xT es estable.
15
sen(
3 +x)sen( 3 x)
2x
f (x)
0.017450368
0.017450377
0.017450377
0.017450377
0.01745038
0.0174504
0.0174505
0.01745
0.0174
1
10
1
102
1
103
1
104
1
105
1
106 0
1
107
1
108
1
109
Observe que el error entre las cantidades x8 y x9 , lo cual denotamos por E (x8 , x9 ) , es
E (x8 , x9 ) = |0.01745 0.0174| = 0.00005 , como el error es un valor grande tenemos inestabilidad numerica. Recuerde que en n
umeros de partida pr
oximos se debe tener imagenes pr
oximas.
Determinemos ahora un polinomio de grado mayor o igual a uno, que aproxime a f (x) y
que sea numericamente estable para x 0 . Desarrollando, obtenemos la expresion siguiente
para f ,
3 sen(x)
=
.
2
x
3
x
x
x
Ahora, desarrollando sen(x) en
serie de Taylor tenemos
que sen(x) = x 3! + 5! 7! + ,
3 sen(x)
3
x2
x4
x6
= 2 1 3! + 5! 7! + . Consideramos la siguiente aproxiluego f (x) = 2
x
3
x2
1
x
2
6
resta de n
umeros parecidos luego es estable. Por otra parte, si calculamos el n
umero condici
on
obtenemos para nuestra aproximaci
on polinomial, tenemos
x x3
p (x)
2x2
(x) = x
=
=
2
p (x)
6 x2
1 x6
(x)
y para valores x 0 se tiene que x pp(x)
0 , de donde concluimos que nuestra aproximacion
es numericamente estable.
16
1.5
Errores en sumas
n
aj ,
j=1
donde cada aj es un n
umero punto otante, para sumar estos valores en la maquina se necesitan
n 1 sumas, cada una de las cuales, envuelve errores de redondeo o corte. Mas precisamente,
denimos
S2 = f l (a1 + a2 )
la version punto otante de a1 + a2 . Enseguida, denimos
S3 = f l (a3 + S2 )
S4 = f l (a4 + S3 )
..
.
Sn = f l (an + Sn1 )
Sn es la version punto otante de S . Tenemos
S2 = (a1 + a2 ) (1 + 2 )
S3 = (a3 + S2 ) (1 + 3 )
..
.
Sn = (an + Sn1 ) (1 + n ) .
Los termino en la expresion anterior pueden ser combinados, manipulados y estimados, obteniendo lo siguiente
S Sn
= a1 (2 + + n )
a2 (2 + + n )
a3 (3 + + n )
..
.
an n
observando esta f
ormula y tratando de minimizar el error total de S Sn , la siguiente puede
ser una estrategia razonable: ordenar los terminos a1 , a2 , . . . , an antes de sumarlos de tal
modo que 0 |a1 | |a2 | |a3 | |an | . De esa manera los terminos del lado derecho
de la expresion arriba con el mayor n
umero de j son multiplicados por los menores valores de
aj . Luego esto minimiza S Sn sin costos adicionales en la mayora de los casos.
1.6
Estabilidad en m
etodos num
ericos
Muchos problemas matematicos tienen soluciones que son bastante sensitivas a peque
nos errores
computacionales, por ejemplo errores de redondeo. Para tratar con este fen
omeno, introduciremos los conceptos de estabilidad y n
umero condici
on. El n
umero condici
on de un problema
esta relacionado al maximo de precision que puede ser obtenido en su soluci
on cuando usamos
17
n
umeros de longitud nita y aritmetica de computador. Estos conceptos son entonces extendidos a metodos numericos usados para calcular la soluci
on. En general, queremos que los
metodos numericos usados no tengan sensibilidad a peque
nos errores mas all
a de los originados
en el problema matematico mismo.
Para simplicar, supongamos que nuestro problema viene dado por
F (x, y) = 0.
(1.23)
La variable x es la inc
ognita buscada y la variable y son los datos de los cuales depende
la soluci
on. Por ejemplo F puede ser una funcion real de dos variables, o x puede ser una
variable real e y puede ser un vector, puede ser una ecuacion diferencial o integral o funcional,
etc.
Diremos que el problema (1.23) es estable si la solucion x depende continuamente de la variable y , esto signica que si (yn )nN es una sucesion de valores aproxim
andose a y , entonces
los valores solucion asociados (xn )nN deben aproximarse a x de la misma forma. Equivalentemente si hacemos peque
nos cambios en y esos deben corresponder a peque
nos cambios en
x . El sentido en el cual los cambios son peque
nos depende de la norma que se este usando en
x e y , respectivamente, existen varias elecciones posibles, variando de problema en problema.
Problemas estables son tambien llamados well-posed problems. Si un problema no es estable,
este es llamado inestable o ill-posed problem.
Ejemplo 13 Considere el sistema de ecuaciones lineales
x + 2y
0.5x + 1.000001y =
3
1.5
x + 2y
0.4999999x + 1.000001y
= 3
= 1.5
b b2 4ac
x=
2a
18
(x) = sup
y
x
x
y
y
(1.24)
n
umero de condici
on del problema F (x, y) = 0 . Este es una medida de la sensibilidad de la
soluci
on a peque
nos cambios de la data y .
Si (x) es bastante grande entonces existen cambios peque
nos y relativos a y que llevan
a grandes cambios relativos a x . Pero si (x) es peque
no, digamos (x) C , con C
una constante razonable dependiendo del problema, por ejemplo, entonces cambios relativos
en y siempre llevan cambios peque
nos relativos en x . Como calculos numericos casi siempre
envuelven una variedad de peque
nos errores computacionales, no deseamos problemas con un
n
umero condici
on grande. Tales problemas son llamados ill-condicioned problem.
Ejemplo 15 Considere el problema xay = 0 , donde a > 0 . Perturbando y por y tenemos
x
ay+y ay
= ay 1 . Por lo tanto
x =
ay
a y 1
.
(x) = sup
= sup
y
y
y
y
y
y
Restringiendo y a valores peque
no, obtenemos que (x) |y log (a)| .
1.7
Inestabilidad num
erica de m
etodos
Definici
on 1.5 Decimos que un proceso numerico es inestable si peque
nos errores que se producen en alguna etapa se agrandan en etapas posteriores degradando seriamente la exactitud
del c
alculo en su conjunto.
19
x0 = 1, x1 = 3
xn+1 = 13 xn 4 xn1 , n 1.
3
3
n+1
y que xn > 0 para todo
Observe que la sucesion es equivalente a la sucesi
on xn+1 = 13
n N . Es claro de esta u
ltima expresion que lim xn = 0 , mientras que en la evaluacion
n
numerica de xn aparecen valores negativos, (que los alumnos hagan la tabla para la primera
n+1
ormula dada inicialmente). La prueba de xn+1 = 13
, es f
acil
expresion de xn , es decir, la f
y se hace por inducci
on.
1.8
Ejemplos resueltos
1x2 3 1x2
x2
f (x) =
=
1x2 3 1x2
2
x
2
1 x1x
2
= 1
1+1x2
1+ 1x2
1
1+ 1x2
1+
1x2
x2
1
3
1x2
x2
1x2
x2
1+
1+
1x2 +
1x2 +
3
(1x2 )2
3
2
(1x2 )
1
1x2 + 3 (1x2 )2
x2
2
x4
8
x6
16
G (x) 1
x2
3
x4
9
2x6
9
x4
9
2x6
9
por lo tanto
f (x)
x2
2
x4
8
x6
16
1+
x2
x2
3
1
1
49 4
x
= x2
6 72
1296
20
|g (xA )| |xT xA |
0.99978 |EA (xA )| 0.99978 0.5 104 = 4.9989 105
4.9989 105
|uT uA |
|uT |
|xT 1| |xT 2|
Por otro lado sabemos que |E (xA )| 0.5 106+1+1 = 0.5 104 por lo tanto
0.5 104 + 1.00011 xT 0.5 104 + 1.00011
0.00006 xT 1 0.00016
0.99994 xT 2 0.99984
1
1
1.0001600256 .
|xT 2|
0.99984
por lo tanto
ER (uA ) =
1.9
|uT uA |
4.9989 105 (16666.67) (1.0001600256) 0.8323283325329
|uT |
Ejercicios
b + b2 4ac
b b2 4ac
,
x2 =
.
x1 =
2a
2a
21
2c
2c
, x2 =
.
2
b b 4ac
b + b2 4ac
Escriba un programa en MatLab que resuelva las ecuaciones de segundo grado de las dos
maneras indicadas. Ejecute el programa cuando
(i) a = 1.0 , b = 5.0 , c = 6.0 , (ii) a = 1.0 , b = 12345678.03 , c = 0.92 .
Problema 1.2 Usando MatLab calcule x + y + z de las dos formas matematicamente equivalentes, x+ (y + z) y (x+ y)+ z cuando (i) x = 1.0 , y = 5.0 , z = 6.0 , (ii) x = 1 1020 ,
y = 1 1020 , z = 1.0 . Explique los resultados obtenidos.
Problema 1.3 Con MatLab, usando el formato largo, calcule h = 1/3333 . Enseguida sume
3333 veces la cnatidad obtenida. Tambien multiplique dicha cantidad por 3333. Explique los
resultados obtenidos.
Problema 1.4 Considere la funci
on h (x) =
tan
+ x tan 4 x
2x
22
sen(x) x
.
x
23
e2x 1
.
2xex
cos(/3 + x) cos(/3 x)
.
2x
x + 1/x
x 1/x .