11

Click here to load reader

Ejercicios Del Libro

Embed Size (px)

Citation preview

Page 1: Ejercicios Del Libro

011 Métodos numéricos aplicados a la ingeniería

titular; uno de los criterios de selección es la estabilidad del algoritmo; esto es, que a peque-ños errores de los valores manejados se obtengan pequeños errores en los resultados finales.

Supóngase que un error E se introduce en algún paso en los cálculos, y que el errorde propagación de n operaciones subsiguientes se denota por E n . En la práctica, por lo ge-neral se presentan dos casos.

I E n I e nc E, donde c es una constante independiente de re se dice entoncesque la propagación del error es lineal.

I E n I = /e' E, para k> 1; se dice entonces que la propagación del error es ex-ponencial.

La propagación lineal de los errores suele ser inevitable; cuando c y E son peque-ños, los resultados finales normalmente son aceptables. Por otro lado, la propagación expo-nencial debe evitarse, ya que el término crece con rapidez para valores relativamentepequeños de n. Esto conduce a resultados finales muy poco exactos, sea cual sea el tamañode E. Como consecuencia, se dice que un algoritmo con crecimiento lineal del error es esta-ble, mientras que un algoritmo con una propagación exponencial es inestable (véase Fig. 1.4).

Figura 1.7Propagación

lineal ypropagación

exponencial de E

errores.

Ejercicios

Propagación exponencial -

e,=Mee

9Propagación lineal_

e . e„=nce

9 1:1 El 0a

9E

1 1 1 . 2 4 7 8 9 n 10

0 1.1 Error de redondeo al restar dos números casi iguales.

Vamos a considerar las ecuaciones

31.69x + 14.31 y 45.00 (1)13.05x + 5.89 y = 18.53 (2)

La única solución de este sistema de ecuaciones es (redondeando a cinco cifras dmales) x = 1.25055, y = 0.37527. Un método para resolver este tipo de problemas es n)tiplicar la ecuación (1) por el coeficiente de x de la ecuación (2), multiplicar la ecuaci

Page 2: Ejercicios Del Libro

Propagación lineale= /ICE

e 9 10

Figura 1.7Propagación

lineal ypropagación

exponencial deerrores.

Ejercicios

e

a

2 3 4 5 6

Métodos numéricos aplicados a la ingeniería

tieular; uno de los criterios de selección es la estabilidad del algoritmo; esto es, queños errores de los valores manejados se obtengan pequeños errores en los resultado

Supóngase que un error E se introduce en algún paso en los cálculos, y qutde propagación de n operaciones subsiguientes se denota por E n . En la práctica, p

neral se presentan dos casos.

I E„ 1 n c E, donde c es una constante independiente de n; se diceque la propagación del error es lineal.

I E, I = le E, para k > 1; se dice entonces que la propagación del enponencial.

La propagación lineal de los errores suele ser inevitable; cuando c y E soños, los resultados finales normalmente son aceptables. Por otro lado, la propagacinencial debe evitarse, ya que el término kn crece con rapidez para valores relatpequeños de n. Esto conduce a resultados finales muy poco exactos sea cual sea ede E. Como consecuencia se dice que un algoritmo con crecimiento lineal del erreble, mientras que un algoritmo con una propagación exponencial es inestable (véase

Propagación exponenciale„= k"e

o

1.1 Error de redondeo al restar dos números casi iguales.

Vamos a considerar las ecuaciones

3I.69x + 14.31 y = 45.00

13.05x + 5.89 y = 18.53

La única solución de este sistema de ecuaciones es (redondeando a cinco cimales)x = 1.25055, y = 0.37527. Un método para resolver este tipo de problematiplicar la ecuación (1) por el coeficiente de x de la ecuación (2), multiplicar la

o

Page 3: Ejercicios Del Libro

Errores 21

1, que a peque-Mados finales.y que el errortica, por lo ge-

dice entonces

el error es ex-

E son peque-agación expo-relativamentesea el tamaño1 error es esta-&se Fig I 4)

(2) por el coeficiente de x de la ecuación (1) y después restar las ecuaciones resultantes.Para este sistema se obtendría (como los coeficientes tienen dos cifras decimales, todas lasoperaciones intermedias se efectúan 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

(18.53) - 5.89 (0.3) 18.53 - 1.77 16.76x -

16.76 _ 12813.05 13.05 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%

cifras deci-mas es mul-la ecuación

1.2 Error de redondeo al sumar un número grande y uno pequeño.

Considere la sumatoria infinita

1 1 1 1 1 I 1

5 = - = - - - - - . . . - . . .n i n2 1 4 9 16 25 100

resulta (usando precisión sencilla y 5000 como valor final de n) 1.644725 si se suma de iz-quierda a derecha, permesulta 1.644834 si se suma de derecha a izquierda, a partir den = 5000.

Debe notarse que el resultado de sumar de derecha a izquierda es más exacto, ya que

en todos los términos se suman valores de igual magnitud. 1111Por el contrario, al sumar de izquierda a derecha, una vez que se avanza en la suma-

toria, se sumarán números cada vez más grandes con números más pequeños.Lo anterior se corrobora si se realiza la suma en ambos sentidos, pero ahora con do-

ble precisión. El resultado obtenido es 1.64473408684689 (estos resultados pueden variarde máquina a máquina).

13 Reducción de errores.

Para resolver la ecuación cuadrática

100 x2 - 10011 x + 10.011 = 0,

el método común sería usar la fórmula

-b ±,162 - 4 a c2a

después de dividir la ecuación entre 100.

x2 - 100.11x+ 0.1001i = O

100.11 ± V(-100.11)2 - 4(0.10011)2

Page 4: Ejercicios Del Libro

Métodos numéricos aplicados a la ingeniería

Trabajando con aritmética de cinco dígitos

100.11 ± i/10022 — 0.40044 100.11 ± 111022x = 2 2

100.11 ± 100.11 200.22 — 100.112 0

2

las soluciones verdaderas, redondeadas a cinco dígitos decimales son 100.11 y 0.00100.El método empleado fue adecuado para la solución mayor, pero no del todo para la

solución menor. Si las soluciones fueran divisores de otras expresiones, la solución x = O

hubiese causado problemas serios.Se restaron dos números "casi iguales" (números iguales en aritmética de cinco dígi-

tos) y sufrieron pérdida de exactitud.¿Cómo evitar esto" Una forma sería reescribir la expresión para la solución de una

ecuación cuadrática a fin de evitar la resta de números "casi iguales".El problema, en este caso, se da en el signo negativo asignado a la raíz cuadrada; esto es

-42 - +162 - 4 a c 2 a

Multiplicando ¡numerador y denominador por -b + -á? - 4a c, queda

(-6 - - 4 a c (-6 + -162 - 4 a c) _ (-6)2 - (62 - 4 a c )

2a (-a + 162 - 4 a c) 2a (-6 + 162 - 4 a c)

4a c 2 c

2a (-6 + 362 - 4 a c) (-6 + -1162 - 4ac)

Usando esta expresión con a = 1, b = —100.11, y c =0.10011, se obtiene

2 ( 0.10011) 0.20022 — 0.001 (en aritmética de cinco dígitos)

100.11 + 1 0022 200.22

que es el valor verdadero, redondeado a cinco dígitos decimales.Esta forma alternativa para calcular una raíz pequeña de una ecuación cuadrática, ca.

si siempre produce una respuesta más exacta que la de la fórmula usual (véase Prob. 2.31)

1.4 Más sobre reducción de errores.

Se desea evaluar la expresión A / ( 1 — sen x ), en x = 89° 41'. En tablas con cinco cifra;decimales, sen 89° 41' = 0.99998. Con aritmética de cinco dígitos y redondeando se tiem

sen x = 0.99998 y 1 — sen x= 0.00002

El valor de sen x sólo tiene cuatro dígitos exactos (confiables). Por otro lado, el úni

co dígito que no es cero en 1 — sen x se ha calculado con el dígito no confiable de sen

por lo que se pudo perder la exactitud en la resta.Esta situación de arriba puede mejorarse observando que

( I — sen x )( 1 + sen x ) 1 — sen2 x cosi xI sen x =

1 + sen x 1 + sen x 1 + sen x

Page 5: Ejercicios Del Libro

Errores

23

Por esto, es posible escribir 1 — sen x de una forma que no incluye la resta de dos nú-meros casi iguales.

1.5 Comparaciones seguras.

En los métodos numéricos, a menudo la comparación de igualdad de dos números en no-tación de punto flotante permitirá terminar la repetición de un conjunto de cálculos (pro-ceso cíclico o iterativa), En vista de los errores observados, es recomendable comparar ladiferencia de los dos números en valor absoluto contra una tolerancia e apropiada, usandopor ejemplo el operador de relación menor o igual ( ). Esto se ilustra enseguida.

En lugar de

SI X = Y ALTO; En caso contrario REPETIR las instrucciones 5 a 9

Deberá usarse:

SI ABS (X—Y) � e ALTO; en caso contrario REPETIR las instrucciones 5 a 9.

En lugar de

REPETIR

{ Pasos de un ciclo )

HASTA QUE X= Y

Deberá usarse

REPETIR

( Pasos de un ciclo}

HASTA QUE ABS (X—Y) 5 e

donde e es un número pequeño (generalmente menor que uno, pero puede ser mayor, /de-pendiendo el contexto en que se trabaje) e indicará la cercanía de X con Y que se aceptailcomo "igualdad" de X y K

1.6 Análisis de resultados.

Al ejecutar las siguientes instrucciones en Visual Basic con doble precisión y en Matlab,se tiene, respectivamente:

Se obtiene: Se obtiene:0.200000000000045 0.20000000000005

Ejecute las mismas instrucciones pero usando Y= 1000.25. Los resultados ahora soncorrectos. Explíquelo.

Page 6: Ejercicios Del Libro

24 Métodos numéricos aplicados a la Ingeniarla

En doble precisión pueden manejarse alrededor de quince dígitos decimales de exac-titud, de modo que la resta de arriba se representa

1000.200 - 1000.000

La computadora convierte Y a binario dando un número infinito de ceros y unos, y al-macena un número distinto a 1000.2 (véase Prob. 1.6 b).

Por otro lado, 1000 sí se puede almacenar o representar exactamente en la compu-tadora en binario en punto flotante (los números con esta característica se llaman númerosmáquina). Al efectuarse la resta se obtiene un número diferente de 0.2. Esto muestra porqué deberá analizarse siempre un resultado de un dispositivo digital antes de aceptarlo.

1.7 Más sobre análisis de resultados.

El método de posición falsa (véase sección 2.4) obtiene su algoritmo al encontrar el pun-to de corte de la línea recta que pasa por los puntos ( xp, yo ), ( xp yi ) y el eje x. Puedenobtenerse dos expresiones para encontrar el punto de corte xm

x, yo - xoy! (xD- xl)yDi) xm = fi) xm -Y o - YI YD- Y1

Si (xD , yD)= ( 2.13, 4.19) y ( , y,) . (1.96, 6.87) y usando aritmética de tres dígi-tos y redondeando, ¿cuál es la mejor expresión y por qué?

Solución Sustituyendo en i) y en ii)

1.96 ( 4.19 )- 2.13 ( 6.87 )

i) xm= - 2.384.19 - 6.87

( 2.13 - 1 19.96 )4.

fi) xm = 2.13 - - 2.404.19 - 6.87

Al calcular los errores absoluto y relativo, y tomando como valor verdadero a 2.395783582,el cual se calculó con aritmética de 13 dígitos, se tiene: -

EA = 2.395783582 - 2.38 = 0.015783582

0.015783582ER = - 0.006588066

2.395783582

EA = 2.395783582 - 2.40 = 0.004216418

0.004216418El? = 0.001759932

2.395783582

de donde es evidente que la forma fi) es mejor. Se sugiere al lector reflexionar sobre el porqué.

Problemas

1.1 Proporcione los símbolos o numerales romanos correspondientes a los siguientes símbo-los arábigos

10, 100, 1000, 10000, 100000, 1000000

Page 7: Ejercicios Del Libro

O 1

1

O

0

1

1

1

11

1

1

O

1

1

Errores

25

- 1.2 Convierta' los siguientes números decimales a los sistemas con base 2 y base 8, y viceversa.

a) 536 b) 923 c) 1536 d) 8 e) 2 f) 10 g)

1.3 Convierta los siguientes números enteros del sistema octal a binario y viceversa.

a) 777 b) 573 c) 7 d) 2 e) 10 D0

1.4 Resuelva las siguientes preguntas.

¿El número 101121 pertenece al sistema binario?¿El número 3852 pertenece al sistema octal?

Si su respuesta es NO en alguno de los incisos, explique por qué; si es Sí, conviértalo(s) adecimal.

1.5 Convierta los siguientes números dados en binario a decimal y viceversa, usando la con-versión a octal como paso intermedio

a) 1000 b) 10101 c) 111111

1.6 Convierta los siguientes números 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

1.7 Convierta los siguientes números fraccionarios, dados en binario, a decimal

a) 0.1 b) 0.010101 c) 0.0001 d) 0.11111 e) 0.00110011fi 0.0110111

1.8 Repita los incisos a)al) del problema 1.7, pero pasando a octal como paso intermedio.

1.9 Convierta los siguientes números, dados en decimal, a octal y binario.

a) 985.34' b) 10.1 c) 888.222_d) 3.57 e) 977.93 fi 0.357g) 0.9389 h) -0.9389

1.10 En la sección 1.2 se dijo que cada palabra de 16 bits puede contener un número erocualquiera del intervalo -32768 a +32767. Investigue por qué se incluye al -32768, o \ ienpor qué el intervalo no inicia en -32767.

1.11 Considere una computadora con una palabra de 8 bits. ¿Qué rango de números enterospuede contener dicha palabra?

1.12 Represente el número -26 en una palabra de 8 bits.1.13 Dados los siguientes números máquina en una palabra de 16 bits

c)

¿Qué decimales representan?

1.14 Normalice los siguientes números

a) 723.5578 b) -15.324 c) 0.003485 d) 8 X 103

' Puede usar el Programa 1.1 del disco para comprobar sus resultados.

Page 8: Ejercicios Del Libro

26 Métodos numéricos aplicados a la Ingeniarla

SUGERENCIA: Pasar los números a binario y despees normalizarlos.

1.15 Represente en doble precisión el número decimal del ejemplo 1.10

1.16 Elabore un programa para la calculadora o el dispositivo de cálculo con el que se cuente,de modo que el número 0.0001 se sume diez mil veces consigo mismo

0.0001 + 0.0001 + + 0.00011 2 10000

El resultado deberá imprimirse. Interprete este resultado de acuerdo con los siguientes li-

neamientos

Si es 1, ¿cómo 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é?

1.17 Con el programa del problema 1.16 efectúe los cálculos 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), res-

pectivamente, y luego en un ciclo súmese 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 dondese habrá sumado 0.0001 consigo mismo 10000 veces, sume a ese resultado los nú-meros 0, 1, 1000 y 10000 e imprima los resultados.

Interprete las diferencias de los resultados.

• 1.18 La mayoría de las calculadoras científicas almacenan dos o tres dígitos de seguridad más delos que despliegan. Por ejemplo, una calculadora que despliega ocho dígitos puede almace-nar realmente diez (dos dígitos de seguridad); por tanto, será un dispositivo de diez dígitos.Para encontrar la exactitud real de su calculadora, realice las siguientes operaciones.

Divida 10 entre 3, al resultado réstele 3.

Divida 100 entre 3, al resultado réstele 33.

Divida 1000 entre 3, al resultado réstele 333.

Divida 10000 entre 3, al resultado réstele 3333.

Notará que la cantidad de los números 3 desplegados se va reduciendo.

La cantidad de 3 desplegada en cualquiera de las operaciones anteriores, sumada al núme-ro de ceros utilizados con el 1, indica el número de cifras significativas que maneja su cal-culadora. Por ejemplo, si con la segunda operación despliega 0.3333333 la calculadoramaneja nueve cifras significativas de exactitud (7 + 2 ceros que tiene 100).

NOTA: Si su calculadora es del tipo intérprete BASIC, ni: p.-realice las operaciones como1000/3-333 porque obtendrá otros resultados.

1.19 Evalúe la expresión A I ( 1-cos x ), en un valor de x cercano a O°. ¿Cómo podría evitar la

resta de dos números 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 número máquina para una calculadora o computadora es un número real que se almace-

na exactamente (en forma binaria de punto flotante). El número —125.32 del ejemplo 1.10,

Page 9: Ejercicios Del Libro

Errores 27

evidentemente no es un número de máquina (si el dispositivo de cálculo tiene una palabra de16 bits). Por otro lado, el número —26 del ejemplo 1.8 sí lo es, empleando una palabra de 16bits. Determine 10 números de máquina en el intervalo [10- 19, 1018 1 cuando se emplea unapalabra de 16 bits.

1.23 Investigue cuántos números máquina positivos es posible representar en una palabra de16 bits.

1.24 Haga el análisis de la propagación de errores para la resta (véase análisis de la suma, en lasección 1.3).

1.25 Se desea evaluar la función e ir en el punto x = 1.0; sin embargo, si el valor de x se calcu-ló en un paso previo con un pequeño error y se tiene x* = 1.01; determine Ef con las ex-presiones dadas en la evaluación de funciones de la sección 1.3. Luego determine Ef co-mo f (1) — f (1.01) y compare los resultados.

1.26 Resuelva el siguiente sistema de ecuaciones, usando dos cifras decimales para guardar losresultados intermedios y finales.

21.76x + 24.34y = 1.24 14.16x + I5.84y = 1.15

y determine el error cometido. La solución exacta (redondeada a 5 cifras decimales es) x =—347.89167, y = 311.06667.

1.27 Codifique el siguiente algoritmo en su microcomputadora (use precisión 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))—APASO 4. Leer A

PASO 5. TERMINAR.

Ejecútelo 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 precisión para A ycompare 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 modificación 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.

Page 10: Ejercicios Del Libro

RESPUESTAS A PROBLEMAS

SELECCIONADOS

CAPITULO 1

1.2 a)

g)

536 10 = 10308 = 10000110002

923 10 = 1633 8 = 1110011011z

15368 = 30008 = 110000000002

810 = 108 = 10002

210 = 28 =10 10 = 12s =

10210102

°10 = 88 -12

7778 = 11111111125738 = 1011110112

78 = 111228 = 102

108 = 1000208 = 02

81021106310

1.4 a) 10002101012

1111112

1.9 a) 985.34 10 = 1731.256g10.110 == 12.063s

888.222 10 = 1570.161583.5710 = 3.44368

977.93 10 = 1721.7341 s0.35710 =. 0.26662

0.9389 10 = 0.740557g

h) -0.9389 10 = -0.7405578

1111011001.01010111021010.000110011 2

9/ 1101111000.001100011010211.1001000111102

1111010001.11101110000120.0101101101102

0.11110000010110111121-, -0.1111000001011011112

1.13 a) 0.19921875-1609306112

1.14 a) 0.1011010011100011101100101 X 21010-0.111101010010 1111 x 21000.1110010001100 1001 X 2-10

d) 0.1111101 X 21101

1.23 La mantisa normalizada más pequeña en binario es 0.10000000 (=112 en decimal), no

0.00000001 (2-8)y la mayor es0.11111111 (= 1).Por esto, los números de máquina positivos deben quedar en el intervalo cerrado te, 11,

donde

Page 11: Ejercicios Del Libro

586 Métodos numéricos aplicados a la ingeniería

s = número de máquina positivo más pequeño = (0.10000(100)X2-84

= 2-88 = 0.2710505 X 10-18

yL número de máquina positivo mayor = + (0.11111111) X263

= 0.91873437 X 1012

El intervalo [s, L] puede dividirse en 128 subintervalos

[s, 2s), [2s, 22s), [22s, 23s), [2126s 2127s) , [2127 s , L]

E= -64 E=-63 E=-62 E= +62 E=+63

donde E es la característica.Nótese que cada subintervalo es dos veces más grande que su predecesor. Para cada

E hay 28 posibles mantisas normalizadas. Por tanto, una computadora con una palabra de16 bits puede almacenar un total de

128 x 28 = 32768 números positivos de máquina en elintervalo [5,1]

1126 x -278; y = 248.67

qtCAPITULO 2

2.1 a) g' (x) - 2 x> 0.26

(x + ; X < -2 26

2 (x - it2/3g' (x)- 3 (x ion ; x > 1.125

g' (x) cos x; x=nn;n= O, 1, 2,...

g , (4.x+ lnx 1

2 tanx 2

g' (x) = I +(1 / x) tan x - In x sec2x

2 tan 2x; - 3.8; x = 4.2

1 + 3x2 e) g' (x)- • x - 013 . x - 1 2

4./ 6 - x -x3

sec x sec x tan xI) g' (x) = — ; g' (x) = 2

x 0; x - 0.52

2.3 (del problema 2.1)

a) 0.46557

b) 5 = 4.87035 e) = 0.

z = 4.09546 e) x= 1

J) z -- 0.61003

2.6 a) n multiplicaciones y n sumas

6) 2n multiplicaciones y n sumas

2.8 a) 1 = 3.14619 6) s •-= 0.85261

R = 1.02987 d) 8 0.20164

CO