Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
METODOS NUMERICOS UN PRIMER CURSO IvAN FRANCISCO ASMAR CHARRIS PROFESOR ASOCIADO J,!!a;vamAD 1~~" II .:: E! COLOMBIA. J.UJ.l t t ,I DEPTO. DE B lBUOTECAS 'IBLlOTECA "EFE" GOME? UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MEDELLIN FACULTAD DE CIENCIAS DEPARTAMENTO DE MATEMATICAS 1999 I I I~ I IIIIIIII 6 4000 00128374 9 / Mis agradecimientos a la permanencia en esta instilllcioll par y fZlego como docen/e, me ha METODOS NUMERICOS UN PRIMER CURSO Segunda Edici6n 1999 ISBN 958-9352-12-X Caratula: "Fractal ". 1999 Horacio Arango Marin Profesor Asociado Universidad Nacional Medellin Diseno de caratula: Hector H. Aristizabal G. Profesor Asociado Universidad Nacional Medellin Ayudas computacionales: Julio C. Morales C. Profesor Asociado Universidad Nacional Medellin Asistencia tecnica: Libardo Lotero Valencia Asistente Administrativo Facultad de Ciencias Universidad Nacional Medellin Impreso en Medellin Esta obra se termin6 de imprimir en Julio de 1999 en la Litografia Graficas Montoya Se imprimieron 500 ejemp/ares r Iq·J-j 1S Iqqq ~.Jt ------ cos Mis agradecimientos a /a Universf'dad Naciona/ de Colombia, pues mi permanencia en esta institl/cion por mas de veinte anos, primero como estudiante y fuego como docente, me ha posibilitado e/ feliz termino de esta obra /win F Asmar Ch. l1NtvP:R~m 0 NACI( l~lALDI:! CoLOMBtA ! I ... ~ . • t If DEfT I). Vl..!. L I pI IOT~CAS R1Rl I{ ,"'ITA "r-I· r " G"Ml ' INTRODUCCION EI presente material esta dirigido a servir de ayuda tanto a estudiantes como profesores en un primer curso de Metodos Numericos, y ha sido escrito teniendo en cuenta el programa del curso que se dicta actualmente para las carreras de Ingenierfa en la Universidad Nacional de Colombia, sede Medellin. En el primer capitulo se hace una introducci6n a la aritmetica de punto fiotante, errores de redondeo, estabilidad de un algoritmo y problemas mal condicionados. En el capitulo dos se estudian los metodos numericos basicos para encontrar ralces aproximadas de una ecuaci6n algebraica no-lineal en una variable. Se hace enfasis en los metod os de Punto Fijo y Newton-Raphson y la aplicaci6n de este ultimo en la busqueda de ralces reales de ecuaciones polin6micas. EI capitulo tres se dedica al estudio de metodos numericos para encontrar soluciones aproximadas de sistemas de ecuaciones lineales y no-lineales. En el caso de los sistemas lineales se estudian metodos directos basad os en la eliminaci6n de Gauss y los metodos iterativos de Jacobi, Gauss-Seidel y SOR; tambien se estudia con algun detalle el problema del condicionamiento de una matriz y su relaci6n con la soluci6n numerica de un sistema de ecuaciones. Para sistemas no-lineales se estudian los metod os de Punto Fijo y Newton Raphson , y como una aplicaci6n del metodo de Newton-Raphson, se estudia el metodo de Bairstow para hallar ralces reales y/o complejas de ecuaciones polin6micas. En el capitulo cuatro se tratan los temas de interpolaci6n polinomial y ajuste, segun mlnimos cuadrados, mediante polinomios. En 10 referente a la interpolaci6n se estudian las formas interpolantes de Lagrange y Newton y la interpolaci6n segmentaria cubica. Se hace aproximaci6n discreta polinomial por mlnimos cuadrados para un conjunto fin ito de puntos en el plano y se consideran los casos de ajuste exponencial, logarltmico y de potencia p~r minimos cuadrados. En el capitulo cinco se trata el calculo numerico de integrales definidas mediante los metodos de los Trapecios, Simpson (iJy (%), Romberg, coeficientes indeterminados y cuadratura Gaussiana. Finalmente, el capitulo seis esta dedicado al estudio de algunos metod os numericos para la .' aproximaci6n discreta de la soluci6n de un problema de valor inicial para ecuaciones diferenciales ordinarias. En este capitulo he recogido los metodos unipasos de Euler, Euler mejorado, Heun, metodo de los tres primeros terminos de la serie de Taylor y metodo de Runge-Kutta de cuarto orden. AI final de cada capitulo se incluye una colecci6n de problemas, a manera de taller, para que el leCtor complemente los aspectos te6ricos y se ejercite en las aplicaciones. vi INTRODUCCION Hace algunos anos, los cursos de metodos numericos eran practicamente te6ricos , ya que el acceso a los computadores era diflcil. A los estudiantes se les ensenaba c6mo trabajar los algoritmos numericos y se les mostraban los resultados de algunos programas hechos previamente en el computador, pero el estudiante tenia poca oportunidad de experimentar por si mismo con los algoritmos. Una vez que el computador fue mas accesible, el estudiante pudo experimentar algo mas con los metodos numericos, luego de capacitarse en algun lenguaje de programaci6n como BASIC, FORTRAN, PASCAL, etc., pero al gastar horas en la programaci6n de tales metodos, ya no disponia de tiempo suficiente para explorar un gran numero de algoritmos numericos diferentes Afortunadamente, en la actualidad disponemos de herramientas computacionales que no requieren del conocimiento de algun lenguaje de programaci6n , las cuales ademas de permitir explorar diversos algoritmos numericos, ofrecen entre otras las siguientes ventajas: se puede realizar un numero importante de iteraciones, 10 cual sin tales herramientas no seria posible 0 requeriria demasiado tiempo; facilita el manejo de las funciones desde el punto de vista del calculo ; familiariza en el uso del computador; refuerza el trabajo en pequerios grupos y permite abordar algunos problemas que por la enorme cantidad de operaciones aritmetico-algebraicas involucradas no era posible tratar. Para lIevar a cabo los calculos numericos correspondientes a la mayorfa de los metodos .. numericos desarrollados en este texto, se ha escogido el paquete computacional DERIVE ( el cual es potente, amigable, de poco requerimiento de maquina y relativamente econ6mico) complementado con procedimientos en DERIVE elaborados por el profesor Julio Cesar Morales C , de nuestro Departamento de Matematicas. Por esta raz6n he agregado en esta segunda edici6n algunas instrucciones correspondientes a tales procedimientos, y que el lector encontrara enseguida de algunos ejemplos; tambien he adicionado a este material un disquete que contiene los procedimientos mencionados. Para complementar la informaci6n en DERIVE, aqui utilizada, puede consultarse el manual "Ayudese en Matematicas y Graficas con DERIVE", escrito por el profesor Morales (ver bibliografia) . Para utilizar las ayudas que vienen en el disquete, una vez que se ha cargado el DERIVE, ejecute el comando TRANSFER+ LOAD+UTILITY y digite X:\zETAM .MTH, donde X denota el nombre del drive donde insert6 el disquete (deje cargar completamente, sin tocar el teclado!). Tambien estan, dentro de las ayudas ofrecidas, unos archivos demostrativos correspondientes a cadauno de los capitulos desarrollados en este libro; tales archivos contienen resultados de algunos ejemplos y problemas planteados en el texto. Para cargar estos archivos demostrativos, una vez que se ha cargado el archivo ZETAM.MTH, cargue el archivo que usted requiera , de acuerdo con el capitulo deseado, ejecutando el comando TRANSFER+DEMO y editando X:\CAP?DMO, donde ? denota el numero del capitulo (si desea salir de este archiv~ , use la tecla Esc). En el mismo disquete esta el archivo HMETODOS.MTH , que especifica las ayudas para la sintaxis de las funciones que se utilizan en los calculos numericos que aparecen en este texto y da una breve descripci6n de algunas de elias. Para hacer uso de estas ayudas, puede cargarlas ejecutando el comando TRANSFER+MERGE (agrega las expresiones que estan en el archivo que se carga a las que se encuentran en la ventana de Algebra) y editando X:\HMETODOS.MTH. Quiero agradecer al profesor Julio C computacional correspondiente a este desarrollo del curso de Metodos l'tUll ta'I'lIiIIlIII En la portada apareceel graflCo de un lenguaje PASCAL por el profesor de la Universidad Nacional, sede la funci6n f(Z) ::: Z2 +c, con zee · 0 Zo e[-2,2] x [-2,2] (condici6n InlCill). condici6n inicial dada zo, el NUllil lrtlft1 Finalmente, quiero agradecer al sobre este material, las cua" profesores Mario Arias Zabala Manuel, actual Director del Des. para IIevar a cabo este trabajo. )s numericos eran practicamente te6ricos, ya que el los estudiantes se les ensenaba c6mo trabajar los ,an los resultados de algunos programas hechos ~studiante tenfa poca oportunidad de experimentar cesible, el estudiante pudo experimentar algo mas pacitarse en algun lenguaje de programaci6n como I gastar horas en la programaci6n de tales metodos, explorar un gran numero de algoritmos numericos nales -que no ademas de 'tes ventajas: amientas no I es desde el I trabajo en cantidad de los metodos .. DERIVE (el economico) Julio Cesar ado en esta 'os, y que el material un orales (ver INTRODUCCI6N vii Quiero agradecer al profesor Julio C. Morales C por su valiosa ayuda en la parte computacional correspondiente a este material, ya que con su aporte se ha facilitado e/ desarrollo del curso de Metodos Numericos. En la portada aparece el grafico de un conjunto de Julia para c = 0.36 + 0.1 Oi , realizado en lenguaje PASCAL por el profesor Horacio Arango Marin, del Departamento de Matematicas de la Universidad Nacional, sede Medellin. Este conjunto se obtuvo mediante la iteracion de fa funci6n f(Z)=Z2+C, con ZEC; 0 sea mediante la iteraclon Zn+1=Z~+C , n = 0,1, ... y Zo e[-2,2]x'[-2,2] (condici6n inicial) . Si la sucesi6n {Iznlt diverge a infinito para una condici6n inicial dada zo, el conjunto de todos estos puntos zo, se llama el conjunto de escape y su frontera se llama conjunto de Julia asociado a c. Mis agradecimientos al profesor Arango Marin por haberme facilitado tal grafico. Finalmente, quiero agradecer al profesor Abraham Asmar Ch . por sus valiosas sugerencias sobre este material, las cuales me permitieron mejorarlo significativamente, y a los profesores Mario Arias Zabala, actual Decano de la Facultad de Ciencias, y Arturo Jessie Manuel , actual Director del Departamento de Matematicas, por el apoyo que me brindaron para lIevar a cabo este trabajo . Ivan F. Asmar Ch. el DERIVE, X denota el el teclado l). mostrativos les archivos I Para cargar 'H, cargue el :el comando capitulo (si el archivo e se utilizan de algunas el comando carga a las CONTENIDO CAPiTULO 1. ERRORES DE REDONDEO Y ESTABILIDAD 1.1 ARITMETICA FINITA 3 1.2 ERRORES DE REDONDEO 10 1.3 PERDIDA DE CIFRAS SIGNIFICATIVAS 16 1.4 ESTABILIDAD DE UN ALGORITMO 20 1.5 CONDICIONAMIENTO DE UN PROBLEMA 27 TALLER 1. 28 CAPiTULO 2. SOlUCI6N NUMERICA DE UNA ECUACI6N NO-LINEAL EN UNA VARIABLE 33 2.1 METODOS CERRADOS 38 <-2.1.1 Metodo de Bisecci6n 38 * 2.1.2 Metodo de Posicion Falsa 41 2.2 METODOS ABIERTOS 43 ......2.2.1 Metodo de Punto Fijo 43 ~ '-2.2.2 Metodo de Newton-Raphson 56 2.2.3 EI metodo de Newton-Raphson-Horner 65 L2.2.4 Metodo de Newton-Raphson modificado 76 2.2.5 Metodo de la Secante 78 2.3 RAPIDEZ DE CONVERGENCIA 80 2.3.1 Orden "e convergencia del metodo de iteracion de Punto fijo 84 2.3.2 Orden de convergencia del metodo de Newton-Raphson 86' TALLER 2. 88 CAPiTULO 3. SOlUCION NUMERICA DE SISTEMAS DE ECUACIONES 93 3.1 SOLUCION NUMERICA DE SISTEMAS DE ECUACIONES LINEALES 93 3.2 METODOS DIRECTOS 94 3.3 SISTEMAS MAL CONDICIONADOS Y NUMERO DE CONDICION DE UNA MATRIZ 99 3.4 ESTRATEGIAS DE PIVOTEO 114 3.4.1 Pivoteo maximo por columna 114 3.4.2 Pivoteo escalado de fila 116 3.5 FACTORIZACION TRIANGULAR 117 3.5.1 Algunas aplicaciones de la factorizaci6n PA=LV 119 3.6 SISTEMAS TRIDIAGONALES 120 3.7 FACTORIZACION DE CHOLESKI 124 3.8 METODOS ITERATIVOS 127 3.8.1 Metodo iterativo de Jacobi 129 3.8.2 Metodo iterativo de Gauss-Seidel 141 3.8.3 Metodo SOR 149 X CONTENIDO 3.9 SOl,UCI6N NUMERICA DE SISTEMAS NO-LINEALES 3.9.1 Iteraci6n de Punto Fijo para sistemas no-lineales _ 13.9.2 Metodo de Newton-Raphson para sistemas no-lineales 3.10 CEROS COMPLEJOS DE POLINOMIOS: METODO DE BAIRSTOW ' TALLER 3. CAPiTULO 4. INTERPOLACI6N POLINOMIAL Y AJUSTE POLINOMIAL 4.1 INTERPOLACI6N POLINOMIAL 4.1.1 Forma de Lagrange del polinomio interpolante 4.1 .2 Forma de Newton del polinomio interpolante 4.2 INTERPOLACI6N SEGMENTARIA CUBICA 4.3 AJUSTE DE UN POLINOMIO POR MINIMOS CUADRADOS 4.3.1 Regresi6n polinomial 4.3.2 Regresi6n exponencial. logaritmica y de potencia TALLER 4. CAPiTULO 5. INTEGRACI6N NUMERICA 5.1 ALGUNAS F6RMULAS CERRADAS DE NEWTON-COTES 5.1.1 Regia de los trapecios 5.1.2 Regia de Simpson (~) 5.1.3 Regia de simpson (%) 5.2 INTEGRACI6N DE ROMBERG 5.3 METODO DE LOS COEFICIENTES INDETERMINADOS 5.4 METODO DE CUADRATURA GAUSSIANA TALLER 5. CAPiTULO 6. SOLUCI6N NUMERICA DE PROBLEMAS DE VALOR INICIAL PARA ECUACIONES DIFERENCIALES ORDINARIAS 6.1 METODO DE EULER 0 DE LA RECTA TANGENTE 6.2 UN METODO DE EULER MEJORADO 6.3 METODO DE LOS TRES PRIMEROS TERMINOS DE LA SERlE DE TAYLOR 6.4 METODO DE RUNGE-KUTTA TALLER 6. BIBLIOGRAFiA iNDICE iNDICE DE ALGORITMOS SiMBOLOS, NOTACIONES Y ABREVIATURAS 155 156 162 167 174 183 184 185 197 206 216 217 224 226 231 231 233 237 241 253 259 263 269 273 284 295 299 303 318 323 325 329 331 . :.-.", CAPfTULO 1 INTRODucclON AI momento de menudo con DroIlIIIfIlil cuya soluciOn continuaciOn con.... para los cualls IS NO-LINEALES 155 156 162 167 174 183 184 185 197 206 216 217 224 226 231 231 233 237 241 253 259 263 269 273 284 295 R 299 303 318 323 325 329 331 .-.. I CAPiTULO 1. ERRORES DE REDONDEO Y ESTABILIDAD INTRODUCCICN AI momenta de aplicar las Matematicas a situacjones del mundo real nos encontramos a menudo con problemas que no pueden ser resueltos analiticamente 0 de manera exacta y cuya soluci6n debe ser abordada con ayuda de algun procedimiento numerico. A continuaci6n consideramos algunos problemas tipicos, ya formulados matematicamente, para los cuales estudiaremos tecnicas numericas de soluCi6n. Problema 1.1 Encontrar el area de la regi6n comprendida entre las graficas de y = 2 sen x , x y=e- con XE[O,1t] .• Problema 1.2 Encontrar las rafces de la ecuaci6n polin6mica Problema 1.3 Resolver los siguientes sistemas de ecuaciones: a) EI sistema lineal AX = b con ~ -I 3 -1 2 -1 0 0 2 0 0 0 -2 A= 0 -1 2 -1 0 b= 2 0 0 -1 2 -1 -2 0 0 0 -1 2 1 b) EI sistema no-lineal { x' +XY' = 9 3x2 y _ y3 =4 • Problema 1.4 Dada la siguiente tabla de datos correspondiente a una cierta funci6n y = f( x) , ~ f~:) Ilr_=_~__r-~-1__+-_0~~_-~~~__=~__r-=~~ TABLA 1.1 encontrar el polinomio de menor grado que pase a traves de los puntos dados. Cual sera una estimaci6n para los valores f( x) correspondientes a x = -1.5 Y x = 1.5? • -Problema 1.5 Hallar el valor de cada una de las siguientes integrales: 2 METODOS NUMERICOS 1 b) Je x2 dx 0 n 2J~ 3 c) ~1-~-4 (ellptica)-'dX d) J~Inx x • o 2 Problema 1.6 Resolver el problema de valor inicial d28 d8 -2 + - +16sen8 = 0 dt dt { •8(0) =~, 8'(0) = 0 En re/aci6n can los problemas anteriores, tenemos que: En el problema 1.1, es necesario determinar los puntas de intersecci6n de las graficas de . y =2 sen x y y =e-x , para 10 cual debemos resolver la ecuaci6n 2 sen x =e-x y no disponemos de un metoda algebraico para hacerlo. En el problema 1.2, se trata de hallar los ceros de un polinomio de grado 5 y, como sabemos, s610 se conocen metodos algebraicos para encontrar rarces de ecuaciones polin6micas de grado menor a igual que 4. En el problema 1.3, tenemos dos sistemas de ecuaciones: EI de la parte a) es lineal y conocemosmetodos de soluci6n (par ejemplo, el metoda de eliminaci6n Gaussiana) , sin embargo, para sistemas de tamano mayor, no s610 es conveniente sino necesario implementar tales metodos. a traves del computador (metodo numerico). En la parte b) tenemos un sistema no-lineal y no conocemos metod as algebraicos generales para resolverlo. EI problema 1.4 se puede resolver anaifticamente (por interpolacion), sin embargo para determinar los coeficientes de dichos polinomios existen tecnicas que permiten encontrarlos rapidamente y que pueden implementarse en el computador. EI problema 1.5, corresponde a integrales definidas cuyo integrando tiene antiderivada que no es elemental. Finalmente, en el problema 1.6, la ecuaci6n diferencial ordinaria d2 8 d8 -2 + - + 16sene = 0 (ecuaci6n de movimiento de un pendulo) dt dt es no-lineal (por la presencia de sen 8) Y no disponemos de un metoda analitico para resolverla. Los problemas anteriores sirven un primer curso de m'todOi nllnall una variable, soluci6n nu interpolaci6n polinomial, integrad6n inicial para ecuaciones dihtrlllCil.... Un metoda numenco es un manera aproximada, la aritmeticos y 16glcos (Ooet'l~nM una tabla de va/ores, calculO finlta de nstrucciones preas. 16gicas (algoritmo), que fV'M~_ ( olucion num6rica) a bien lit depende, en parte, de la fICIldId) especiales y limltaclon emplear estos instrumen 5iendo los computadores indicar c6mo son los nUnilllftlul La mayoria de los conrtpUl._ los nLimeros reales contiene numeros raciloniIlI numeros de punto simplemente conJunto ell Cada nLimero del con•• finita), segun se indlCI Un numero del matematicamente en J3 es un entero (Sistema Blnlrlc!l).41 http:Blnlrlc!l).41 Capitulo 1. ERRORES DE REDONDEO Y ESTABILIDAD 3 Los problemas anteriores sirven como motivaci6n para el estudio de cinco grandes temas en un pri mer curso de metodos numericos: soluci6n numerica de una ecuaci6n no-lineal en una variable, soluci6n numerica de sistemas de ecuaciones lineales y no-lineales, interpolaci6n polinomial , integraci6n numerica y soluci6n numerica de problemas de valor inicial para ecuaciones diferenciales ordinarias Que es un metodo numerico? Un metodo numerico es un procedimiento mediante el cual se obtiene, casl slempre de manera aproximada, la soluci6n de ciertos problemas realizando calculos puramente aritmeticos y 16gicos (operaciones aritmeticas elementales, calculo de funciones, consulta de una tabla de valores, calculo proposicional, etc.). Un tal procedimiento consiste de una lista fin ita de instrucciones precisas que especifican una secuencia de operaciones algebraicas y 16gicas (algoritmo), que producen 0 bien una aproximaci6n de la soluci6n del problema (soluci6n numerica) 0 bien un mensaje. La eficiencia en el calculo de dicha aproximaci6n depende, en parte, de la faci lidad de implementaci6n del algori tmo y de las caracteristicas especiales y limitaciones de los instrumentos de calculo (los computadores). En general, al emplear estos instrumentos de calculo se introducen errores Ilamados de redondeo. 1.1 ARITMETICA FINITA Siendo los computadores la herramienta basica en los metodos numericos es conveniente indicar c6mo son los numeros del computador y c6mo se simula su aritmetica. La mayoria de los computadores usan s610 un subconjunto finito, relativamente pequeno, de los numeros reales para representar a "todos" los numeros reales; este conjunto, que s610 contiene numeros racionales y que describiremos mas adelante, es lIamado conjunto de numeros de punto flotante 0 conjunto de numeros de maquina en punto flotante 0 simplernente conjunto de punto flotante. Cada numero del computador se representa mediante un numero finito de digi tos (aritmetica fin ita), segun se indica a continuaci6n : Un numero del computador 0 de punto flotante, distinto de cero, se describe matematicamente en la forma t {. f I forma en la cuallos simbolos que all[ aparecen, tienen el siguiente significado: (J =+ 1 0 (J =- 1 es el sig no del numero. ~ es un entero que denota la base del sistema numerico usado. Por 10 general ~ '" 2 (Sistema Binario), ~ = 8 (Sistema Octal) 0 ~ = 16 (Sistema Hexadecimal). ai, i = 1,2, ... , t , es un entero con 0 ~ ai ~ ~ - 1. Los enteros 0,1, .. ,0 - 1 son lIamados digitos en la base ~ Nosotros asumiremos en todo 10 que sigue que a, :tc 0 , en cuyo caso el numero se dice que esta en forma normalizada. 4 METODOS NUMERIC OS a1 a2 at I' f '6 d I .()· . . a t ~ denota la suma 1" + 2+"'+\ yes IIamada a mantlsa 0 racci n e numero. a1a2 p p p de punto flotante. EI entero t indica el numero de dfgitos en la base p que se usan para representar el numero de punta flotante , y es \\amado precisi6n. Por 10 general t =6 0 t =7 con ~ =10 (precisi6n sencilla), t =14 0 t = 15 can ~ =10 (doble precisi6n). En algunos computadores se pueden hacer representaciones en precisi6n sencilla, doble precisi6n e incluso en precisi6n mayor. e es un entero lIamado el exponente, y es tal que L ~ e ~ U para ciertos enteros L y U; es comun encontrar L = - U a L = -U ± 1. Un caso frecuente es L = -63 Y U = 64 , para un total de 128 posibles exponentes. EI numero cero requiere una representaci6n especial. De acuerdo con 10 anterior un conjunto de punto flotante F queda caracterizado por cuatro parametros: a) La base p , b) La precisi6n t , c) Los enteros L y U tales que L ~ e ~ U , donde e es el exponente. Cualesquiera sean los parametros elegidos, los conjuntos de punta flotante correspondientes comparten las mismas caracterlsticas cualitativas, entre elias la carencia de algunas de las propiedades algebraicas de que gozan los numeros reales. . Una de las caracterfsticas de todo conjunto de punto flotante F es que es finito y tiene numeros diferentes (incluyendo el cera), y donde los distintos de cero estan en forma normalizada. En efecto: puede tomar p- 1 valores y ai, i =2,3, ... , t puede tomar p valores, asf que haya1 (p - 1)p ... P=(p _1)pt-1 fracciones positivas distintas. '--v--' t-1 Ahora, considerando que el numero de posibles exponentes es U - L + 1, que el numero de punta flotante puede ser positiv~ 0 negativ~, y teniendo en cuenta que el numero cero esta tambi{m en el conjunto de punto flotante, concluimos que el conjunto F tiene numeros diferentes. Capitulo 1. ERRORES DE REDONDEO Y ESTABILIDAD 5 Lo anterior nos dice que se usan 2(~ -1)~t- '(U - L + 1) + 1 numeros de punto fiotante para "representar" el conjunto continuo de los numeros reales (que es infinito) , 10 que impl ica que muchos numeros reales tendrfan que ser representados par un mismo numero de punto flotante . Como ejemplo, consideremos el conjunto de punto flotante F con para metros p== 2 (Binario) , t == 3 , L == -1 , U == 2. Tal conjunto F tiene numeros diferentes (inciuyendo el cero). Los numeros de F , distintos de cero, son de la forma con a, = 1, a2, a3 = 0, 1 Y e = - 1, 0, 1, 2 ; asf que las fracciones positivas distintas son: Combinando estas mantisas con los exponentes, obtenemos todos los numeros positivos de F que aparecen en la TABLA 1.2 siguiente. I MANTISA I EXP. -1 I EXP. 0 I EXP. 1 IEXP. 2 I 8 (.100)2 = 16 (.100) x T'=~ 2 16 (.100) x 2° = ~ .. 2 16 (.100) x 2' = ~ 2 16 (.100) x 22 == 32 2 16 (.101) =!Q 2 16 (.101)2 x T' = ~ 16 (.101) x 2° = !Q 2 16 (.101) x 2' = 20 2 16 (.101)2 22 == 40 16 (.110) = ~ 2 16 (.110) xT' =~ 2 16 (.110) x 2° ==~ 2 16 (.110) 2 x 2,= 24 16 ( ) 2 48 .1 10 x 2 = 2 16 (.111) = .!i 2 16 (.111) x T' = ~ 2 16 (.111) x 2° = .!i 2 16 (.111) x 2' = 28 2 16 (.1 11) x 22 = 56 2 16 TABLA 1.2 6 METOOOS NUMERICOS Como estamos mas familiarizados con los numeros decimales (en base p= 10), los 33 elementos de F en forma (racional) decimal son 16 20 24 28 32 40 48 56 +- ±- ±- ± - +- +- +- + -16' 16' 16 ' 16 ' -16' -16' -16' -16 Una representaci6n de los numerospositiv~s y el cero de F en la recta real se muestra en la FIGURA 1.1 siguiente. o )( flex) Iii 56: ~T 16 20 32 , b 40 48 , ~R -TS" 16 16 16 16 16 I regIon de under1low region de overflow (subfJujo) (sobreflujo) FIGURA 1.1 Algunos hechos que se pueden observar en un conjunto de punta flotante F son: 1. Todo numero real x que entra en el computador 0 que es el resultado de un calculo, es reemplazado (si es posible) por un numero de punto flotante que notaremos fl(x). Existen reg las para escoger tal numero (reglas de redondeo), por 10 general es el numero de punto flotante mas cercano a x. La diferencia Ix - f1( x) I se llama error (absoluto) de redondeo. 2. Si observamos la distribuci6n de los elementos de F , en la recta real, vemos que no estan igualmente espaciados (eslan mas densamente distribuldos ella cercanla del cero), 10 que implica que el error de redondeo puede depender del tamar'\o del numero (entre mas grande sea el numero en valor absoluto, mayor puede ser el error de redondeo). En el ejemplo, el numero de punto f10tante positiv~ mas pequer'\o es ~ =.!. , y el numero de 16 4 punto flotante positiv~ mas grande es 56 = ~. 16 2 En general, en un conjunto de punto flotante F con param~tros p, t, L Y U, se tiene que es el numero de punta f10tante positiv~ mas pequer'\o (para el ejemplo, FL = 2-1-1 = ±), y con y = P-1 Capitulo 1. ERRORES DE REDONDEO Y ESTABILIDAD 7 es el numero de punto flotantepositivo mas grande (para el ejemplo, Fu =(1- 2-3 )22 = !... ) . 2 A la regi6n RL = { X ER / 0 < IxI< FL se Ie llama region de underflow 0 subflujo, y en algunos computadores si un numero real cae en esta region, el numero es redondeado a cero . Por otra parte, a la regi6n Ru = { X ER / Ixl > Fu ' se Ie llama region de overflow 0 sobreflujo, y en algunos computadores si un numero real cae en esta regi6n , el numero es redondeado al numero de punto flotante mas cercano (Fu , - Fu) 0 se infomia del fen6meno overflow. Se define como range del conjunto F, al conjunto De acuerdo con esto, todo numero de punto flotante, distinto de cero, fl(x) , debe satisfacer 3. La combinaci6n aritmetica usual +, -, x, 7- de dos numeros de punto flotante no siempre produce un numero de punto flotante. Supongamos que fl(x), fl(Y)EF. Veamos, como ejemplo, que la suma usual fl(x)+fl(y) no necesariamente sera un numero en F . Para ello consideremos el conjunto de punto f10tante F dado en el ejemplo: fl(x) = ~: EF, fl(Y) = 1~ E F , sin embargo 28 5 33 fl( x) + fl(Y) = - + - = - ~ F . Luego la adici6n usual no es cerrada en el sentido 16 16 16 matematico ordinario. Una manera de simular la adici6n Y las demas operaciones aritmeticas entre numeros rea les, pero realizadas por el computador es la siguiente: Si x e Y son numeros reales en el range de F , definimos las operaciones 83, 8, ® Y 8, a las que nos referiremos como operaciones de punta flotante, asi x EB Y = fl( fl( x) + fl( Y ) ) x 8 Y= fl( fl( x) - fl( Y ) ) x ® Y = fl( fl( x) x fl( Y ) ) x 8 Y = fl( fI( x) .;.fI(Y)) donde +, - x Y 7 son las operaciones aritmeticas usuales. 8 METOOOS NUMERICOS Ilustraremos estas operaciones en 81 conjunto F del ejemplo, al tiempo que pondremos de manifiesto la carencia de ciertas propiedades para tales operaciones. Supondremos que f1(x) se escoge como el numero de punto f10tante mas cercano a x y que cuando el numero x equidista de dos numeros de punto f1otante, se escoge flex) como el mas cercano a la derecha si es positiv~ 0 el mas cercano hacia la izquierda si es negativo: · 28 5 R t I Tomemos en F ,os numeros - y - y supongamos que X, y E son a es queI 16 16 28 5 f1(x) = - Y f1(Y) = - . Entonces 16 16 xG) = f1(28 + ~) = fl( 33) = 32 Y 16 16 16 16 x e y = f( 28 _~) = fl( 23) = 24 \1616 16 16 X!&> y=fl( 28 x~) = fl( 35) = 32 = ~ 16 16 64 64 16 xEEJ y = fl( 28 -;- ~) = fl( 28) = 56 (fen6meno overflow) 16 16 5 16 28 56 t Overflow, ya que - > - = Fu 5 16 6 6 Tomemos - EF Y supongamos que z ER es tal que fl(z) = -, entonces 16 16 z e y = fl(~ - ~) =f1( _1 ) = 0 (fen6meno underflow) 16 16 16 1 4 t Underflow, ya que 0 < - < - = FL 16 16 16 7 14 5 10 Como 1 = 16 ' "8 = 16 ' s = 16 E F, entonces existen u, v, WE R tales que fl(U) = 1, 7 5 f~V)=S Y f1(W) = s ' Entonces luego Air que Fi_ ...
Compartir