Ejercicios Del Libro
Ejercicios Del Libro
Ejercicios Del Libro
Propagacin exponencial -
e,=Me
Figura 1.7
9 Propagacin lineal_
Propagacin lineal y
propagacin exponencial de errores.
E
e
9 E 1:1
.
El 0
e=nce
a .
9 n 10
9 2 4
1 7
1 8
Ejercicios
1.1 Error de redondeo al restar dos nmeros casi iguales. Vamos a considerar las ecuaciones 31.69x + 14.31 y 45.00 13.05x + 5.89 y = 18.53 (1) (2)
La nica solucin de este sistema de ecuaciones es (redondeando a cinco cifras d males) x = 1.25055, y = 0.37527. Un mtodo para resolver este tipo de problemas es n) tiplicar la ecuacin (1) por el coeficiente de x de la ecuacin (2), multiplicar la ecuaci
tieular; uno de los criterios de seleccin es la estabilidad del algoritmo; esto es, que os errores de los valores manejados se obtengan pequeos errores en los resultado Supngase que un error E se introduce en algn paso en los clculos, y qut de propagacin de n operaciones subsiguientes se denota por E n. En la prctica, p neral se presentan dos casos. I
E 1
que la propagacin del error es lineal. I E, I = le E, para k > 1; se dice entonces que la propagacin del en ponencial. La propagacin lineal de los errores suele ser inevitable; cuando c y E so os, los resultados finales normalmente son aceptables. Por otro lado, la propagaci nencial debe evitarse, ya que el trmino kn crece con rapidez para valores relat pequeos de n. Esto conduce a resultados finales muy poco exactos sea cual sea e de E. Como consecuencia se dice que un algoritmo con crecimiento lineal del erre ble, mientras que un algoritmo con una propagacin exponencial es inestable (vase
e a
2 3 4 5 6
Propagacin lineal
e= /ICE
10
Ejercicios
1.1 Error de redondeo al restar dos nmeros casi iguales. Vamos a considerar las ecuaciones 3I.69x + 14.31 y = 45.00 13.05x + 5.89 y = 18.53 La nica solucin de este sistema de ecuaciones es (redondeando a cinco ci males)x = 1.25055, y = 0.37527. Un mtodo para resolver este tipo de problema tiplicar la ecuacin (1) por el coeficiente de x de la ecuacin (2), multiplicar la
Errores
21
(2) por el coeficiente de x de la ecuacin (1) y despus restar las ecuaciones resultantes. Para este sistema se obtendra (como los coeficientes tienen dos cifras decimales, todas las operaciones intermedias se efectan redondeando a dos cifras decimales): [13.05 (14.31) - 31.69 (5.89) I = 13.05 (45.00) - 31.69 (18.53) (186.75 - 186.65) y = 587.25 - 587.22 0.10 y = 0.03 e donde y= 0.3, luego
el error es exx -
18.53 - 1.77
13.05
16.76 _ 128
13.05
Para la variable x
EA = 1 1.28 - 1.25 1 = 0.03; ER = 0.03/1.25 = 0.024; ERP = 2.4%
Para la variable y
EA =1 0.3 - 0.38 1= 0.08; ER = 0.08/0.38 = 0.21; ERP = 21%
1.2 Error de redondeo al sumar un nmero grande y uno pequeo. Considere la sumatoria infinita
5= - = n i n 2 1
1 1 1 I - - - - - . . . 4 9 16 25
1 - . . . 100
resulta (usando precisin sencilla y 5000 como valor final de n) 1.644725 si se suma de izquierda a derecha, permesulta 1.644834 si se suma de derecha a izquierda, a partir de
n = 5000.
Debe notarse que el resultado de sumar de derecha a izquierda es ms exacto, ya que en todos los trminos se suman valores de igual magnitud. 1111 Por el contrario, al sumar de izquierda a derecha, una vez que se avanza en la sumatoria, se sumarn nmeros cada vez ms grandes con nmeros ms pequeos. Lo anterior se corrobora si se realiza la suma en ambos sentidos, pero ahora con doble precisin. El resultado obtenido es 1.64473408684689 (estos resultados pueden variar de mquina a mquina). 13 Reduccin de errores. Para resolver la ecuacin cuadrtica 100 x2 - 10011 x + 10.011 = 0, el mtodo comn sera usar la frmula
-b ,162 -
4ac
2a despus de dividir la ecuacin entre 100. x2 - 100.11x+ 0.1001i = O cifras decimas es mulla ecuacin
Mtodos numricos aplicados a la ingeniera Trabajando con aritmtica de cinco dgitos x= 100.11 i/10022 0.40044 2 100.11 100.11 2 100.11 111022 2
200.22 100.11 0 2
las soluciones verdaderas, redondeadas a cinco dgitos decimales son 100.11 y 0.00100. El mtodo empleado fue adecuado para la solucin mayor, pero no del todo para la solucin menor. Si las soluciones fueran divisores de otras expresiones, la solucin x = O hubiese causado problemas serios. Se restaron dos nmeros "casi iguales" (nmeros iguales en aritmtica de cinco dgitos) y sufrieron prdida de exactitud. Cmo evitar esto" Una forma sera reescribir la expresin para la solucin de una ecuacin cuadrtica a fin de evitar la resta de nmeros "casi iguales". El problema, en este caso, se da en el signo negativo asignado a la raz cuadrada; esto es
4a c, queda
(-6 + -162 - 4 a c) _ (-6)2 - (62 - 4 a c ) 2a (-6 + 162 - 4 a c) 2a (-a + 162 - 4 a c) 2c 4a c 2a (-6 + 362 - 4 a c) (-6 + -116 2 - 4ac) a = 1, b = 100.11, y c =0.10011, se obtiene
0.20022 0.001 (en aritmtica de cinco dgitos) 200.22
que es el valor verdadero, redondeado a cinco dgitos decimales. Esta forma alternativa para calcular una raz pequea de una ecuacin cuadrtica, ca. si siempre produce una respuesta ms exacta que la de la frmula usual (vase Prob. 2.31) 1.4 Ms sobre reduccin de errores. Se desea evaluar la expresin A / ( 1 sen x ), en x = 89 41'. En tablas con cinco cifra; decimales, sen 89 41' = 0.99998. Con aritmtica de cinco dgitos y redondeando se tiem sen x = 0.99998 y 1 sen x= 0.00002 El valor de sen x slo tiene cuatro dgitos exactos (confiables). Por otro lado, el ni co dgito que no es cero en 1 sen x se ha calculado con el dgito no confiable de sen por lo que se pudo perder la exactitud en la resta. Esta situacin de arriba puede mejorarse observando que cos i x 1 sen2 x ( I sen x )( 1 + sen x ) I sen x = 1 + sen x 1 + sen x 1 + sen x
Errores
23
Por esto, es posible escribir 1 sen x de una forma que no incluye la resta de dos nmeros casi iguales. 1.5 Comparaciones seguras. En los mtodos numricos, a menudo la comparacin de igualdad de dos nmeros en notacin de punto flotante permitir terminar la repeticin de un conjunto de clculos (proceso cclico o iterativa), En vista de los errores observados, es recomendable comparar la diferencia de los dos nmeros en valor absoluto contra una tolerancia e apropiada, usando por ejemplo el operador de relacin menor o igual ( ). Esto se ilustra enseguida. En lugar de
SI X = Y ALTO;
Deber usarse:
SI ABS (XY) e ALTO;
QUE X= Y
QUE ABS
(XY) 5 e
donde e es un nmero pequeo (generalmente menor que uno, pero puede ser mayor, /dependiendo el contexto en que se trabaje) e indicar la cercana de X con Y que se aceptail como "igualdad" de X y K 1.6 Anlisis de resultados.
Al
ejecutar las siguientes instrucciones en Visual Basic con doble precisin y en Matlab, se tiene, respectivamente:
Se obtiene: 0.200000000000045
Se obtiene: 0.20000000000005
Ejecute las mismas instrucciones pero usando Y= 1000.25. Los resultados ahora son correctos. Explquelo.
24
Mtodos numricos aplicados a la Ingeniarla En doble precisin pueden manejarse alrededor de quince dgitos decimales de exactitud, de modo que la resta de arriba se representa 1000.200 - 1000.000 La computadora convierte Y a binario dando un nmero infinito de ceros y unos, y almacena un nmero distinto a 1000.2 (vase Prob. 1.6 b). Por otro lado, 1000 s se puede almacenar o representar exactamente en la computadora en binario en punto flotante (los nmeros con esta caracterstica se llaman nmeros mquina). Al efectuarse la resta se obtiene un nmero diferente de 0.2. Esto muestra por qu deber analizarse siempre un resultado de un dispositivo digital antes de aceptarlo. 1.7 Ms sobre anlisis de resultados. El mtodo de posicin falsa (vase seccin 2.4) obtiene su algoritmo al encontrar el punto de corte de la lnea recta que pasa por los puntos ( xp, yo ), ( xp yi ) y el eje x. Pueden obtenerse dos expresiones para encontrar el punto de corte xm
i)
xm =
Si (xD , yD)= ( 2.13, 4.19) y ( , y,) . (1.96, 6.87) y usando aritmtica de tres dgitos y redondeando, cul es la mejor expresin y por qu? Solucin Sustituyendo en i) y en ii) i) fi)
xm=
1.96 ( 4.19 )- 2.13 ( 6.87 ) - 2.38 4.19 - 6.87 2.13 - ( 2.13 - 1 .96 )4. 19 - 2.40 4.19 - 6.87
xm =
Al calcular los errores absoluto y relativo, y tomando como valor verdadero a 2.395783582, el cual se calcul con aritmtica de 13 dgitos, se tiene: EA = ER = EA = El? =
0.006588066
de donde es evidente que la forma fi) es mejor. Se sugiere al lector reflexionar sobre el por qu.
Problemas
1.1 Proporcione los smbolos o numerales romanos correspondientes a los siguientes smbolos arbigos 10, 100, 1000, 10000, 100000, 1000000
Errores
25
1.2
Convierta' los siguientes nmeros decimales a los sistemas con base 2 y base 8, y viceversa.
a) 536
b)
923 573
c) 1536
d) 8 d) 2
e) 2 e) 10
f) 10 g)
1.3 1.4
Convierta los siguientes nmeros enteros del sistema octal a binario y viceversa.
a) 777
b)
c) 7
D0
Resuelva las siguientes preguntas. El nmero 101121 pertenece al sistema binario? El nmero 3852 pertenece al sistema octal? Si su respuesta es NO en alguno de los incisos, explique por qu; si es S, convirtalo(s) a decimal.
1.5
Convierta los siguientes nmeros dados en binario a decimal y viceversa, usando la conversin a octal como paso intermedio a) 1000
b) 10101 c) 111111
1.6 1.7
Convierta los siguientes nmeros fraccionarios dados en decimal, a binario y octal a) 0.8 -
b)
0.2
c) 0.973
d) 0.356
e) 0.713
1) 0.10
0.010101 c) 0.0001
d) 0.11111 e) 0.00110011
1.8 1.9
Repita los incisos a)al) del problema 1.7, pero pasando a octal como paso intermedio. Convierta los siguientes nmeros, dados en decimal, a octal y binario.
a) 985.34' g) 0.9389
b)
10.1
c) 888.222_d) 3.57
e) 977.93
fi 0.357
h) -0.9389
En la seccin 1.2 se dijo que cada palabra de 16 bits puede contener un nmero ero cualquiera del intervalo -32768 a +32767. Investigue por qu se incluye al -32768, o \ien por qu el intervalo no inicia en -32767. Considere una computadora con una palabra de 8 bits. Qu rango de nmeros enteros puede contener dicha palabra? Represente el nmero -26 en una palabra de 8 bits. Dados los siguientes nmeros mquina en una palabra de 16 bits 1 1
O
1 1
1 1
O
1
1
1
c)
-15.324
c) 0.003485 d) 8 X 103
' Puede usar el Programa 1.1 del disco para comprobar sus resultados.
Mtodos numricos aplicados a la Ingeniarla SUGERENCIA: Pasar los nmeros a binario y despees normalizarlos. 1.15 1.16 Represente en doble precisin el nmero decimal del ejemplo 1.10 Elabore un programa para la calculadora o el dispositivo de clculo con el que se cuente, de modo que el nmero 0.0001 se sume diez mil veces consigo mismo 0.0001 + 0.0001 + + 0.0001 10000 2 1 El resultado deber imprimirse. Interprete este resultado de acuerdo con los siguientes lineamientos Si es 1, cmo es posible si se sumaron diez mil valores que no son realmente 0.0001? En caso de obtener 1, explore con el valor 0.00001, 0.000001, etc., hasta obtener un resultado diferente de 1. c) Es posible obtener un resultado menor de 1? Por qu? Con el programa del problema 1.16 efecte los clculos de los incisos a) a d) del ejemplo 1.12 y obtenga los resultados de la siguiente manera Inicialice la variable SUMA con 0, 1, 1000 y 10000 en los incisos a), b), c) y d), respectivamente, y luego en un ciclo smese a ese valor diez mil veces el 0.0001. Anote sus resultados. Inicialice la variable SUMA con 0 para los cuatro incisos y al final del ciclo donde se habr sumado 0.0001 consigo mismo 10000 veces, sume a ese resultado los nmeros 0, 1, 1000 y 10000 e imprima los resultados. Interprete las diferencias de los resultados. 1.18 La mayora de las calculadoras cientficas almacenan dos o tres dgitos de seguridad ms de los que despliegan. Por ejemplo, una calculadora que despliega ocho dgitos puede almacenar realmente diez (dos dgitos de seguridad); por tanto, ser un dispositivo de diez dgitos. Para encontrar la exactitud real de su calculadora, realice las siguientes operaciones. Divida 10 entre 3, al resultado rstele 3. Divida 100 entre 3, al resultado rstele 33. Divida 1000 entre 3, al resultado rstele 333. Divida 10000 entre 3, al resultado rstele 3333. Notar que la cantidad de los nmeros 3 desplegados se va reduciendo. La cantidad de 3 desplegada en cualquiera de las operaciones anteriores, sumada al nmero de ceros utilizados con el 1, indica el nmero de cifras significativas que maneja su calculadora. Por ejemplo, si con la segunda operacin despliega 0.3333333 la calculadora maneja nueve cifras significativas de exactitud (7 + 2 ceros que tiene 100). N OTA: Si su calculadora es del tipo intrprete BASIC, ni: p.-realice las operaciones como 1000/3-333 porque obtendr otros resultados. 1.19 Evale la expresin A I ( 1-cos x ), en un valor de x cercano a O. Cmo podra evitar la resta de dos nmeros casi iguales en el denominador? 1.20 Determine en su calculadora o microcomputadora si muestra un mensaje de ovedlow o no. 1.21 Deduzca las expresiones para xm dadas en el ejercicio 1.7. 1.22 Un nmero mquina para una calculadora o computadora es un nmero real que se almacena exactamente (en forma binaria de punto flotante). El nmero 125.32 del ejemplo 1.10,
26
1.17
Errores
27
evidentemente no es un nmero de mquina (si el dispositivo de clculo tiene una palabra de 16 bits). Por otro lado, el nmero 26 del ejemplo 1.8 s lo es, empleando una palabra de 16 bits. Determine 10 nmeros de mquina en el intervalo [10- 19, 1018 1 cuando se emplea una palabra de 16 bits. 1.23 Investigue cuntos nmeros mquina positivos es posible representar en una palabra de 16 bits. 1.24 Haga el anlisis de la propagacin de errores para la resta (vase anlisis de la suma, en la seccin 1.3). 1.25 Se desea evaluar la funcin e ir en el punto x = 1.0; sin embargo, si el valor de x se calcul en un paso previo con un pequeo error y se tiene x* = 1.01; determine Ef con las expresiones dadas en la evaluacin de funciones de la seccin 1.3. Luego determine Ef como f (1) f (1.01) y compare los resultados. 1.26 Resuelva el siguiente sistema de ecuaciones, usando dos cifras decimales para guardar los resultados intermedios y finales. 21.76x + 24.34y = 1.24 14.16x + I5.84y = 1.15
y determine el error cometido. La solucin exacta (redondeada a 5 cifras decimales es) x = 347.89167, y = 311.06667. 1.27 Codifique el siguiente algoritmo en su microcomputadora (use precisin sencilla) PASO 1. Leer A. PASO 2. Mientras A>0, repetir los pasos 3 y 4. PASO 3. IMPRIMIR Ln(Exp(A))A, Exp(Ln(A))A PASO 4. Leer A PASO 5. TERMINAR. Ejectelo con diferentes valores de A, por ejemplo 0.2, 0.25, 1, 1.5, 1.8, 2.5, 3.14159, 0.008205, etc., y observe los resultados. 1.28 Modifique el programa del problema del ejemplo 1.27 usando doble precisin para A y compare los resultados. 1.29 Modifique el paso 3 del programa del problema 1.27 para que quede as IMPRIMIR SQR(A A 2) A, SQR(A) A 2 A y vuelva a ejecutarlo con los mismos valores. 1.30 Realice la modificacin indicada en el problema 1.29 al programa del problema 1.28. Compare los resultados. 1.31 Repita los problemas 1.27 a 1.30 con lenguaje Pascal (puede usar Delphi, por ejemplo), con lenguaje Visual C++ y compare los resultados con los obtenidos en Basic.
g)
1.9
1111011001.0101011102 a) 985.34 10 = 1731.256g 1010.000110011 2 12.063s 10.110 == / 1101111000.0011000110102 888.222 10 = 1570.16158 9 11.1001000111102 3.44368 3.5710 = 1111010001.1110111000012 977.93 10 = 1721.7341 s 0.0101101101102 0.26662 0.357 10 =. 0.1111000001011011112 0.9389 10 = 0.740557g -0.1111000001011011112 h) -0.9389 10 = -0.7405578 1,
a) 0.19921875 -160 9306112 a) 0.1011010011100011101100101 X 21010 -0.111101010010 1111 x 2100 0.1110010001100 1001 X 2-10 d) 0.1111101 X 21101 La mantisa normalizada ms pequea en binario es 0.10000000 (=112 en decimal), no 0.00000001 (2- 8 )y la mayor es0.11111111 (= 1). te, 11, Por esto, los nmeros de mquina positivos deben quedar en el intervalo cerrado donde
1.13
1.14
1.23
586
s,
L]
E= -64
E= +62
E=+63
donde E es la caracterstica. Ntese que cada subintervalo es dos veces ms grande que su predecesor. Para cada E hay 28 posibles mantisas normalizadas. Por tanto, una computadora con una palabra de 16 bits puede almacenar un total de 128 x 28 = 32768 nmeros positivos de mquina en el intervalo [5,1] 1126 x qt
CAPITULO
-278; y = 248.67 2
2
;
2.1
x=nn;n= O, 1, 2,...
1
2 tanx
g' (x) = I +
e) g' (x)-
4./ 6 - x -x3
x - 013 . x - 1 2 x 0; x - 0.5
sec x sec x tan x I) g' (x) = ; g' (x) = 2 2 2.3 (del problema 2.1) a) 0.46557 z = 4.09546
b) 5 = 4.87035 e) x= 1
e) = 0.
J) z --
0.61003
2.6 2.8
= 3.14619
6) s -= 0.85261
R = 1.02987
d) 8
0.20164