METODOS NUMERICOS - Universidad Nacional de Colombia

Anuncio
METODOS NUMERICOS UN PRIMER CURSO IvAN FRANCISCO ASMAR CHARRIS
PROFESOR ASOCIADO
J,!!a;vamAD 1~~" II .::
J.UJ.l
t
t
E! COLOMBIA.
,I
DEPTO. D E B lBUOTECAS
'IBLlOTECA "EFE" GOME?
UNIVERSIDAD NACIONAL DE COLOMBIA
SEDE MEDELLIN
FACULTAD
DEPARTAMENTO
DE
DE
1999
CIENCIAS MATEMATICAS I I~I I I I I
6 4000 00128374 9
/
rIq·J-j
1S 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
I qqq
~.Jt
Mis agradecimientos a la
permanencia en esta instilllcioll par
y fZlego como docen/e, me ha
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~C AS 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
(iJ
y
(%), 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 aparece el 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
para IIevar a cabo este trabajo.
Des.­
INTRODUCCI6N
)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
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.1Oi , realizado en
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
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;
Zo
e[-2,2]x'[-2,2]
0
sea mediante la iteraclon Zn+1=Z~+C , n = 0,1, ... y
(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
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
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
escape y su frontera se llama conjunto de Julia asociado a c.
profesor Arango Marin por haberme facilitado tal grafico.
Mis agradecimientos al
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.
CONTENIDO
CAPiTULO 1. ERRORES DE REDONDEO Y ESTABILIDAD
1.1 ARITMETICA FINITA 1.2 ERRORES DE REDONDEO 1.3 PERDIDA DE CIFRAS SIGNIFICATIVAS 1.4 ESTABILIDAD DE UN ALGORITMO 1.5 CONDICIONAMIENTO DE UN PROBLEMA
TALLER 1.
CAPiTULO 2. SOlUCI6N NUMERICA DE UNA ECUACI6N NO-LINEAL EN UNA VARIABLE
2.1 METODOS CERRADOS <-2.1.1 Metodo de Bisecci6n 2.1.2 Metodo de Posicion Falsa 2.2 METODOS ABIERTOS ......2.2.1 Metodo de Punto Fijo
'-2.2.2 Metodo de Newton-Raphson
2.2.3 EI metodo de Newton-Raphson-Horner
L2.2.4 Metodo de Newton-Raphson modificado
2.2.5 Metodo de la Secante
3
10 16 20 27 28 33 38 38 *
41 43 43 ~ 56 65 76 78 2.3 RAPIDEZ DE CONVERGENCIA 2.3.1 Orden "e convergencia del metodo de iteracion de Punto fijo 2.3.2 Orden de convergencia del metodo de Newton-Raphson
TALLER 2.
84 86' 88 CAPiTULO 3. SOlUCION NUMERICA DE SISTEMAS DE
ECUACIONES
93
3.1 SOLUCION NUMERICA DE SISTEMAS DE ECUACIONES LINEALES
3.2 METODOS DIRECTOS 3.3 SISTEMAS MAL CONDICIONADOS Y NUMERO DE CONDICION DE UNA MATRIZ
3.4 ESTRATEGIAS DE PIVOTEO 3.4.1 Pivoteo maximo por columna 3.4.2 Pivoteo escalado de fila 3.5 FACTORIZACION TRIANGULAR 3.5.1 Algunas aplicaciones de la factorizaci6n PA=LV 3.6 SISTEMAS TRIDIAGONALES 3.7 FACTORIZACION DE CHOLESKI 3.8 METODOS ITERATIVOS 3.8.1 Metodo iterativo de Jacobi 3.8.2 Metodo iterativo de Gauss-Seidel 3.8.3 Metodo SOR 80 93 94 99 114 114 116 117 119 120 124 127 129 141 149 X
CONTENIDO
3.9 SOl,UCI6N NUMERICA DE SISTEMAS NO-LINEALES
_
3.10 CEROS COMPLEJOS DE POLINOMIOS : METODO DE BAIRSTOW ' TALLER 3. 155
156
162
167
174
CAPiTULO 4. INTERPOLACI6N POLINOMIAL Y AJUSTE POLINOMIAL
183
4.1 INTERPOLACI6N POLINOMIAL
TALLER 4. 184
185
197
206
216
217
224
226
CAPiTULO 5. INTEGRACI6N NUMERICA
231
5.1 ALGUNAS F6RMULAS CERRADAS DE NEWTON-COTES
231
233
3.9.1 Iteraci6n de Punto Fijo para sistemas no-lineales
13.9 .2 Metodo de Newton-Raphson para sistemas no-lineales
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 5.1.1 Regia de los trapecios
5.1.2 Regia de Simpson
(~)
237
5.1.3 Regia de simpson
(%
)
241
5.4 METODO DE CUADRATURA GAUSSIANA TALLER 5. 253
259
263
269
CAPiTULO 6. SOLUCI6N NUMERICA DE PROBLEMAS DE VALOR INICIAL PARA ECUACIONES DIFERENCIALES ORDINARIAS 273
5.2 INTEGRACI6N DE ROMBERG
5.3 METODO DE LOS COEFICIENTES INDETERMINADOS
6.4 METODO DE RUNGE-KUTTA TALLER 6. 284
295
299
303
318
BIBLIOGRAFiA
323
iNDICE
325
iNDICE DE ALGORITMOS
329
SiMBOLOS, NOTACIONES Y ABREVIATURAS
331
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
CAPfTULO 1
INTRODucclON
AI momento de
menudo con DroIlIIIfIlil
cuya soluciOn
continuaciOn con....
para los cualls
. :.-." ,
I
IS NO-LINEALES
155 156 162 167 CAPiTULO 1. ERRORES DE REDONDEO Y ESTABILIDAD
174 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
A
cuya soluci6n debe ser abordada con ayuda de algun procedimiento numerico.
continuaci6n consideramos algunos problemas tipicos, ya formulados matematicamente,
para los cuales estudiaremos tecnicas numericas de soluCi6n.
183 184 185 197 206 216 217 224 226 Problema 1.1 Encontrar el area de la regi6n comprendida entre las graficas de y = 2 sen x ,
y=e- x
con
XE[O,1t] .•
Problema 1.2 Encontrar las rafces de la ecuaci6n polin6mica
231 Problema 1.3 Resolver los siguientes sistemas de ecuaciones:
231 233 a) EI sistema lineal AX = b con
237 241 A=
253 259 263 269 ~
3
2
-I
0
0
0
-1
2
-1
0
0
0
-1
2
-1
0
0
-1
2
-1 -2 0
0
0
-1
2
1
-2
b=
0
2
b) EI sistema no-lineal
{ x' +XY' = 9 273 R
3x 2 y _ y3 =4 284 295 299 303 318 •
Problema 1.4 Dada la siguiente tabla de datos correspondiente a una cierta funci6n y = f( x) ,
~ f~:) Ilr_=_~__r-~-1__+-_0~~_-~~~__=~__r-=~~ 323 TABLA 1.1
325 encontrar el polinomio de menor grado que pase a traves de los puntos dados.
329 Cual sera una estimaci6n para los valores f( x) correspondientes a x = -1.5 Y x = 1.5?
331
.-..
-Problema 1.5 Hallar el valor de cada una de las siguientes integrales:
•
2
METODOS NUMERICOS
1
b) Je
x2
Los problemas anteriores sirven
un primer curso de m'todOi nllnall
una variable, soluci6n nu
interpolaci6n polinomial, integrad6n
inicial para ecuaciones dihtrlllCil....
dx
0
n
c)
2J
~
~1-~-4
-'dX
3
(ellptica)
d)
o
J~
Inx x
2
•
Problema 1.6 Resolver el problema de valor inicial
d28
d8
+ - +16sen8 = 0
dt
dt
-2
{ 8(0)
=~, 8'(0) = 0
•
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
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
conocemos metodos 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.
5iendo los computadores indicar c6mo son los nUnilllftlul La mayoria de los conrtpUl._
los nLi meros reales
contiene numeros raciloniIlI
numeros de punto
simplemente conJunto ell
Cada nLimero del con• •
finita), segun se indlCI
Un numero del
matematicamente en
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
2
d 8
d8
+ - + 16sene = 0 (ecuaci6n de movimiento de un pendulo)
dt
dt
-2
es no-lineal (por la presencia de sen 8) Y no disponemos de un metoda analitico para
resolverla .
J3 es un entero
(Sistema 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 cu rso de metodos numeric os: 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 media nte 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 funcio nes, consulta de
una tabla de valores, calculo propos iciona l, 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 calcu lo de dicha aproximaci6n
depende, en parte, de la faci lidad de implementaci6n del algoritmo 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 herra mienta 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 nu meros 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 pu nto flotante 0 conjunto de numeros de maqu ina en punto flotante 0
simplernente conjunto de punto flotante.
Cada numero del computador se representa mediante un numero finito de digitos (aritmetica
fin ita), segun se indica a contin uaci6n :
Un numero del comp utador 0 de punto
matematicamente en la forma
flotante , distinto de cero,
t {.
f
se
describe
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
(Sistema Binario),
~ =
8
(Sistema Octal) 0
~ =
16
~
'" 2
(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 sigu e que
numero se dice que esta en forma normalizada.
a, :tc 0 , en cuyo caso el
4
METODOS NUMERIC OS
a1 a2
at
I'
. a 1a 2)
· . . a t ~ denota la suma 1" + 2+"'+ \ yes IIamada a mantlsa
(
p
p
p
0
f racci'6 n deI numero
.
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:
a 1 puede tomar
p - 1 valores y ai, i = 2,3, ... , t
puede tomar
p valores, asf que hay
(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, a 2, a 3 = 0, 1 Y e = - 1, 0, 1, 2 ; asf que las fracciones positivas disti ntas 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
8
(.100) 2 = ­
16
(.100)
(.101) =!Q
2 16
(.101)2 x T'
=
~
16
(.110) xT'
2
=~
16
(.111) = .!i
2 16
(.111) x T'
2
=
(.110)
2
=
2
x T'=~
16
~
16
~
16
(.100) x 2°
.. 2
=
~
16
(.101) x 2° = !Q
2
16
(.110) x 2°
2
I EXP.
I EXP. 1
I EXP. 0
==~
16
(.111) x 2° = .!i
2
16
TABLA 1.2
2
I
=~
16
(.100) x 22 == 32
2
16
(.101) x 2' = 20
2
16
(.101)2 22 == 40
16
(.110) 2 x 2 ,= 24
16
(.1 10 ) x 2 2 =48
­
2
16
(.111) x 2' = 28
2
16
(.1 11) x 22
2
(.100) x 2'
2
=
56
16
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
-16'
20
16'
24
16 '
28
32
40
48
56
+- + - + - + ­
16 ' -16' -16' -16' -16
+- ± - ± - ± Una representaci6n de los numeros
la FIGURA 1.1 siguiente.
o
~T
positiv~s
,
Iii
32
16
16 20
TS" 16
y el cero de F en la recta real se muestra en
)( flex)
b
40
16
,
48
16
regIon de under1low
(subfJujo)
56:
-
16
~R
I
region de overflow (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
I x - 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
punto flotante
positiv~ mas grande es
positiv~ mas pequer'\o es ~ = .!. , y el numero de
16
4
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,
con y =
FL = 2-1-1 =
P-1
±),
y
Capitulo 1. ERRORES DE REDONDEO Y ESTABILIDAD
es el numero de punto flotantepositivo mas grande (para el ejemplo, Fu
.
A la regi6n RL = {
X
II
E R / 0 < x < FL
7
= (1- 2- 3 )22 = !... )
se Ie llama region de underflow
2
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 E R / I xl > 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,
siempre produce un numero de punto flotante .
7-
de dos numeros de punto flotante no
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
fl( x) + fl(Y)
en
= -28
16
el
ejemplo:
5
33
=- ~ F .
16 16
+-
fl(x) =
~:
EF,
fl(Y) =
1~
EF ,
sin
embargo
Luego la adici6n usual no es cerrada en el sentido
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
donde +, -
x
Y
7
8 Y = fl( fI( x) .;.fI(Y))
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: luego
·
-28 y - 5 y supongamos que X, y E R son t aI
es que
Tomemos en F ,os
I
numeros
16
16 28
5
f1(x) = Y f1(Y) = - . Entonces
16 16
xG)
Y
= f1(28
16
+ ~) = fl( 33)
16
16
= 32 16 x e y = f( 28 _~) = fl( 23) = 24 \1616
16
16 X!&> y=fl( 28
16
xEEJ y = fl( 28
16
x~) = fl( 35) = 32 = ~ 16
64
-;- ~) = fl( 28) = 56
16
5
t
16 64
16 (fen6meno overflow) 28 56
Overflow, ya que - > - = Fu
5 16 Air que
6
6
Tomemos - EF Y supongamos que z ER es tal que fl(z) = - , entonces
16
16 z e y = fl(~ - ~) =f1( _1 ) = 0
16 16
16 Fi_ . . .
(fen6meno underflow)
1
4
t Underflow, ya que 0 < - < 16
Como
16
1 = 16
14 5 10 ' "87 = 16
' s = 16 E F,
7
5
f~V)=S Y f1(W) = s ' Entonces
entonces existen
u, v, WE R
= FL
16 tales que
fl(U) = 1,
Descargar