Sunteți pe pagina 1din 53

Ing Yamil Armando Cerquera Rojas

yacerque@gmail.com

TEORA DE ERRORES1
Ing Yamil Armando Cerquera Rojas yacerque@gmail.com
Especialista en Sistemas Universidad Nacional
Docente Universidad Surcolombiana
Neiva - Huila Julio 2008

Contenido
LISTA DE FIGURAS............................................................................................................ 3
Nociones bsicas de errores en clculo numrico .................................................... 4
Nociones bsicas de errores en clculo numrico .................................................... 4
Porque son importantes los errores numricos .................................................................. 4
El fallo de un misil Patriot.................................................................................................................... 4
La explosin del cohete Ariane 5 ........................................................................................................ 6
El hundimiento de la plataforma petrolfera Sleipner A ................................................................. 7
Las vibraciones del puente del Milenio en Londres. ........................................................................ 8

Introduccin. ....................................................................................................................... 9
Definiciones ............................................................................................................................... 14
Cifras significativas................................................................................................................... 14
Aritmtica finita........................................................................................................................ 15
Representacin de nmeros en el ordenador ................................................................... 16
Nmeros naturales y la regla de Horner .......................................................................................... 16
Nmeros enteros en binario ............................................................................................................... 17
Representacin de fracciones en computador................................................................................ 19
Fracciones binarias: ................................................................................................................................ 19
Nmeros reales en punto flotante............................................................................................................ 20
El formato en punto flotante IEEE-754 .................................................................................................. 22

Fuentes de error. ............................................................................................................. 24


Errores, condicionamiento y estabilidad numrica ......................................................... 25
Errores en las entradas. Propagacin. ................................................................................ 26
Propagacin del error.......................................................................................................................... 26

Errores de truncamiento o discretizacin.......................................................................... 27


Error de redondeo. .................................................................................................................. 28
Ejemplo.................................................................................................................................................. 29
Ejemplo.................................................................................................................................................. 31
Ejemplo.................................................................................................................................................. 33

Error absoluto y Error relativo. ............................................................................................ 34


Error Absoluto ...................................................................................................................................... 34

Estas notas estn protegidas por derechos de copyright y podrn ser distribuidas libremente solo con
propsitos educativos sin nimo de lucro. These notes are copyright-protected, but may be freely
distributed for instructional nonprofit purposes.

Universidad Surcolombiana Neiva Huila - Colombia

1 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Error relativo........................................................................................................................................ 35
Observaciones: ..................................................................................................................................... 35

Operacin en punto flotante ................................................................................................. 36


Problemas con operaciones en punto flotante ................................................................. 38
Ejemplos con operaciones .................................................................................................................. 39
Prdida de cifras significativas.......................................................................................................... 40
Ejemplo.................................................................................................................................................. 41
Ejemplo.................................................................................................................................................. 41
Rango, "Overflow " y "Underflow"...................................................................................................... 42
Inestabilidad numrica........................................................................................................................ 43
Problema bien o mal condicionado................................................................................................... 44

Definicin del

de la mquina ........................................................................................... 45

Costo operativo y eficiencia .................................................................................................. 46

Conclusiones ...................................................................................................................... 47
Problemas propuestos:............................................................................................................ 48

Recursos Bibliogrficos .................................................................................................. 52

Universidad Surcolombiana Neiva Huila - Colombia

2 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

LISTA DE FIGURAS
Figura 1 Misiles Patriot americanos en Dharan .............................................................. 5
Figura 2 Cohete Ariane 5.................................................................................................... 6
Figura 3 Plataforma petrolfera Sleipner A ..................................................................... 7
Figura 4 Millenium Bridge................................................................................................... 8
Figura 5 Intervalo asociado al resultado de una medicin. Note que, en lugar de
dar un nico nmero, se define un intervalo. Al valor representativo del centro
del intervalo (x ) se le llama el mejor valor de la magnitud en cuestin. El
semiancho del intervalo (x D ) se denomina la incertidumbre o error absoluto de
la medicin......................................................................................................................... 12
Figura 6 Tratamiento de la informacin........................................................................ 13
Figura 7 Anlisis del error ................................................................................................ 13
Figura 8 Representacin de los nmeros flotantes positivos en un sistema (m; e) =
(3; 2). Los nmeros con asterisco y crculo son normales y subnormales,
respectivamente................................................................................................................ 21

Universidad Surcolombiana Neiva Huila - Colombia

3 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Nociones bsicas de errores en clculo numrico


Porque son importantes los errores numricos
Turing 2 demostr en 1936 que el conjunto de los nmeros calculables o
computables mediante ordenador (tales que existe un programa capaz de
calcular sus dgitos uno a uno) es de cardinal numerable, como lo es el de los
nmeros algebraicos (los que son races de polinomios), los racionales (cociente
de enteros) o los mismos naturales. El conjunto de nmeros reales es no
numerable, por lo que elegido un nmero real aleatoriamente, este es imposible
de calcular mediante un ordenador. Este hecho quizs parezca sorprendente,
teniendo en cuenta que se utilizan los ordenadores para resolver todo tipo de
problemas prcticos sin que este hecho sea relevante.
Afortunadamente, el conjunto de los nmeros calculables (igual que el de los
racionales) es denso en el de los reales, es decir, dado un real, existe un nmero
calculable tan prximo a este como se quiera. Ese es el secreto de que los
ordenadores sean tiles en computacin cientfica. An as, y por ello, los
ordenadores siempre cometen errores a la hora de representar un nmero. Los
ordenadores trabajan con una aritmtica que utiliza un nmero finito de dgitos.
Un nmero real tiene, salvo pocas excepciones, infinitos dgitos. Para
representar este nmero en un ordenador se tiene que elegir un nmero finito de
dgitos, lo que introduce un error en la representacin de dicho nmero. Tener
en cuenta estos errores introducidos por el ordenador es muy importante, sobre
todo en aplicaciones en las que se realizan muchas operaciones aritmticas.
Conforme se realizan estas operaciones el error se propaga, se acumula y en
algunos casos puede llegar a crecer exponencialmente, provocando grandes
errores en el resultado final. En este tema se estudiar que errores comete un
ordenador, como se puede analizar su propagacin, como detectar cuando van a
ser perniciosos y, solo en algunos casos como evitar sus efectos negativos.
Para empezar, se presentan varios problemas de la vida real que se han debido a
la propagacin de errores numricos. Se har mencin a algunos conceptos, como
representacin en punto flotante, redondeo, aritmtica binaria, etc., que sern
introducidos mas adelante en este tema. El lector puede relegar la lectura de
estos problemas hasta el final del tema.

El fallo de un misil Patriot


El 25 de febrero de 1991, durante la guerra del Golfo, una batera de misiles
Patriot americanos en Dharan (Arabia Saud) no logr interceptar un misil Scud
iraqu. Murieron 28 soldados americanos. La causa: los errores numricos por

Turing realiz en 1948 uno de los primeros anlisis de propagacin de errores para el mtodo de Gauss
para resolver sistemas lineales.

Universidad Surcolombiana Neiva Huila - Colombia

4 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

utilizar truncado en lugar de redondeo en el sistema que calcula el momento


exacto en que debe ser lanzado el misil3.

Figura 1 misiles Patriot americanos en Dharan

Los ordenadores de los Patriot que han de seguir la trayectoria del misil Scud, la
predicen punto a punto en funcin de su velocidad conocida y del momento en
que fue detectado por ltima vez en el radar. La velocidad es un nmero real. El
tiempo es una magnitud real pero el sistema la calculaba mediante un reloj
interno que contaba dcimas de segundo, por lo que representaban el tiempo
como una variable entera. Cuanto mas tiempo lleva el sistema funcionando mas
grande es el entero que representa el tiempo. Los ordenadores del Patriot
almacenan los nmeros reales representados en punto flotante con una mantisa
de 24 bits. Para convertir el tiempo entero en un nmero real se multiplica este
por 1/10, y se trunca el resultado (en lugar de redondearlo). El nmero 1/10 se
almacenaba truncado a 24 bits. El pequeo error debido al truncado, se hace
grande cuando se multiplica por un nmero (entero) grande, y puede conducir a
un error significativo. La batera de los Patriot llevaba en funcionamiento ms de
100 horas, por lo que el tiempo entero era un nmero muy grande y el nmero
real resultante tena un error cercano a 0.34 segundos.
Vea el clculo en detalle. El nmero 1/10 es 1/24 + 1/25 + 1/28 + 1/29 + 1/212 +
1/213 +, (explicar porque?) es decir, (0.0001100110011001100110011001100 )2,
que almacenado en un registro de 24 bits conduce al nmero
que
introduce
un
error
de
(0.00011001100110011001100)2
(0.0000000000000000000000011001100 )2, igual en decimal a 0.000000095.
En 100 horas este pequeo error se multiplica y amplifica hasta alcanzar
0.000000095 * 100 * 60 * 60 * 10 = 0.34. Como un misil Scud viaja a unos 1676 m/s,
es decir, unos 6033 km/hora, en 0.34 segundos recorre ms de medio kilmetro.
Esta distancia fue suficiente para que el misil Patriot no pudiera alcanzar al misil
Scud y destruirlo.

3
Douglas N. Arnold, The Patriot Missile Failure, Institute for Mathematics and its
Minneapolis (2000). Fuente http://www.ima.umn.edu/~arnold/disasters/patriot.html.

Universidad Surcolombiana Neiva Huila - Colombia

Applications,

5 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

La explosin del cohete Ariane 5

Figura 2 cohete Ariane 5

El Programa Ariane, es un programa emprendido por Europa en 1973 para dotarse


de un lanzador que le permitiera un acceso independiente al espacio. El
desarrollo del lanzador Ariane se efecta bajo la direccin de la Agencia Espacial
Europea (ESA, por sus siglas en ingls); el Centro Nacional de Estudios Espaciales
(CNES) francs fue el contratista principal hasta mayo de 2003, fecha en la que
pas a actuar como tal el consorcio europeo EADS (European Aeronautic Defence
and Space Company). La explotacin comercial es gestionada por la sociedad
Arianespace, creada en 1980. En total, unas 40 compaas europeas estn
comprometidas en el desarrollo y construccin del lanzador Ariane. Todos los
lanzamientos se efectan desde el centro espacial de Kourou, en la Guayana
Francesa, que cuenta con varias rampas de lanzamiento, y en el que trabajan de
forma permanente varios cientos de personas.
El 4 de junio de 1996, el cohete Ariane 5 Flight 501 ,de la Agencia Europea del
Espacio (ESA) explot 40 segundos despus de su despegue a una altura de 3.7
km. tras desviarse de la trayectoria prevista 4 . Era su primer viaje tras una
dcada de investigacin que cost ms de 7000 millones de euros. El cohete y su
carga estaban valorados en ms de 500 millones de euros. La causa del error fue
un fallo en el sistema de guiado de la trayectoria provocado 37 segundos despus
del despegue. Este error se produjo en el software que controlaba el sistema de
referencia inercial (SRI). En concreto, se produjo una excepcin software debido
al intento de convertir un nmero en punto flotante de 64 bits, relacionado con
la velocidad horizontal del cohete respecto de la plataforma de lanzamiento, en
un entero con signo de 16 bits. El nmero mas grande que se puede representar
de esta forma es 32767.

4
Douglas N. Arnold, The Explosion of the Ariane 5 Rocket, Institute for Mathematics and its Applications,
Minneapolis (2000). Fuente http://www.ima.umn.edu/~arnold/disasters/ariane.html.

Universidad Surcolombiana Neiva Huila - Colombia

6 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

El intento de convertir un nmero mayor caus la excepcin que provoc que el


software de seguimiento de la trayectoria dejara de funcionar y en ltima
instancia el accidente.

El hundimiento de la plataforma petrolfera Sleipner A

Figura 3 plataforma petrolfera Sleipner A

El 23 de agosto de 1991, la plataforma petrolfera Sleipner A propiedad de la


empresa noruega Statoil situada en el mar del Norte a 82 metros de profundidad
se hundi. La causa del error fue un fallo en el modelado numrico de la
plataforma utilizando elementos finitos.
En concreto se produjo una fuga de agua en una de las paredes de uno de los 24
tanques de aire de 12 metros de dimetro que permitan la flotacin de la
plataforma de 57000 toneladas de peso que adems soportaba a mas de 200
personas y a equipamiento de extraccin con un peso adicional de unas 40000
toneladas. Las bombas de extraccin de agua no fueron capaces de evacuar toda
el agua.
El fallo tuvo un coste econmico total de 700 millones de euros. Para modelar los
tanques de la plataforma se utiliz el programa NASTRAN de elementos finitos y
una aproximacin mediante un modelo elstico lineal. Esta aproximacin no era
correcta y subestim en un 47% los esfuerzos que deban soportar las paredes de
los tanques. En particular, ciertas paredes fueron diseadas con un grosor
insuficiente. Un anlisis con elementos finitos correcto, pero posterior al
accidente, demostr que el diseo de la plataforma provocara fugas en algunas
de los tanques cuando sta estuviese sobre agua a 62 metros de profundidad.
La fuga real se produjo cuando sta estaba sobre 65 metros de agua, lo que
ratifica la supuesta causa del fallo5.

5
Douglas N. Arnold, The sinking of the Sleipner A oshore platform, Institute for Mathematics and its
Applications, Minneapolis (2000). Reproduced at http://www.ima.umn.edu/~arnold/disasters/sleipner.html.

Universidad Surcolombiana Neiva Huila - Colombia

7 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Las vibraciones del puente del Milenio en Londres.


Tras la construccin del Tower Bridge en 1894 no se haba vuelto a levantar un
puente peatonal sobre el Tmesis hasta la construccin del Millenium bridge en
el ao 2000. Es obra del arquitecto Norman Foster y el escultor Anthony Caro, y
hecho sobre acero y aluminio. El Puente del Milenio, un puente de suspensin
lateral de 320 metros de largo que une el distrito financiero de Londres con la
zona de Bankside, al sur del ro, abri el 10 de junio del 2000, y miles de
peatones se concentraron sobre l.
Al principio, el puente estaba inmvil, luego empez a oscilar slo ligeramente.
Despus, casi de un momento para otro, el tambaleo se intensific y de repente
las personas se encontraron caminando como vacilantes patinadores de hielo:
plantando sus pies muy separados uno de otro, ladendose a cada paso, izquierdo,
derecho, izquierdo, derecho, en un sincronismo casi perfecto.

Figura 4 Millenium Bridge

La sincrona fue del todo involuntaria, pero esas pisadas fueron las responsables
del balanceo. El 12 de junio de 2000 se cerr el paso de personas por el famoso
puente del milenio (Millenium Bridge) en Londres, slo dos das despus de su
inauguracin. La causa de la clausura: el puente vibraba lateralmente mucho ms
de lo esperado debido al caminar de la gente, fenmeno actualmente
denominado excitacin lateral sncrona6.
Al vibrar el puente, resultaba ms cmodo a las personas caminar de forma
sincronizada con esta vibracin, lo que la acentuaba mediante una resonancia.
Durante el verano del ao 2000 se contrat a la empresa de consultora Arup para
estudiar el problema. Se realizaron varios experimentos con grupos de personas
con objeto de medir experimentalmente la magnitud del efecto bajo varias
condiciones. Se observ que el efecto no era gradual, sino que la sincronizacin
6

The millennium bridge Arup Group Ltd., London (2001). Reproduced at


http://www.arup.com/millenniumbridge/index.html.

Universidad Surcolombiana Neiva Huila - Colombia

8 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

se produca de forma repentina y que exista un nmero crtico de personas


caminando por el puente para inducir el fenmeno.
Arup desarroll modelos por ordenador del efecto con objeto de proponer una
serie de mejoras en el diseo del puente que permitan resolver el problema.
Primeramente se propusieron dos soluciones: incrementar la rigidez del puente
para que la frecuencia natural de vibracin lateral no coincida con la de los pasos
al caminar de una persona, y aadir sistemas de amortiguacin para disipar la
energa de las vibraciones. La primera solucin se consider poco prctica y
requera cambios importantes en el diseo del puente. Por ello se opt por
estudiar en detalle la segunda opcin. Se consideraron dos tipos de
amortiguadores, los dinmicos y los pasivos. Los primeros son dispositivos que
vibran de forma tal que contrarrestan las vibraciones propias del puente. Sin
embargo, la complejidad de estos sistemas, su coste y la imposibilidad de
instalarlos a corto plazo descart esta solucin. Los segundos fueron los que se
implantaron en la solucin final. Se consideraron amortiguadores pasivos de dos
tipos: viscosos y de masa ajustada (tuned mass). Los primeros se colocan debajo
de la cubierta del puente, alrededor de los pilares, y disipan energa mediante le
movimiento de un pistn que atraviesa un fluido. Los segundos tambin estn
situados debajo del puente para disipar vibraciones verticales y estn ajustados
para disipar una frecuencia especfica mediante una combinacin de pesos y
muelles. Ambos tipos de amortiguadores fueron adoptados en la solucin final.

Introduccin.
Una magnitud fsica es un atributo de un cuerpo, un fenmeno o una sustancia,
que puede determinarse cuantitativamente, es decir, es un atributo susceptible
de ser medido. Ejemplos de magnitudes son la longitud, la masa, la potencia, la
velocidad, etc. A la magnitud de un objeto especfico que se esta interesado en
medir, se la llama mesurando. Por ejemplo, si se esta interesado en medir la
longitud de una barra, esa longitud especfica ser el mesurando.
Para establecer el valor de un mesurando se tiene que usar instrumentos de
medicin y un mtodo de medicin. Asimismo es necesario definir unidades de
medicin. Por ejemplo, si se desea medir el largo de una mesa, el instrumento
de medicin ser una regla. Si se ha elegido el Sistema Internacional de Unidades
(SI), la unidad ser el metro y la regla a usar deber estar calibrada en esa
unidad (o submltiplos). El mtodo de medicin consistir en determinar cuantas
veces la regla y fracciones de ella entran en la longitud buscada.
En el curso de anlisis numrico se estudian por lo general mtodos o modelos
matemticos que permiten hallar la solucin numrica a problemas relacionados
entre otros con Ecuaciones diferenciales, Integrales definidas, Sistemas de
ecuaciones simultneas, Races de ecuaciones, Interpolacin. Como criterio
general de trabajo, el objetivo ser llegar a la solucin correcta ( con un nivel de

Universidad Surcolombiana Neiva Huila - Colombia

9 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

error aceptable) en forma eficiente (en un tiempo razonable usando los recursos
disponibles).

Al momento de aplicar las Matemticas a situaciones del mundo real se


encuentra a menudo con problemas que no pueden ser resueltos analticamente
o de manera exacta y cuya solucin debe ser abordada con ayuda de algn
procedimiento numrico. A continuacin se consideran algunos problemas tpicos,
ya formulados matemticamente, para los cuales se estudiaren tcnicas
numricas de solucin.
1. Encontrar el rea de la regin comprendida entre las grficas de

y = 2 sin( x), y y = e x con x 0, .


2. Encontrar las races de la ecuacin polinmica
x 5 + 11x 4 21x 3 10 x 2 21x 5 = 0
3. Resolver los siguientes sistemas de ecuaciones:
a. El sistema lineal AX=b con
2 1 0 0 0
3
1 2 1 0 0
2


A = 0 1 2 1 0 y b = 2


0 0 1 2 1
2
0 0 0 1 2
1
b. El sistema no lineal
x + xy 3 = 9
2

3x y y 3 = 4
4. Dada la siguiente tabla de datos correspondiente a una cierta funcin

y = f (x)

-2 -1 0 1 2 3
xk
f ( xk ) -5 1 1 1 7 25
Encontrar el polinomio de menor grado que pase a travs de los puntos
dados. Cul ser una estimacin para los valores f(x) correspondientes a
x = 1.5, x = 1.5 ? .
5. Hallar el valor de cada una de las siguientes integrales
1

sin( x)
x dx ,
0

x
e dx ,

/2

3
sin 2 x
1
dx ,
dx
4
ln(
x
)
2

6. Resolver el problema de valor inicial de:


Universidad Surcolombiana Neiva Huila - Colombia

10 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

d 2 d

+
+
16
sin(
)
=
0

dt
dt

(0) = , ' (0) = 0

4
En relacin con los problemas anteriores, se tiene que:
En el problema 1, es necesario determinar los puntos de interseccin de las
grficas de y = 2 sin( x ), y y = e

, para lo cual se debe resolver la ecuacin

2 sin( x) = e x , y no se dispone de un mtodo algebraico para hacerlo.


En el problema 2, se trata de hallar los ceros de un polinomio de grado 5 y, como
se sabe, slo se conocen mtodos algebraicos para encontrar races de
ecuaciones polinmicas de grado menor o igual que 4.
En el problema 3, se tiene dos sistemas de ecuaciones: El de la parte a) es lineal
y se conoce mtodos de solucin (por ejemplo, el mtodo de eliminacin
Gaussiana), sin embargo, para sistemas de tamao mayor, no slo es conveniente
sino necesario implementar tales mtodos a travs del computador (mtodo
numrico). En la parte b) se tiene un sistema no-lineal y no se conocen mtodos
algebraicos generales para resolverlo.
El problema 4 se puede resolver analticamente (por interpolacin), sin embargo
para determinar los coeficientes de dichos polinomios existen tcnicas que
permiten encontrarlos rpidamente y que pueden implementarse en el
computador.
El problema 5, corresponde a integrales definidas cuyo integrando tiene
antiderivada que no es elemental.
Finalmente, en el problema 6, la ecuacin diferencial ordinaria

d 2 d

+ 16 sin( ) = 0 , ecuacin de movimiento de un pndulo, es no


2 +
dt
dt

lineal (por la presencia de seno) y no se dispone de un mtodo analtico para


resolverla.
En ciencias e ingeniera, el concepto de error tiene un significado diferente del
uso habitual de este trmino. Coloquialmente, es usual el empleo del trmino
error como anlogo o equivalente a equivocacin. En ciencia e ingeniera, el
error, como se ver en lo que sigue, est ms bien asociado al concepto de
incerteza en la determinacin del resultado de una medicin.

Universidad Surcolombiana Neiva Huila - Colombia

11 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Ms precisamente, lo que se procura en toda medicin es conocer las cotas (o


lmites probabilsticos) de estas incertezas. Grficamente, se busca establecer un
intervalo x x x x + x como el de la Figura siguiente, donde con cierta
probabilidad, se pueda decir que se encuentra el mejor valor de la magnitud x.
Este mejor valor x es el ms representativo de la medicin y al semiancho x se
denomina la incerteza o error absoluto de la medicin.

Figura 5 Intervalo asociado al resultado de una medicin. Note que, en lugar de dar un nico nmero, se define un
intervalo. Al valor representativo del centro del intervalo (x ) se le llama el mejor valor de la magnitud en cuestin. El
semiancho del intervalo (x D ) se denomina la incertidumbre o error absoluto de la medicin.

Mientras
la eficiencia computacional conduce al estudio del nmero de
operaciones necesarias en los algoritmos utilizados, tratando de obtener al
menos una estimacin de su orden de magnitud, verificar lo correcto de los
resultados obtenidos implica el estudio del origen y posterior propagacin de
los errores de clculo.
En la aproximacin de un fenmeno fsico mediante un modelo
matemtico y su posterior solucin numrica, se cometen diferentes clases de
errores.
Los errores son de distintos tipos, y pueden estar relacionados con:
9
9
9
9

El modelo fsico/matemtico usado.


Los datos. Recoleccin de datos.
La aproximacin matemtica del modelo.
Las operaciones realizadas al resolver problemas en un computador.

Sobre el ltimo tipo de errores se va a centrar la atencin en este documento,


observando hechos comunes que pueden
ocurrir al
resolver problemas
utilizando mtodos numricos. Para comprenderlos, se debe primero tener
una visin clara de la aritmtica utilizada por las computadoras digitales y
de cmo se representan los nmeros reales en estas.
En una situacin real lo que se requiere en la mayora de veces, no es una
respuesta exacta a un problema, sino ms bien una respuesta aproximada con
una precisin prescrita; que es justamente lo que se da en el planteamiento
numrico de un problema.
Se usar el trmino algoritmo para describir un procedimiento que requiere de
un nmero finito de pasos para resolver un problema. Un mtodo numrico es un
algoritmo diseado para dar respuesta numrica a un problema con una precisin
prescrita. El clculo numrico evala los mtodos numricos diseados.

Universidad Surcolombiana Neiva Huila - Colombia

12 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Este proceso de tratamiento de la informacin que se vislumbra en el prrafo


anterior, se puede resumir en el siguiente cuadro:

Figura 6 Tratamiento de la informacin

Es posible disponer de varios algoritmos para un problema dado, y si el inters es


elegir el mejor, se debe considerar como criterios de seleccin la rapidez y la
precisin. Por otro lado, es normal que los errores estn presentes en cada una
de las etapas del proceso esquematizado en la figura anterior, es decir, es
probable que exista error en la entrada, en el algoritmo y por ende en la salida.
Es necesario, por tanto, revisar cada una de las fuentes de error.
Las respuestas numricas a problemas, contienen generalmente errores que se
originan en dos reas: aquellos inherentes en la formulacin matemtica los
problemas y aquellos en que se incurre en la determinacin numrica de la
solucin 7 . La primera categora incluye el error en que se incurre cuando la
proposicin matemtica del problema es nicamente una aproximacin a la
situacin fsica.
Existen dos causas principales de errores en los clculos numricos. La primera es
el error de truncamiento y la segunda es el error de redondeo 8 . El error de
truncamiento se debe a las aproximaciones utilizadas en la frmula matemtica
del modelo. La serie de Taylor es el medio mas importante que se emplea para
obtener modelos numricos y analizar los errores de truncamiento.

Figura 7 Anlisis del error

Los errores de redondeo se asocian con el nmero limitado de dgitos con que se
representan los nmeros en una computadora. Para comprender la naturaleza de
estos errores, es necesario aprender las formas en que se almacenan los nmeros
y como se lleva a cabo las sumas y restas dentro de una PC.

7
8

RALSTON, Anthony. Introduccin al anlisis numrico. 1 Ed. Ed Limusa. P25.


NAKAMURA Shoichiro, Mtodos numricos aplicados con software. Prentice Hall. 1 edicin

Universidad Surcolombiana Neiva Huila - Colombia

13 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Definiciones

Instrumento de medida: dispositivo empleado para determinar el valor o


la magnitud de una cantidad o variable.
Exactitud: la cercana con la cual la lectura de un instrumento de medida
se aproxima al valor verdadero de la variable medida.
Precisin: una medida de la repetibilidad de las mediciones. Dado un
valor fijo de una variable, la precisin es la medida del grado con el cual,
mediciones sucesivas difieren una de la otra.
Incertidumbre: grado de exactitud, seguridad o confianza con que fue
hecha la medicin.
Error: la desviacin del valor verdadero al valor medido.

La diferencia entre exactitud y precisin puede aclararse con el siguiente


ejemplo. Considere un reloj que adems de no marcar la hora oficial, cada hora
se adelanta 3 minutos con relacin a sta. Este es un instrumento que no es ni
preciso ni exacto. Ahora, un reloj que ni se adelanta ni se atrasa, pero con
respecto a la hora oficial tiene una diferencia constante de 5 minutos. Este es un
instrumento preciso pero no es exacto. Por ltimo considere un reloj que ni se
atrasa ni se adelanta y adems marca la hora oficial, este es un instrumento
preciso y exacto.

Cifras significativas
La exactitud de los datos obtenidos en un experimento depende tanto de los
instrumentos de medida como de la calidad del experimentador. Por cuanto todo
instrumento de medida tiene un lmite de sensibilidad, es lgico pensar que al
medir, por ejemplo el tiempo, con un reloj de pulsera, es imposible obtener una
exactitud de milsimas o millonsimas de segundo. El correcto manejo de los
datos obtenidos en un experimento, en cuanto a su precisin se refiere, se
trabaja con las cifras significativas.
Al afirmar que la medicin de cierta longitud dio como resultado 15,4cm, se
quiere decir que sobre el valor de 15cm se tiene plena certeza, mientras que el 4
decimal es un tanto ambiguo y est afectado por cierto error. Lo nico que se
puede decir con seguridad es que el valor obtenido est ms cerca de 15cm que
de 16cm de 14cm. Acerca de las centsimas no se dice nada. No se sabe si el
resultado de la medicin es 15,42cm 15,38cm, pero si que este valor se
encuentra entre 15,35cm y 15,45cm, presentndose entonces una incertidumbre
total de 0,1cm. Como se nota no es lo mismo escribir 15,4cm que escribir
15,40cm ya que en este caso se est afirmando que se conoce la longitud con una
exactitud de hasta una centsima, (que es diez veces ms exacto que en el caso
anterior) y as, la incertidumbre es ya de una milsima de centmetro, es decir el
valor de la longitud se encuentra entre 15,395cm y 15,415cm. Las dos cifras

Universidad Surcolombiana Neiva Huila - Colombia

14 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

15,4cm y 15,40cm implican mtodos e instrumentos de medida que pueden ser


diferentes.
De esta manera:
15,4cm = 154mm = 0,154*102cm = 0,154m = 0,000154km = .
Todo este bloque de cifras contiene la misma informacin desde el punto de vista
experimental. Se dice por lo tanto que todas ellas tienen el mismo nmero de
cifras significativas que en este caso es de tres (3), compuesta de dos dgitos
ciertos (15) y uno afectado por la incertidumbre (el 4 decimal). Sin embargo el
nmero total de dgitos no representa necesariamente la precisin de la
medicin. Por ejemplo la poblacin de una ciudad se reporta con seis cifras como
260.000. Esto puede significar que el valor verdadero de la poblacin yace entre
259999 y 260001 los cuales tienen seis cifras significativas. En realidad lo que
significa es que la poblacin est ms cerca de 260.000 que de 250.000 de
270.000 . En notacin decimal: 26 * 10 4 2,6 * 105 .

Aritmtica finita
Siendo los computadores la herramienta bsica en los mtodos numricos es
conveniente indicar cmo son los nmeros del computador y cmo se simula su
aritmtica.
La mayora de los computadores usan slo un subconjunto finito, relativamente
pequeo, de los nmeros reales para representar a "todos" los nmeros reales;
este conjunto, que slo contiene nmeros racionales y que se describen ms
adelante, es llamado conjunto de nmeros de punto flotante o conjunto de
nmeros de mquina en punto flotante o simplemente conjunto de punto
flotante.
Cada nmero del computador se representa mediante un nmero finito de dgitos
(aritmtica finita), segn se indica a continuacin:
Un nmero del computador o de punto flotante, distinto de cero, se describe
matemticamente en la forma

(.a1a 2 ...at ) e
Forma en la cual los smbolos que all aparecen, tienen el siguiente significado:
= +1 = 1 es el signo del nmero. es un entero que denota la base
del sistema numrico usado. Por lo general = 2 (Sistema Binario), = 8
(Sistema Octal) o = 16 (Sistema Hexadecimal). ai , i = 1,2,..., t , es un entero
con 0 ai 1 . Los enteros 0,1,...., 1 son llamados dgitos en la base

Universidad Surcolombiana Neiva Huila - Colombia

15 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Se asumir en todo lo que sigue que a1 0 , en cuyo caso el nmero se dice que
est en forma normalizada.

Representacin de nmeros en el ordenador


Para que un ordenador pueda manejar nmeros naturales, enteros, racionales,
reales incluso complejos, es necesario representar estos nmeros en memoria
en un formato bien definido y suficientemente flexible. Adems, todos los
ordenadores tienen unidades aritmtico-lgicas y/o coprocesadores aritmticos
que realizan las operaciones numricas que el ordenador necesita.
La implementacin fsica o hardware mediante circuitos electrnicos de estos
dispositivos requiere una representacin numrica adecuada de los nmeros.
Normalmente se utiliza una representacin esttica, que utiliza una cantidad fija
de memoria, siempre la misma, para representar cada tipo de nmero. Esta
representacin facilita el diseo electrnico de estos circuitos. Los lenguajes de
programacin de alto nivel, como Fortran o C, y la mayora de los programas
matemticos, como Matlab y tambin Mathematica, utilizan este sistema de
representacin de nmeros.
Sin embargo, existen tambin representaciones dinmicas que utilizan una
cantidad de memoria variable en funcin de las necesidades de cada nmero
concreto, como nmeros naturales o nmeros racionales, de longitud arbitraria.
El programa matemtico Mathematica y Matlab a travs de la Toolbox simblica
(basada en Maple), permiten aritmtica exacta (con nmeros racionales) de
longitud arbitraria, slo limitada por la memoria de la mquina. Sin embargo, su
uso, se reserva para aplicaciones muy especficas. Prcticamente no se utilizan
en computacin cientfico-tcnica.
Se estudiar la representacin y el almacenamiento de nmeros naturales,
enteros y reales, estos ltimos en punto flotante. Tambin se presentara el
estndar IEEE-754 de representacin de nmeros reales.

Nmeros naturales y la regla de Horner


Para escribir nmeros mediante smbolos en una hoja de papel se utiliza una
representacin en un sistema numrico. La forma habitual de representar
nmeros utiliza el sistema decimal o base 10. En esta representacin un nmero
natural se representa por una cadena de dgitos de la forma:

an a n1 ...a1a 0 = a0 + a1101 + ... + an 10 n ; Donde ai {0,1...9} y cada digito se ve


afectado por un factor de escala que depende de su posicin. Por ejemplo:
123 = 1 * 10 2 + 2 * 101 + 3 *10 0 .

Universidad Surcolombiana Neiva Huila - Colombia

16 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Los computadores digitales actuales no utilizan la base 10 para representar


nmeros y realizar operaciones aritmticas, sino que lo hacen con sistema
binario o de base 2 (2 dgitos). Los dgitos en este sistema son 0 y 1, se denominan
bits y se representan fsicamente mediante los dos estados de conduccin (on) y
corte (off) de un transistor funcionando como conmutador. Un ejemplo sencillo
de representacin de nmeros enteros en base 2 es:
(1101) 2 = 1* 23 + 1* 2 2 + 0 * 21 + 1* 2 0 = 8 + 4 + 0 + 1 = 13

Se utilizar notacin (.) b para indicar la base b utilizada en la representacin de


un nmero, aunque se omitir dicha notacin para los nmeros representados en
notacin decimales (b = 10). Como se observa, para representar magnitudes en
sistema binario son necesarios ms dgitos que en sistema decimal.
Tambin se pueden utilizar representaciones en otros sistemas de numeracin
como el sistema octal (base 8), ai {0,1...,7} , donde cada dgito representa tres
bits) y el hexadecimal (base 16), ai {0,1...9, A, B, C , D, E , F } , donde cada dgito
representa cuatro bits). Los sistemas octal y hexadecimal, sobre todo este ltimo,
facilitan la escritura de nmeros binarios grandes y su conversin al sistema
decimal, ya que reducen significativamente el nmero de dgitos del nmero; por
ejemplo:

123 = {1111011}2 = {01111011}2 = {173}8 = {7 B}16


La utilidad de los sistemas octal y hexadecimal es muy limitada en computacin
cientfica y en anlisis numrico.

Nmeros enteros en binario


Para representar un nmero entero en decimal basta aadir, si es negativo, el
signo ortogrfico menos; por ejemplo, -23. En binario se puede hacer lo mismo,
dedicando un bit para el signo;
Sin embargo, entonces el cero tiene dos representaciones equivalentes +0 y -0.
Para evitar esta duplicidad, en los ordenadores los nmeros enteros negativos de
n dgitos se presentan en complemento a dos o por exceso.
En complemento a dos, el bit ms significativo representa el signo del nmero
entero. Si el signo se representa con un 0, el valor es positivo, y si es 1, el valor
es negativo. El mdulo de un nmero negativo se calcula, complementado a uno
el nmero, es decir, cambiando los bits 1 por 0 y los 0 por 1, y luego sumndole 1.
Por ejemplo, utilizando 4 bits,

x x x

Universidad Surcolombiana Neiva Huila - Colombia

17 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

El nmero (0111)2 representa el valor positivo 7, y el nmero (1010)2 representa


el valor negativo -6, ya que sumndole uno a su complemento a uno (0101) se
obtiene (0101)2 + 1 = (0110)2 que corresponde al valor de 6.
Es fcil verificar que en complemento a dos, el cero tiene una nica
representacin, todos los bits a cero; adems, el intervalo de nmeros enteros

n 1

n 1

1 ; finalmente,
representables en complemento a dos con n bits es 2 ,2
en orden creciente de representacin, los nmeros estn ordenados de la forma

[0,1,2,...,2

n 1

1,2 n 1 + 1,...,2,1 . Como se ve, la ventaja de esta representacin


es que el cero se representa como tal, sin embargo, tiene la desventaja de que
cambia el orden de los nmeros enteros ya que los negativos son ms grandes
que los positivos.

En casi todos los ordenadores los nmeros enteros se representan y almacenan en


complemento a dos. La longitud n en bits de un nmero entero suele ser un
mltiplo (par) de 8, y segn esta se denominan entero corto (short integer),
entero (integer), entero largo (long integer), y entero muy largo (very long
integer), cuando n = 8, 16, 32 y 64, respectivamente.
En algunos casos el orden incorrecto de los nmeros representados en
complemento a dos es un problema grave que hay que resolver. La solucin ms
simple es utilizar la representacin en exceso a z, que consiste en sumar al
nmero decimal la cantidad z y luego representarlo en binario con n bits.
Normalmente, solo se utilizan z = 2 n 1 z = 2 n 1 1 . Por ejemplo, con cuatro bits
y z = 2 n1 = 2 3 = 8 , el nmero -8 se representa como (0000)2, el -7 como (0001)2,
el 0 como (1000)2, el 7 como (1111)2, y el 8 no es representable con slo cuatro
bits. Determinar como se representaran estos nmeros con z = 2 n 1 1 .
Tomando z = 2 n 1 , es fcil verificar que el cero tiene representacin nica, el bit
mas significativo a uno y el resto a cero, y que el intervalo de nmeros enteros

con n bits es 2 n 1 ,2 n1 1 , el mismo que en complemento a dos, pero ahora en


orden creciente se encuentra el orden usual, primero los negativos (cuyo bit mas
significativo es 0) y luego los positivos (en los que es 1), es decir,

[ 2

n 1

,2 n 1 + 1,...,2,1,0,1,2,...,2 n 1 1 .

La otra posibilidad es tomar z = 2 n 1 1 , con lo que el cero se representa con el


bit ms significativo a cero y el resto a uno, el intervalo representable es

[ 2

n 1

+ 1 * 2 n 1 , y el orden es el usual, o sea,

[ 2

n 1

+ 1,...,2,1,0,1,2,...,2 n1 1,2 n1 .

Universidad Surcolombiana Neiva Huila - Colombia

18 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Representacin de fracciones en computador


Fracciones binarias:
Las fracciones binarias pueden expresarse como sumas en las que aparecen
potencias negativas de 2. Si R es un nmero real tal que 0 < R < 1, entonces
existe una sucesin de cifras d1,d2,....,dn, todas ellas en {0, 1}, tales que:
Ecuacin 1

) (

r = d1 * 2 1 + d 2 * 2 2 + ... + d n * 2 n

Que suele expresarse en notacin fraccionaria binaria como:


R = (0. d1,d2,...,dn )2
Puede desarrollarse un algoritmo para representar fracciones en sistema binario:
Multiplicando por 2 ambos miembros de la Ecuacin 1:
Ecuacin 2

2 R = d1 + ((d 2 * 2 1 ) + (d 3 * 2 2 ) + ... + (d n * 2 n+1 ))


De aqu se observa que d1 = [2 R ] , donde el smbolo [x ] denota la parte entera de
x. Continuando con el proceso, se toma la parte fraccionaria de la igualdad dada
en la Ecuacin 2 y se escribe:
Ecuacin 3

F1 = frac(2 R) = (d 2 * 2 1 ) + (d 3 * 2 2 ) + ... + (d n * 2 n+1 )


Donde frac(x) denota la parte fraccionaria del nmero x. Multiplicando por 2
ambos miembros de la Ecuacin 3 se tiene:
Ecuacin 4

2 F1 = d 2 + (d 3 * 2 1 ) + (d 4 * 2 2 ) + ... + (d n * 2 n+ 2 )

Tomando la parte entera de esta igualdad: d 2 = [2 F1 ]


El proceso contina posiblemente sin fin (si R tiene una representacin en base 2
que no es finita ni peridica) y genera de forma recurrente dos sucesiones {dk} y
{Fk}, donde:

d k = [2 Fk 1 ]
Fk = frac(2 Fk 1 )
Ejemplo.

Universidad Surcolombiana Neiva Huila - Colombia

19 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Sea la fraccin 7
Solucin.

10

. Represntala como una fraccin binaria.

R = 0.7, entonces
2R = 1.4,
2F1 = 0.8,
2F2 = 1.6,
2F3 = 1.2,
2F4 = 0.4,
2F5 = 0.8,
2F6 = 1.6,

d1 = [1.4] = 1, F1 = frac (1.4) = 0.4


d 2 = [0.8] = 0, F2 = frac (0.8) = 0.8
d 3 = [1.6] = 1, F3 = frac(1.6) = 0.6
d 4 = [1.2] = 1, F4 = frac (1.2) = 0.2
d 5 = [0.4] = 1, F5 = frac(0.4) = 0.4

d 6 = [0.8] = 0, F6 = frac(0.8) = 0.8


d 7 = [1.6] = 1, F7 = frac(1.6) = 0.6

Ntese que 2F2 =1.6=2F6. Se tiene entonces que dk=dk+4 y Fk=Fk+4, para k = 2,3,4.
Es decir, la fraccin tiene una representacin binaria peridica:

= 1011001100110...
10
Periodicidad que se denota por 7

= 10110 .
10
Para comprobar el resultado anterior, se emplea la expresin de conversin a
sistema decimal:

R = d j (2) j , d j {0,1}
j =1

Sustituyendo los valores del ejercicio anterior en la expresin:


1 x 2-1+0 x 2-2 + 1 x 2-3 +1 x 2-4 + 0 x 2-5
Es decir

1 1 1
8
2
1 11
+ +
=
+ +
=
= 0.6875 0.7
2 8 16 16 16 16 16

Nmeros reales en punto flotante


Convencionalmente, para representar los nmeros reales se introduce el punto
decimal 9 . De esta forma, los nmeros positivos menores que la unidad se
representan como:
9

En castellano se suele utilizar la coma decimal, reservando el punto para los millares, por lo que se suele
hablar de nmeros en coma flotante. Sin embargo, dado que la mayora de los programas y lenguajes de
ordenador utilizados para problemas numricos utiliza el punto decimal, he preferido utilizar el punto
decimal. Adems, no se utiliza la coma para los millares, para evitar confusiones.

Universidad Surcolombiana Neiva Huila - Colombia

20 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

0.a1a 2 ...a n = a110 1 + a 2 10 2 + ... + a n 10 n


Por ejemplo:

0.123 = 1 *10 1 + 2 * 10 2 + 3 *10 3


Y de igual forma

456.123 = 4 *10 2 + 5 *101 + 6 *10 0 + 1 * 10 1 + 2 * 10 2 + 3 *10 3


Dado que los nmeros reales pueden tener un nmero infinito de dgitos, los
nmeros reales se representan en un ordenador mediante un formato
denominado de punto flotante, que utiliza solo un nmero finito de dgitos.

Figura 8 Representacin de los nmeros flotantes positivos en un sistema (m; e) = (3; 2). Los nmeros con asterisco y
crculo son normales y subnormales, respectivamente.

En general, la representacin de un nmero x en punto flotante en una base


general b toma la forma:

x = (0.d1d 2 ...d n ) b b E = (

d
d1 d 2
+ 2 + ... + nn )b E
b b
b

d1 0

Donde 0.d1d 2. ..d n es la mantisa M y E es el exponente entero del nmero en punto


flotante. La condicin d1 0 , o de normalizacin del nmero, se impone para
asegurar la representacin nica de cada nmero en punto flotante. Dado un
nmero real x se escribir su representacin en punto flotante como fl(x), y
se denotar al conjunto (finito) de todos los nmeros flotantes como IF, de forma
que fl(x) IF IR. Ejemplo:

+ 0 * 2 2 + 1* 2 3 + 1 * 2 4 + 1* 2 5 que sera igual a


23
1 0 1 1 1
+ + + +
igual a
= 0.71875000000000 .
32
2 4 8 16 32

0.10111 corresponde a 1 * 2

(.100) 2 =

1 0
0 1 8
+ 2+ 3 = =
2 2
2 16
2

(.101) 2 =

1 0
1 5 10
+ 2+ 3 = =
2 2
8 16
2

La precisin, tambin llamada nmero de dgitos significativos, de un nmero


flotante viene determinada por el nmero de dgitos m de su mantisa. Por
ejemplo, una mantisa de 24 dgitos binarios corresponde a unos 7 dgitos
decimales de precisin, y una de 52 a unos 16. Hay que tener en cuenta que
cuanto mayor es la precisin utilizada, mayor es la necesidad de almacenamiento

Universidad Surcolombiana Neiva Huila - Colombia

21 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

para guardar el nmero y mas tiempo de cmputo es necesario para realizar


operaciones con el.
El conjunto de nmeros flotantes no est distribuido de forma uniforme entre el
flotante mximo y el mnimo. En la tabla 1 se representan todos los nmeros
flotantes positivos con una mantisa de tres dgitos binarios y un exponente de dos
dgitos binarios, es decir, 1 E 2 . Como se puede ver en la Figura anterior, la
densidad de los nmeros se reduce conforme se aleje del origen.

El formato en punto flotante IEEE-754


Existen varios formatos para la representacin de nmeros flotantes en un
computador, aunque el estndar y por ello el utilizado en la mayora de los
computadores, pero no en todos, es el formato ANSI/IEEE Standard 754-198510,
que se denominar IEEE-754 para abreviar. Este estndar ANSI/IEEE fue
preconizado por W. Kahan y utiliza un sistema de representacin desarrollado
previamente por I.B. Goldberg [8]. En este formato los nmeros flotantes se
representan en sistema binario (base 2), con m y e bits para la mantisa M y para
el exponente E, respectivamente, como aparece en la tabla 2. De esta forma la
representacin de un nmero flotante requiere de m+e bits, nmero que
normalmente es un mltiplo par de 16 (2 bytes). Se pueden representar nmeros
en precisin simple (float), doble (double) y cudruple (quadruple) que tienen 32
(e = 8), 64 (e = 11) y 128 (e = 15) bits de longitud, respectivamente11.
Para concretar se estudiar el formato de doble precisin, hoy en da el ms
utilizado, que tiene m = 53 bits de mantisa y e = 11 bits de exponente. Como el
primer dgito de la mantisa, que est normalizada, debe ser necesariamente
d1 = 1 , se aprovecha este bit para almacenar en su lugar el signo de la mantisa.
Este formato permite representar +0 y -0, lo que a veces puede ser ventajoso. Se
reservan e = 11 dgitos binarios para el exponente y su signo. Este nmero entero
se representa en exceso a 2 e 1 1 = 1023, por lo que se pueden representar slo

los nmeros enteros en el rango 2 e 1 + 1.2 e 1 = [ 1022,1024] . El exponente


mximo 1024, se reserva para representar los nmeros excepcionales x y NaN
(Not a Number). Los primeros se representan cuando la mantisa es 0 y se
producen cuando una operacin aritmtica genera un nmero ms grande que el
mximo representable, es decir, se produce un desbordamiento por exceso u
overflow. NaN se genera en operaciones aritmticas de resultado no determinado,
como 0 = 0, , / , etc .

10

ANSI significa American National Standards Institute y es la organizacin nacional de


estndares de EEUU. IEEE significa Institute of Electrical and Electronic Engineers y es la
organizacin cientfica mas importante en el mundo de la ingeniera elctrica.
11
En el sistema IEEE-754 existen otros tipos de nmeros, los extendidos, que no estudiarn.

Universidad Surcolombiana Neiva Huila - Colombia

22 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

De esta forma, dados el bit de signo S, los 52 dgitos binarios de la mantisa M y el


exponente E representado como decimal positivo, el nmero flotante resultante
es
(1) S * (1.M ) 2 * 2 E 1023

Tabla 1. Formato binario de todos los nmeros flotantes de doble precisin

Es fcil observar que hay nmeros binarios de 64 bits que representan nmeros
flotantes con exponente 0 que no se utilizan en el sistema descrito hasta ahora,
ya que la mantisa siempre est normalizada. Para aprovechar dichos valores se
definen los nmeros subnormales, y se denomina normales a los que tienen la
representacin (Tabla 1). Los nmeros subnormales no tienen la mantisa
normalizada y permiten representar nmeros mucho ms pequeos, en valor
absoluto, que los que se obtienen con los nmeros normales. El valor
representado por un nmero subnormal con signo S, mantisa en binario M y
exponente decimal siempre E = 0 es:
(1) S * (0.M ) 2 * 2 1022

En la tabla 1 se muestra la representacin en binario de todos los nmeros


flotantes en doble precisin, incluyendo como calcular su valor numrico en
decimal.
Se denomina psilon de la mquina "al valor asociado con al ultimo dgito representable
en la mantisa cuando el exponente es cero, mas adelante se define este valor.

Universidad Surcolombiana Neiva Huila - Colombia

23 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Tabla 2. Resumen de los parmetros de los nmeros simple, doble y cudruple en


formato IEEE-754. Copyright 1985 by The Institute of Electrical and Electronics
Engineers, Inc.

Fuentes de error.
1.

2.

3.
4.

12

Error en el planteamiento. En la mayora de los casos el planteamiento de


un problema corresponde a un modelo idealizado de los fenmenos reales
debido a que, en general, se fuerza a suponer condiciones que simplifiquen
el problema real.
Error del mtodo. En la prctica, ante la dificultad que significa resolver un
problema en forma analtica, o ante la imposibilidad de hacerlo, se opta por
reemplazar el procedimiento por uno que ofrezca una solucin aproximada a
la del problema original.
Error en la entrada de datos. Las imperfecciones de los medios utilizados
para recopilar datos, provocan errores en las entradas numricas de un
problema.
Error de truncamiento. La expresin error por truncamiento se refiere a los
errores provocados por el mtodo en si 12 . Por ejemplo, la evaluacin de
funciones mediante desarrollos en series infinitas, obliga a considerar en el
clculo slo un nmero finito de sumandos, truncando el resto de la
x x2 x3
sumatoria. La serie e x = 1 + +
+
si se aproximase mediante la cbica,
1! 2! 3!

GERALD, Curtis F y otro. Anlisis numrico con aplicaciones. 6 Ed. Pearson Educacin. 200 P17

Universidad Surcolombiana Neiva Huila - Colombia

24 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

xn
.
n =0 n!
Sin embargo, una aproximacin a dicho valor, puede obtenerse a travs de
k
xn
x
su expresin finita: e , k < , Teniendo en cuenta lo anterior, se
n =0 n!
puede observar que si se encuentra el valor de la serie con cuatro trminos
nada ms ( k = 3 ) se obtiene una respuesta inexacta. El error se debe al
truncamiento de la serie y no tiene nada que ver con la computadora.
Error de redondeo. Las computadoras digitales casi siempre operan con
nmeros de punto flotante de longitud de palabra fija, Los valores
verdaderos no se expresan exactamente mediante tales representaciones13.
La casi totalidad de los nmeros reales requieren, para su representacin
decimal, de una infinidad de dgitos. En la prctica, para su manejo slo
debe considerarse un nmero finito de dgitos en su representacin,
procedindose a su determinacin mediante un adecuado redondeo. Un caso
tpico lo presentan los computadores que, en su memoria, almacenan slo
representaciones finitas de los nmeros reales. En este caso se habla de
redondeo inherente.
Error de propagacin. Por error de propagacin se entiende una falla en los
pasos sucesivos de un procedimiento debido a la ocurrencia de un error
previo, este error existe adems de los errores locales.
Al operar aritmticamente con cantidades aproximadas, los errores
asociados a stas son propagados al resultado de la operacin. A veces estos
errores pueden ser tan significativos que el resultado carece de sentido.
Error de discretizacin. Muchos problemas de clculo aproximado se
resuelven por discretizacin del problema original. Es as como integrales
definidas se aproximan por sumas finitas, derivadas se aproximan por
cuocientes de diferencias, etc.

pero lo que se debe calcular es una serie infinitamente larga as: e x =

5.

6.

7.

Errores, condicionamiento y estabilidad numrica


Los nmeros reales representados en punto flotante son los ms utilizados, con
diferencia, en computacin cientfica. Se puede observar que al normalizar un
nmero real se comete un error. Incluso nmeros con una representacin finita
en decimal, como 0.1, 27.9, tienen una representacin binaria infinita, tienen
decimales binarios peridicos. Por ello, cuando estos nmeros se almacenan en
punto flotante se debe cortar este nmero a una cantidad finita de bits, y se
incurre en un error de representacin flotante. Estos errores, de truncado o
redondeo, son inevitables en toda computacin cientfica. Se tiene que estudiar
cunto valen estos errores y como medirlos. Adems, cuando un computador
realiza operaciones elementales como sumar o multiplicar nmeros, tambin
incurre en un error adicional, que como se ver es similar al de normalizacin.

13

GERALD. Ibid. P.16

Universidad Surcolombiana Neiva Huila - Colombia

25 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Un mtodo numrico conlleva la realizacin de gran nmero de operaciones


aritmticas, todas y cada una de ellas incurren en errores pequeos. Estos
errores se pueden acumular y crecer catastrficamente conforme aumentan el
nmero de operaciones conduciendo a un resultado final de muy baja exactitud.
Se analizar como medir los errores de un mtodo numrico como un todo, as
como de qu manera determinar, si un mtodo sufre crecimiento de los errores
(es numricamente inestable) o no (es numricamente estable).
Una manera de medir si un mtodo es inestable es estudiando su sensibilidad o
condicionamiento a los errores. Se ver como se puede calcular una medida de
este concepto. A veces, operaciones muy sencillas, como la suma o la resta,
pueden incurrir en una gran prdida de exactitud en el resultado.
El condicionamiento de un algoritmo numrico para resolver un problema dado,
su estabilidad numrica, est relacionado con la propia estabilidad del problema
original. Un problema inestable conducir a mtodos numricos inestables. Pero
para un problema estable tambin es posible que algunos mtodos sean
inestables. De ah que el condicionamiento y la estabilidad numrica de un
mtodo sean factores importantes a estudiar14.
Errores en las entradas. Propagacin.
Los problemas del mundo real, donde una situacin fsica existente o propuesta
es modelada por una ecuacin matemtica, casi siempre presentan coeficientes
conocidos de manera imperfecta, la razn de esto es que los problemas a
menudo dependen de medidas cuya exactitud no es confiable. Los errores en las
entradas o datos iniciales suelen ser consecuencia del hecho de que nuestros
datos provienen de un experimento y son inherentes a la imperfeccin de las
medidas fsicas; o bien, se producen al tomar (de forma involuntaria) un nmero
limitado de dgitos para los datos de entrada.
Dado que la razn para ejecutar los clculos es tomar alguna decisin vlida en
el mundo real, el anlisis de sensibilidad es de suma importancia. Como afirma
Hamming El propsito de la computacin es el discernimiento, no los nmeros.
A la hora de valorar el resultado obtenido en cualquier mtodo numrico es
importante conocer la magnitud de dichos errores y como se propagan.

Propagacin del error


Sea f : D R n R n la funcin que define el clculo a realizar, donde f viene
dada por yi = fi(x1; x2;; xn), para i = 1; ;m. Suponga que f es de clase C1(D).

14

Francisco R. Villatoro, Carmen M. Garca, Juan I. Ramos. ARITMTICA FLOTANTE Y ANLISIS DE ERRORES

Universidad Surcolombiana Neiva Huila - Colombia

26 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Sea x = x x , de forma que xi = xi x i . Si se reemplazan los datos de


entrada x por los datos aproximados x , el resultado del calculo sera y = f (x) ,
en lugar de y = f(x).
Aplicando Taylor, se tiene:

yi y i = f i ( x ) f i ( x )

xj xj *
j =1

f i ( x)
.
x j

As, una forma de aproximar el efecto que tienen los datos de entrada en la
salida (en trminos de errores absolutos) es:

yi

f i ( x)
* x j
j =1 x j

Y, en trminos de errores relativos:

y i =
Al valor de

n
x j f i ( x)
yi

* x j
yi
j =1 f i ( x ) x j

x j f i ( x)
se le llama nmero de condicin.
f i ( x) x j

Si aparece algn nmero de condicin grande, se dice que se esta ante un


problema mal condicionado, en otro caso se habla de un problema bien
condicionado.

Errores de truncamiento o discretizacin


Un punto importante a no olvidar, es la diferencia entre precisin y exactitud. Al
representar un nmero real en un ordenador se comete un error. Este error se
denomina precisin del nmero y depende slo del formato de representacin
que se utilice. Cuando se obtiene un resultado tras aplicar un mtodo numrico,
el error de este resultado nos da la exactitud del mismo. El resultado puede,
como nmero representado, tener una precisin alta aunque su exactitud sea
baja. La exactitud depende de como se han acumulado los errores en el
resultado. Adems, se puede obtener un resultado de mayor exactitud que la
precisin con la que se opera, por ejemplo, cuando se utiliza para simular
aritmtica de mayor precisin, o se utiliza aritmtica de precisin infinita.
Los errores de truncamiento o discretizacin provienen, por ejemplo, de la
sustitucin de una expresin continua por otra discreta (por ejemplo al
aproximar la derivada de f por una expresin en diferencias),

Universidad Surcolombiana Neiva Huila - Colombia

27 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

f ' ( x0 )

f ( x0 + h) f ( x0 )
h

Usando el desarrollo de Taylor de f:

f ( x0 + h ) = f ( xo ) + f ' ( x0 ) h +

1
1
f ' ' ( x0 )h 2 + f ' ' ' ( x0 )h 3 + ..
2!
3!

De donde,

f ( x0 + h ) f ( xo )
1
1
= f ' ( x0 ) + f ' ' ( x0 )h + f ' ' ' ( x0 )h 2 + ..
2!
3!
h
As el error cometido es

f ( x0 + h ) f ( xo )
1
1
= f ' ( x0 ) + f ' ' ( x0 )h + f ' ' ' ( x0 )h 2 + ... = 0(h)
2!
3!
h
Otro caso donde aparecen errores de truncamiento es al aproximar un proceso
infinito por uno finito (por ejemplo, truncando los trminos de una serie). Sea (an)
una sucesin de trminos no negativos, montona decreciente y con lim n!1 an = 0,
por el criterio de Leibnitz, se sabe que si:
s=

(1) n an y s k =

n =1

(1) n an

n =1

Se tiene:
S = S S k ak +1

Error de redondeo.
La causa fundamental de errores en una computadora se atribuye al error de
representar un valor numrico real mediante un nmero limitado de bits.
El error de redondeo es resultado directo de las limitaciones de los computadores:
la aritmtica de la mquina slo comprende valores con un nmero finito de
dgitos; as que cuando se combinan valores a travs de una operacin aritmtica
los errores son automticos.
Los nmeros se almacenan en la computadora como una secuencia de dgitos
binarios o bits (unos o ceros), pero para analizar los efectos de los errores de
redondeo, se supone que los nmeros se representan en la forma normalizada
decimal de punto flotante. Se reitera que la computadoras no trabajan con
todos los nmeros reales, sino solo con un conjunto finito de nmero racionales,
que tpicamente es de la forma:
FP = x 0, d1 , d 2 ,..., d m x e , d 1 N con 1 d1 , d i 0, e Z , L e U

Y al que designa por sus siglas en ingles como (Floating Point: FP)

Universidad Surcolombiana Neiva Huila - Colombia

28 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Signo.

m Cantidad de cifras en la mantisa


Base (Generalmente 2)
e Exponente

El manejo finito que hace el computador de los nmeros implica que existe un
nmero mximo, digamos m, de dgitos por medio del cual puede representarse
un valor; esto es, la mantisa slo debe contener m dgitos. Cualquier nmero real
puede escribirse en la forma:
Notaciones:
FPi = {x FP : exp onente( x) = i}
t

0.d1d 2 ...d t = d i i (d i sonlascifrasde ln umerorepresentado)


i =1

Ejemplo
Un caso comn de cancelacin de cifras significativas ocurre en el clculo de un
nmero mediante una sumatoria donde los trminos de la sumatoria son mucho
mayores que el resultado y alternan en signo. Considere el problema de evaluar
7

el polinomio f ( x) = x 7 x + 21x 35 x + 35 x 21x + 7 x 1. El siguiente


cdigo en MATLAB evala el polinomio en el intervalo [0.988,1.012] y lo grafica
en 100 puntos:
x=linspace(0.988,1.012,100);
y=x.^7-7*x.^6+21*x.^5-35*x.^4+35*x.^3-21*x.^2+7*x-1;
plot(x,y)

Lo que debera ser una grfica suave de un polinomio aparece altamente


oscilatoria y de caracter aparentemente aleatorio. Esto se debe a la cancelacin
severa de cifras significativas en el clculo donde el resultado final es
Universidad Surcolombiana Neiva Huila - Colombia

29 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

aproximadamente cero y se toman sumas y diferencias de nmeros del tamao


4

de 3.5 *1.012 . El polinomio de este ejemplo corresponde a la forma expandida


7

de ( x 1) donde se grafica cerca de x=1. Si se calcula con la frmula sin


expandir no ocurre el problema de cancelacin de cifras pero claro, lo
importante aqu es ilustrar el fenmeno.
Realizando el grfico en Excel ver algo similar a esto.

Pero si lo realiza con Lenguaje C, manejando variables de la ms alta precisin


seguramente el fenmeno ser diferente.
Para el caso del siguiente cdigo se ha realizado el mismo clculo con variable de
tipo long double cuyo rango llega hasta manejar exponentes a la 1034 y
colocamos los datos entregados de la evaluacin del polinomio en un objeto del
tipo memo, para luego graficar los resultado con MatLab.
void __fastcall TForm1::Button1Click(TObject *Sender)
{ long double x,y;
x=0.988;
while (x<1.012)
{ y=pow(x,7)-7*pow(x,6)+21*pow(x,5)-35*pow(x,4)+35*pow(x,3)-21*x*x+7*x-1;
x=x+0.00024;
Memo1->Lines->Add(FloatToStr(f));
}
}
Los valores entregados por Builder C se muestran en la siguiente tabla:
y=[-3.5828978672825 E-14,-3.11044592860021E-14,-2.6926811474981 E-14,

Universidad Surcolombiana Neiva Huila - Colombia

30 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

-2.32348862372334E-14,-1.99866165284668E-14,-1.71373332191749E-14,
-1.46441019033272E-14,-1.24648555366313E-14,-1.05714048626027E-14,
-8.93122381606659E-15,-7.51525577880052E-15,-6.29531149431983E-15,
-5.24667115309185E-15,-4.35589064817776E-15,-3.59391336135495E-15,
-2.94816254742258E-15,-2.40953090813179E-15,-1.95590071916385E-15,
-1.57729732053191E-15,-1.26114396703514E-15,-1.00180280737661E-15,
-7.91033905045424E-16,-6.18862600054726E-16,-4.7791631763161 E-16,
. . . . .
. . . . .
2.16840434497101E-18, 8.67361737988404E-19, 3.46944695195361E-18
9.54097911787244E-18, 1.51788304147971E-17, 1.90819582357449E-17,
2.86229373536173E-17, 4.16333634234434E-17, 5.76795555762288E-17
8.5868812060852 E-17, 1.14491749414469E-16, 1.58727198051878E-16,
2.11202583200176E-16, 2.79290479632266E-16, 3.70363462121048E-16,
4.80518402845576E-16, 6.17995238316738E-16, 7.91901266783412E-16,
1.00093544563862E-15, 1.26027660529715E-15, 1.57469523531795E-15,
1.95329863394988E-15, 2.41039826986977E-15, 2.95076463263655E-15,
3.59478072309294E-15, 4.3532885629638 E-15, 5.24753851482984E-15,
6.29097468562989E-15, 7.51612314053851E-15, 8.9303564543286 E-15,
1.05722722243407E-14, 1.24674576218453E-14, 1.46432345415892E-14,
1.71382005809129E-14, 1.99857491667288E-14, 2.32392230459233E-14,
2.6924209389767 E-14, 3.11053266477401E-14, 3.58333154815149E-14];
x = 0.988:0.00024:1.012;
plot(x,y');

De algo similar al cdigo anterior, el paquete MatLab entrega la siguiente


grfica.
-14

x 10

3
2
1
0
-1
-2
-3
-4
0.985

0.99

0.995

1.005

1.01

1.015

Podr sacar sus propias conclusiones.

Universidad Surcolombiana Neiva Huila - Colombia

31 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Ejemplo
t = 3, = 10, L = 10,U = 10
Los nmeros sern de la forma {0.d1d 2 d 3 x10 e , con 0 d1 9, 10 e 10} .
Cmo se distribuyen los nmeros de FPe en este caso sobre los reales?. Para e = 1 ,
se tiene que:
Un nmero cualquiera del conjunto FPi puede expresarse mediante la suma:

1 = (

d
d
d1 d 2
d
+
+ 3 ) x101 = d1 + 2 + 3
10 100 1000
10 100

Definiendo para cada x FP , separacin(x)= min{s > x} x , la distancia entre x y


el siguiente nmero en FP, se tiene que la separacin entre nmeros
consecutivos en FP1 es 10-2, por lo que en FPi existen 9*10*10=900 nmeros.
Para e = 2 , se tiene que:

2 = (

d
d
d1 d 2
d
+
+ 3 ) x10 2 = 10 x(d1 + 2 + 3 ) ,
10 100 1000
10 100

Se tiene que la separacin entre nmeros consecutivos en FP2 es 10-1 , es una


homotecia de razn 10 de FP1, por lo que tambin existen 9*10*10=900 nmeros.
Redondeo:
Si d k +1 < 5 , entonces el dgito d k se mantiene sin cambio, truncando luego para
dar finalmente: fl ( x) = 0, d1d 2 ...d k x10 n
Si d k +1 5 , entonces el dgito d k se aumenta en 1 y luego se trunca el nmero x.
Tambin hay restricciones respecto al tamao del exponente; n debe satisfacer
la desigualdad m n M , donde M y m son enteros positivos que pueden
variar segn la mquina en que se trabaje.
Si n llega a ser mayor que M, entonces se dice que el nmero se ha desbordado
(overflow); es decir, es demasiado grande para representarlo en la mquina. Por
otro lado, si n es menor que - m, entonces se dice que se ha producido un
vaciamiento (underflow); en este caso algunos computadores reajustan el valor
del nmero a cero y continan el clculo, y otros dan un mensaje de error.
Ahora que han sido definidos los FPe , se analizarn los errores de representacin
de nmeros reales. Para fijar ideas se comenzar con un ejemplo simple.

Universidad Surcolombiana Neiva Huila - Colombia

32 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Sea x = 1 x = 0.333 (representacin de x en la aritmtica FP del Ejemplo 1).


3
Esta representacin aparece como muy intuitiva. Sin embargo, la decisin sobre
cmo aproximar el racional 1/3 a un elemento de FP0 no es nica.
Las alternativas se denominan representacin por truncamiento o
representacin por redondeo.
Al utilizar truncamiento, dado x, se le representa por:

x / x FP, x = max{ y FP, y x} .


Por su parte, utilizando redondeo dado x, se le representa por:

x / x FP, tal que x x Es mnimo, FP x FP


x = 2 x = 0.667, si la
3
d 4 5 suma 0.001; ) si d 4 5 solo corta el nmero.

modo

de

ejemplo:

mquina

redondea

(si

Ejemplo
El nmero es un nmero irracional, luego tiene una expresin decimal infinita
de la forma = 3.14159265358979... En forma decimal normalizado es
= 0.314159265358979 * 101 . El nmero en punto flotante (fl) con cinco dgitos
y corte se representa por: fl ( ) =0.31415*101=3.1415.
Con redondeo ser fl ( ) = (0.31415 + 0.00001) *101 = 3.1416
El error cometido al reemplazar un nmero por su forma en punto flotante recibe
el nombre de error de redondeo independientemente de si se ha aplicado el
mtodo de corte o de redondeo.
A continuacin se presentan algunas estrategias para minimizar el error de
redondeo al emplear mtodos numricos en la resolucin de problemas
matemticos.

Estrategia de la mantisa completa. Introducir valores de entrada con


tantos dgitos significativos como sea posible. Por ejemplo: 3.14159265 en
lugar de 3.1416

Estrategia de la respuesta final. Redondear la respuesta final a una


exactitud conocida. Si un resultado es 23.3876 y el dato de entrada menos

Universidad Surcolombiana Neiva Huila - Colombia

33 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

exacto se conoce con 3 dgitos significativos, la respuesta debe


considerarse como 23.4

Estrategia de operaciones mnimas. Reducir en lo posible el nmero de


operaciones a realizar, evitando siempre que se pueda la cancelacin
sustractiva (resta de dos nmeros prcticamente iguales, ya que la
computadora arrojara cero como resultado).

Estrategia de multiplicacin anidada. Evaluar los polinomios en forma


anidada, por ejemplo: p(x) = 2x4 19x3 + 56.98x2 56.834x + 5.1324, tiene
la forma anidada p (x) = (((2x-19)x+56.98)x-56.834)x+5.1324

Estrategia de la precisin extendida parcial. Cuando se haga mediante un


lenguaje de programacin la suma acumulada mediante un ciclo, se debe
emplear la precisin extendida o doble precisin (por ejemplo en lenguaje
C, declarando las variables como double en lugar de float) siempre y
cuando sea posible.

Error absoluto y Error relativo.


Durante un clculo, la acumulacin de errores de redondeo puede descomponer
por completo el resultado, de modo que es esencial poder identificar las
operaciones tendientes a producir grandes errores de redondeo. Pueden
utilizarse dos medidas para cuantificar estos errores.

Error Absoluto
Definicin: Si x fl ( x) es una aproximacin a x, entonces se define el error
absoluto como x x . El error absoluto ea de un nmero b como aproximacin a
otro nmero a es la diferencia entre ellos, ea = b a , luego b = a + ea . A veces se
define este error en valor absoluto, b = a + ea . Por ejemplo, si b aproxima a
a = 22.43 con un error absoluto ea = 0.01221, entonces b = 22.44 , coincide con a
en aproximadamente 4 dgitos. Sin embargo, con ese error absoluto, pero con
a = 0.02243 , el nmero b = 0.03464 , no coincide con a en ninguno de sus dgitos.
Aunque un error de 0.01 pueda parecer pequeo, lo sera solo si el nmero
original es grande. Por ello, el error absoluto no nos permite decidir
correctamente si un error es grande o no lo es.

El error absoluto en la representacin de un nmero p 0 en punto flotante con


t decimales, viene dado por:

x fl ( x) 5 * x *10 t * k
Con k=2 si es por corte y k=1 si es por redondeo.

Universidad Surcolombiana Neiva Huila - Colombia

34 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Error relativo
El error relativo er de un nmero b como aproximacin a otro a se define como:

er =

ba
, b = a + er a = a (1 + er ) , siempre que a sea diferente de cero.
a

A veces se define utilizando valores absolutos. El lector observar que para a = 0,


el error relativo es infinito, lo que es correcto, ya que todo nmero, por muy
pequeo que sea, es infinitamente grande comparado con cero, y todos sus
(infinitos) dgitos pueden ser diferentes de cero.
Se muestra el error relativo con el ejemplo anterior. Sea b un nmero que
aproxima con un error relativo er = 0.01221 a a = 22.43, entonces b = 22.70 cuyos
dos dgitos mas significativos coinciden con a. Para a = 0:02243, con el mismo
error relativo, tenemos b = 0:02270, que tambin coincide en dos dgitos
significativos con a. De esta forma vemos que el error relativo indica claramente
el nmero de dgitos en los que coinciden el nmero original y su aproximacin.
Se puede interpretar el error relativo de forma porcentual, si lo multiplicamos
por 100. Por ejemplo, el error relativo er = 0.01 significa un error del 1%. Cuando
se dice que dos nmeros se aproximan hasta en un 5% se quiere decir que su
error relativo es de 0:05.
Para representar un nmero real en un ordenador hay que elegir un nmero en
punto flotante adecuado. A priori, se debera elegir el ms cercano, sin embargo
esto no es posible siempre salvo que conozcamos todos los dgitos de dicho
nmero y eso no es posible en muchos casos.
En la prctica se necesita un procedimiento que slo requiera, como mucho, un
nico dgito ms de los necesarios para representar el nmero. Utilizando esta
condicin se tiene que hay dos posibilidades, el truncado y el redondeo.

Observaciones:
A partir de la definicin anterior, se observa que la representacin de punto
flotante de x tiene un error relativo igual a:

x fl ( x)
x
Si se dispone de k dgitos, entonces se encuentra que un lmite de error relativo
de 10 k +1 por truncamiento y 5 *10 k por redondeo.
Definicin: Se dice que los nmeros x y x coinciden hasta s dgitos (cifras)
significativos si s es el mayor nmero entero no negativo para el cual:

Universidad Surcolombiana Neiva Huila - Colombia

35 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

x x*
x

< 5 *10 s

En general, si se trabaja con base y mantisa t nmeros.


1
E x 1 t Para una mquina que redondea.
2

E x 1 t Para una mquina que trunca.


Este resultado se verifica de modo sencillo, considerando la diferencia entre dos
nmeros consecutivos de FPe

Operacin en punto flotante


Las operaciones bsicas de la aritmtica tienen su equivalente en los
ordenadores en las llamadas operaciones en punto flotante, que tienen en cuenta
los errores en la representacin de los nmeros. Se ilustran estas operaciones en
un formato de representacin numrica en decimal.
Lo ms importante a observar, es que estas operaciones siempre incurren en
error, que habr de ser tenido en cuenta en los anlisis de errores que realizan a
lo largo del.
Se representan las operaciones en la computadora mediante: +,*,-,/. Se supondr
una aritmtica de dgitos finitos (equivale a realizar operaciones exactas sobre
representaciones de punto flotante, y luego convertir el resultado exacto en su representacin
de punto flotante), y viene definida por:

Suma (adicin) y resta (sustraccin). Para sumar (restar) nmeros flotantes se


igualan los exponentes, se suman (restan) las mantisas y luego se normaliza el
resultado (se representa como nmero flotante).

x + y = fl ( fl ( x) + fl ( y ))
x y = fl ( fl ( x) fl ( y ))
Un

ejemplo

del

modus

operandi.

Sean

x = 0.235 = 0.235 *10 0

y = 0.00123 = 0.123 *10 , entonces:


fl ( x, y ) = fl (0.235 *10 0 + 0.00123 *10 0 ) = 0..236 *10 0 0.23623 = x + y

Como se nota, el resultado tiene error, en este caso, un error absoluto de


0.00023, que corresponde a un error relativo de 9.7 *10 4 , que indica que todos
los dgitos del resultado son correctos.

Universidad Surcolombiana Neiva Huila - Colombia

36 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Producto (multiplicacin) y cociente (divisin). Para multiplicar (dividir) nmeros


flotantes se multiplican (dividen) las mantisas, se suman (restan) los exponentes
y luego se normaliza el resultado.

x * y = fl ( fl ( x) * fl ( y ))
x / y = fl ( fl ( x) / fl ( y ))
Vea un ejemplo sencillo. Sean x = 1867 = 0.1867 *10 4 , e y = 0.201*10 0 , entonces:
fl ( x, y ) = fl (0.1867 *10 4 0.2010 *10 0 ) = fl (0.0375267 *10 4 ) = 0.3753 *10 3 x * y

y
fl ( x, y ) = fl (0.1867 *10 4 / 0.2010 *10 0 ) = fl (0.928855... *10 4 ) = 0.9289 *10 4 x / y

En relacin a las operaciones aritmticas en coma flotante es importante notar


varios puntos. Primero, siempre se cometen errores cuando se realizan
operaciones aritmticas con ordenadores, es decir,

fl ( x) x, fl ( x y ) x y, fl ( x * y ) x * y, fl ( x / y ) x / y
Aunque el resultado sea exacto, se puede haber producido una prdida de dgitos
significativos, como en el caso de las diferencias cancelativas, que a todos los
efectos podemos interpretar como un error.
Segundo, todos los coprocesadores matemticos estn diseados para cometer un
error mximo igual a la unidad de redondeo, u = / 2 , al realizar cualquiera de
las operaciones elementales (incluidas la evaluacin de races cuadradas,
logaritmos, trigonomtricas, etc.). Para ello, muchos procesadores utilizan los
llamados dgitos de reserva, dgitos adicionales que se utilizan internamente
durante los clculos que permiten garantizar que el resultado de una operacin
con nmeros flotantes tiene como resultado un nmero flotante redondeado de
forma exacta (por ejemplo, los coprocesadores Intel ix87 utilizan internamente
80 dgitos para operar con nmeros en doble precisin de slo 64 dgitos). Un
estudio de los efectos de los dgitos de reserva en los errores est fuera de los
objetivos de este curso.
Tercero, las operaciones de suma y multiplicacin flotantes son conmutativas,
pero no son asociativas ni distributivas. Por ejemplo, aunque x + y + z = (x + y) +
z = x + (y + z), se tiene que:

fl ( fl ( x + y ) + z ) fl ( x + fl ( y + z ))
Y por tanto el orden con el que se opera es importante por cuanto afecta a como
se acumulan los errores. Un orden adecuado puede llegar a reducir los errores en
el resultado final. Y por el contrario, un orden inadecuado puede incrementar
estos.
Ejemplo

Universidad Surcolombiana Neiva Huila - Colombia

37 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

y y = 5 . En corte a cinco dgitos se tiene:


3
7
0
fl ( x) = 0.33333 *10 ; fl ( y ) = 0.71428 *100

Sean x = 1

Operacin Resultado
Error Absoluto Error Relativo
1
x+ y
0.10476*10
0.190*10-5
0.182*10-4
0
-5
x y
-0.38095*10
0.238*10
0.625*10-5
0.23809*100
0.524*10-5
0.220*10-4
x* y
0.46666*100
0.667*10-5
0.143*10-4
/ yx

Problemas con operaciones en punto flotante


Se analizarn algunos ejemplos de operaciones en coma flotante, para luego
indicar algunos problemas que se observan en los ejemplos:
y=5

fl ( y ) = 0.71428 * 10 0

u = 0.714251

fl (u ) = 0.71425 * 10 0

v = 98765.9

fl (v) = 0.98765 * 105

w = 0.111111 * 10 4 fl ( w) = 0.11111 * 10 4

Operacin
y u
( y u) / w
( y u) * v
u+v
yw

Error Absoluto
0.472*10-5
0.425
0.466
0.162*101
0.779

Error Relativo
0.136
0.136
0.136
0.164*10-4
0.122*10-4

Problemas
1.

La divisin por un nmero muy pequeo (o la multiplicacin por un nmero


muy grande) da un error absoluto muy grande. Si p se representa por p + ,
y se calcula p/d, donde d es pequeo, se obtendra un error aproximado de
e/d y, si d es muy pequeo, el cociente ser muy grande.

2.

La sustraccin de nmeros casi iguales da errores relativos muy grandes:


Sean x; y (con x > y) tales que (con k dgitos):

fl ( x) = 0.d1d 2 ...d p * p +1... k *10 n


fl ( y ) = 0.d1d 2 ...d p * p +1... k *10n
fl ( fl ( x) fl ( y )) = 0. p +1... k *10n p
Donde 0. p +1... k p +1... k = 0. p +1... k , As x y tendr k p dgitos.

Universidad Surcolombiana Neiva Huila - Colombia

38 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

La perdida de dgitos es peligrosa si se quiere mantener un error relativo


pequeo. Recuerde que p aproxima a p con t dgitos significativos si:
p p
p

3.

< 5 *10 t

La propagacin de estos errores al resto de clculos.

Se puede evitar estos problemas:

minimizando el nmero de operaciones,


ordenando adecuadamente las operaciones,
replanteando el problema en otros trminos.

Ejemplos con operaciones


En general durante cualquier sesin de laboratorio usted va a tomar datos de
diferentes variables fsicas con diferente nmero de cifras y despus efectuar
con ellos diversas operaciones matemticas con el fin de hallar el valor de otra
variable. A continuacin se dan algunas sugerencias sobre como manipular los
datos obtenidos experimentalmente para que la respuesta final quede expresada
en forma correcta.
1.

El resultado de una operacin de multiplicacin, divisin o elevacin a una


cierta potencia tiene usualmente el mismo nmero de cifras significativas
o a lo sumo una ms, que la cantidad de la operacin que tenga el menor
nmero de cifras significativas.

Ejemplo:
Conociendo los lados de un rectngulo a=23,975cm y b=17,03cm se quiere
calcular su rea A=a*b.
Segn la calculadora: A=23,975cm*17,03cm=408,29425cm2
Pero si la exactitud con que conocemos el valor del lado es de una milsima de
centmetro y del lado b es de una centsima de centmetro, es evidente que el
resultado no puede tener una exactitud de una cien milsima. Por lo tanto la
notacin correcta, atenindonos a la regla expuesta sera:
A=408,29cm2 (o, segn sea la situacin, A=408,3cm2, teniendo en cuenta el
redondeo)

Universidad Surcolombiana Neiva Huila - Colombia

39 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

2.

Al sumar o restar el redondeo debe realizarse de tal manera que el


resultado no tenga ms decimales (no cifras significativas) que el nmero
con menor cantidad de decimales.

495,2+20,348=515,548 (segn la calculadora)


Pero segn la regla enunciada la notacin correcta sera
495,2+20,348=515,5 (limitndose a una cifra decimal).
3.

Un nmero como el 2 como en la expresin 2r 1 en la expresin


2
2
1 mv , se deben tomar con tantas cifras significativas como el nmero
2
que ms tenga en la expresin correspondiente.

Prdida de cifras significativas


Adems de los inevitables errores de redondeo, en un proceso numrico se
producen otro tipo de errores que una cuidadosa programacin puede controlar.
Es el llamado error generado. Un ejemplo tpico es la prdida de cifras
significativas que se produce al restar dos cantidades muy prximas.
Ejemplo
Suponga que esta trabajando con una mquina decimal con mantisa de cinco
dgitos y truncamiento, que tiene x = 22.375686, y=22.373897 y desea calcular xy. La mquina utilizar
x-y = 0.001789
fl(x) =0.22375e+02,
fl(y) = 0.22374e+02
Y proporcionar
fl(x)-fl(y) = 0.00002e+02 =0.20000e-02
Si se midie el error relativo producido por la operacin
|(x-y) - [fl(x)-fl(y)]|
|0.01789-0.002|
---------------------------- = ------------------------ = 89%
|x-y|
0.00001789
Resulta muy grande.

Universidad Surcolombiana Neiva Huila - Colombia

40 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Ejemplo
Resuelva la ecuacin x 2 + 62.10 x + 1 = 0 . Las races aproximadas son:

x1 =

b + b 2 4ac
= 0.0161072
2a

b b 2 4ac
x2 =
= 62.08390
2a
Como b 2 es mucho mayor que 4ac en el clculo de x1 , el numerador tiene una
resta de nmeros casi iguales.
Trabajando con redondeo a cuatro dgitos se tiene que:

b 2 4ac = 3856 4 = 62.07


fl ( x1 ) =

62.10 + 62.06
= 0.15 *10 1
2

Y se obtiene un error relativo grande:

0.0161072 + 0.015
6.9 *10 1
0.0161072
El calculo de x2 no presenta ese problema (no aparece la resta).
Solucin: hacer desaparecer la resta en el calculo de x1 .

x1 =

b 2 (b 2 4ac)
2a(b b 2 4ac )

2c
b + b 2 4ac

fl ( x1 ) = 0.1611 *10 1

Y el error relativo es ahora:


0.0161072 + 0.1611 *10 1
0.0161072

2 *10 4

En el caso de que b fuera negativo las cosas ocurriran exactamente al contrario.


Para x1 se obtendra una buena aproximacin y para x2 habra que considerar la
segunda opcin.

Ejemplo
Evaluacin del polinomio P ( x) = x 3 6.1x 2 + 3.2 x + 1.5 en el punto x = 4.71 usando
aritmtica de tres dgitos.

Universidad Surcolombiana Neiva Huila - Colombia

41 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

x
x2
x3
6.1x 2
3 .2 x
Exacto
4.71 22.1841 104.487 135.323 15.072
Corte
4.71
22.1
104.
135.
15.0
Redondeo 4.71
22.2
104.
135.
15.1

Exacto
Corte 3 dgitos
Redondeo 3 dgitos

: P(4.71)=104.487-135.323+15.072+1.5=-14.2639
: P(4.71)=((104.-135.)+15.0)+1.52=-14.5
: P(4.71)=((104.-135.)+15.1)+1.5=-14.4

Errores relativos (con 3 dgitos):


En truncamiento

14.2639 (14.5)
0.017
14.2639

En redondeo

14.2639 (14.4)
0.00962
14.2639

Evaluar P(x) en forma anidada: P ( x) = (( x 6.1) x + 3.2) x + 1.5 . As la evaluacin de


P(x) en 4.71 queda:
En Truncamiento

: P(4.71)=-14.2

Con un error relativo

En redondeo

: P(4.71)=-14.3

Con un error relativo

14.2639 + 14.2
0.0045
14.2639

14.2639 + 14.3
0.0026
14.2639

Rango, "Overflow " y "Underflow"


Cuando en un clculo se alcanza un nmero mayor que el ms grande nmero
mquina posible se dice que se haya alcanzado un overflow o desbordamiento
por exceso.
En muchas mquinas, el resultado puede ser mas grande que el valor mas grande
que puede almacenar la maquina, en tal caso, se produce un error fatal y se
detiene el proceso. Si se alcanza un nmero ms pequeo que el ms pequeo
nmero mquina posible se produce un underflow o desbordamiento por defecto,
la mquina suele asignar el valor 0 y el clculo contina.

Universidad Surcolombiana Neiva Huila - Colombia

42 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

MATLAB proporciona informacin sobre el nmero real ms grande mediante el


contenido de su variable predefinida realmax. Igualmente proporciona
informacin sobre el nmero real ms pequeo que puede representar mediante
su variable realmin.
realmax
ans = 1.7977e+308
=2^1023*(2-0.5^52)= 1.11.....1(2 * 2^ 1023)=
Comprobacin
realmax*2
inf
realmin
ans = 2.2251e-308
= 2 ^ ( -1022 )
Comprobacin
realmin*2^(-1)
ans = 1.112536929253601e-308 ??????
realmin*2^(-52)
ans = 4.940656458412465e-324
realmin*2^(-53)
ans=0
Por lo tanto el valor real ms pequeo que
4.940656458412465e-324, que corresponde a 2^(-1074).

puede

manejar

es

Aqu parece fallar la carga de la variable realmin!!!!!

Inestabilidad numrica15
Un proceso numrico es inestable cuando pequeos errores en alguna de sus
etapas generan, a lo largo del resto del proceso, errores que degradan
seriamente la exactitud de los resultados del clculo en su conjunto.
Ejemplo
Es sabido que las potencias de la razn urea verifican la relacin de recurrencia:
r^(n+1) = r^(n-1)-r^n. Esto nos permite generar dichas potencias mediante el
algoritmo implementado en MATLAB siguiente:
r=zeros(1,100; % para evitar el redimensionamiento del for
15

Aritmtica computacional, Algunos aspectos tericos. Profesor Jos A. Cordn. Dpto. de Matemticas, Estadstica y
Computacin (MATESCO). Facultad de Ciencias. Universidad de Cantabria, mail: cordon@matesco.unican.es

Universidad Surcolombiana Neiva Huila - Colombia

43 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

r(1)=1;r(2)=(sqrt(5)-1)/2;
for n=2:100
r(n+1)=r(n-1)-r(n);
end
for n=1:10:100
fprintf('r^%g=%10.5f error = %g \n', n, r(n+1),... abs(r(n+1)-r(2)^n))
end
Al ejecutar el programa anterior se vera el siguiente resultado.
r^1 = 0.61803 error = 0
r^11= 0.00502 error = 4.83207e-015
r^21= 0.00004 error = 5.94599e-013
r^31= 0.00000 error = 7.31309e-011
r^41= 0.00000 error = 8.9945e-009
r^51= 0.00000 error = 1.10625e-006
r^61= 0.00014 error = 0.00013606
r^71= 0.01673 error = 0.0167343
r^81= 2.05818 error = 2.05818
r^91= 253.13910 error = 253.139
Se observa que las 15 cifras correctas del r^11, van disminuyendo
paulatinamente hasta hacerse los resultados ltimos enormemente imprecisos.
El algoritmo es inestable.

Problema bien o mal condicionado


El concepto es muy parecido al de la estabilidad numrica de algoritmos. Pero
ste es relativo a la sensibilidad de un problema respecto de sus datos iniciales.
Se dice que un problema est mal condicionado si pequeos cambios en los
datos iniciales dan lugar a grandes cambios en las soluciones. Para cierto tipo de
problemas se puede definir un nmero de condicin que, en general, indicar el
factor de crecimiento del error relativo final con respecto al error relativo inicial.
Ejemplo
Considere los sistemas
x + 2y = 3
2x + 4.001y = 6
Solucin: x=3 , y=0
x + 2y = 3
2 x + 3.999y = 5.999

Universidad Surcolombiana Neiva Huila - Colombia

44 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Solucin: x=1 , y=1


Se ha cambiado [2,4.001,6] por [2,3.999,5.999]. Empleando la norma
eucldea supone una perturbacin, en trminos relativos, de
a=[2,4.001,6];b=[2,3.999,5.999];
pi=norm(a-b)/norm(a)
pi = 2.9879e-04
Que causa un error relativo en la respuesta, que pasa de [3,0] a [1,1], de
a=[3,0];b=[1,1];
pf=norm(a-b)/norm(a)
pf = 0.7454
Se tiene un factor de amplificacin de
pf/pi
ans = 2.4946e+03
Problema mal condicionado.

Definicin del de la mquina


El psilon de la maquina, es el tamao del intervalo entre 1 y el siguiente
nmero mayor que 1 distinguible de 1. Esto significa que ningn nmero entre 1 y
1+ se puede representar en la computadora16.
El de la mquina es una magnitud dependiente del sistema de representacin
FP que juega un rol importante como cota de los errores relativos de
representacin. Se define como mach = min( x : FP(1 + x) > 1) , En general ocurrir
que:

mach

1 e t
( para mquina que redondea
= 2
e t ( Para mquina que trunca )

La expresin anterior surge directamente de aplicar las acotaciones presentadas


para E x . En MATLAB mach se define como la distancia entre 1 y el siguiente
nmero de FP. Mostrar que, segn la anterior definicin, en la hiptesis del
redondeo en la suma, ese valor es igual a 2. mach .
16

NAKAMURA, Op. Cit. P.11

Universidad Surcolombiana Neiva Huila - Colombia

45 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

Ntese que mach depende de la arquitectura de la mquina y a la vez, de cmo


est implementada la representacin del resultado y la operacin de suma (si se
utiliza truncamiento o redondeo).
MATLAB tiene la precisin con la que trabaja almacenada en una variable "eps".
eps
eps = 2.2204e-016
Precisin = 2-52 2.2204e-016.
Los errores sern del orden de la decimosexta cifra significativa en la
representacin decimal de un nmero.
Otra comprobacin
a=1,b=2^(-52),c=a+b,a==c
ans = 0
a=1,b=2^(-53),c=a+b,a==c
ans = 1
2^(-53) es "cero" frente al 1
Lo que confirma el uso de la norma IEEE 754.

Costo operativo y eficiencia


El nmero de operaciones elementales floating-point operations (flops), que un
mtodo necesita en su aplicacin se denomina costo operativo y supone una
medida de lo que se denomina complejidad del mtodo. Para cada problema
suele haber varios mtodos posibles, como elegir entre ellos?.
Una posibilidad seria: elegir el mtodo que diese menos errores. Hay otra
posibilidad mejor: quedarse con el mtodo que, dando errores dentro de unos
lmites predeterminados, necesite el menor trabajo.
Este equilibrio entre precisin y coste operativo se llama eficiencia, y se dir que
un mtodo es mas eficiente que otro si, dando errores parecidos es menos
costoso, o que siendo parecido de costoso es mas preciso.
La eficiencia depende del tamao de los errores y del costo operativo del
mtodo que es el nmero de operaciones necesaria para llegar a la solucin. La
eficiencia o no de un mtodo numrico es un rasgo muy importante que siempre
se debe analizar.
MATLAB dispone de varias funciones que permiten medir o analizar dicha
complejidad, flops cuenta el nmero de operaciones realizadas por MATLAB
Universidad Surcolombiana Neiva Huila - Colombia

46 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

desde su arranque, etime, tic, toc, clock y cputime realizan diversas mediciones
del tiempo. Estas ltimas medidas sern dependientes de la mquina, no
obstante posibilitan una cierta medida de la complejidad relativa y la
comparacin de algoritmos. (Para una ms completa descripcin de estas
funciones utilice el help correspondiente dentro del entorno MATLAB)
Ejemplo
help flops
El tamao de los errores es ciertamente un criterio til: podra elegir el mtodo
que diese menores errores. No obstante hay un criterio mejor: quedarse con el
mtodo que, dando errores dentro de unos lmites predeterminados, necesite el
menor trabajo. Este equilibrio entre precisin y coste operativo se llama
eficiencia y dir que un mtodo es ms eficiente que otro si dando errores
parecidos es menos costoso o que siendo parecido de costoso es ms preciso.
Ejemplo
Algoritmo de Horner. Suponga que se debe evaluar para un valor dado z un
polinomio curtico a 4 x 4 + a 3 x 3 + a 2 x 2 + a 1 x + a 0 . El mtodo ingenuo calculara

z 2 = z z, z 3 = z 2 z, z 4 = z 3 z
los
sucesivos
productos
que
son
tres
multiplicaciones, despus calculara los productos por los coeficientes que son
otras cuatro multiplicaciones, y finalmente las cuatro sumas o restas
dependiendo del signo del coeficiente. En total son cuatro sumas o restas y siete
multiplicaciones.
Si ahora opera en otro orden:
Ecuacin 5

a 0 + z (a 1 + z (a 2 + z (a 3 + z a 4 )))

El resultado es el mismo pero slo precisa cuatro sumas o restas y cuatro


multiplicaciones, se ha reducido de siete a cuatro el nmero de multiplicaciones.
Para un polinomio de grado N el mtodo ingenuo requiere N sumas y 2N-1
multiplicaciones mientras que el mtodo de la Ecuacin 5, llamado de Horner o
de multiplicaciones encajadas necesita N sumas y N multiplicaciones. Como
ninguno de los dos mtodos genera errores salvo los de redondeo, el de Horner es
ms eficiente. Si como es frecuente en un programa se deben evaluar polinomios
en miles de puntos diferentes, usar un mtodo u otro puede suponer mucho
tiempo de computacin.

Conclusiones

Universidad Surcolombiana Neiva Huila - Colombia

47 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

9 Los clculos numricos pueden ser inexactos.


9 El error final de un proceso de clculo efectivo es fruto de la acumulacin de
distintos tipos de errores. Unos iniciales (de entrada, redondeo de los datos,
truncadura del problema, ...) y otros generados a lo largo del proceso.
9 El aumento de la precisin (aumento de las unidades de memoria para
almacenar los nmeros), en general reduce el error final. No obstante, a
veces conviene sacrificar precisin frente a economa de tiempo o de recursos.
(Un equilibrio entre precisin suficiente y coste adecuado se le suele llamar
eficiencia).
9 Hay operaciones o procesos de clculo que propagan fuertemente los errores
de redondeo, operaciones o algoritmos inestables (inestabilidad numrica).
9 Hay problemas que tienen una naturaleza que los hace especialmente
sensibles a la variacin de los datos, problemas mal condicionados. Para
cierto tipo de problemas se puede definir una medida de esta sensibilidad
mediante un nmero de condicin.

Problemas propuestos:
1. Convierta los siguientes valores expresados en binario al correspondiente
en sistema decimal.
.11000112 , .11111112 , 1010 2 , 1001012 , 101.012

2. Calcule el error absoluto y el relativo en las aproximaciones de p por p*.


a.
c.
e.
g.

p=, p*=22/7
p=e, p*=2.718
p=e10, p*=22000
p=8!, p*=39900

b.
d.
f.
h.

p=, p*=3.1416
p= 2 , p*=1.1414
p=10, p*=1400
p=9!, p*= 18 (9 / e) 9

3. Realizar un programa que permita calcular:

x x 2 x3
xn
e = 1+ +
+
+ ... +
1! 2! 3!
n!
x

Comenzando con el primer trmino e x = 1 y agregando un trmino a la vez


calcular e 0.5 . Calcular los errores relativos porcentuales real y aproximado
en cada trmino calculado. Considerando como verdadero el valor hallado
en el clculo el trmino anterior. Realizar el clculo hasta que ambos
errores sean menores que 0.01%
4. Realizar las siguientes operaciones aritmticas y representar los resultados
en el siguiente esquema M=5 y E=2
a) 0,1557 x 101 + 0,004381 x 101
b) 0,2584 x 102 + 0,0005987 x 103
c) 5245,269 0,0012 x 101

Universidad Surcolombiana Neiva Huila - Colombia

48 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

d)
e)
f)
g)
h)

0,5469 x 103 0,5468 x 103


0,0000125 x 105 0,0000125 x 106
0,1365 x 103 x 0,6423 x 10-2
0,2356 x 103 / 0,6423 x 10-2
0,4000 x 104 + 0,0000001 x 104

Calcular los errores relativos porcentuales para cada operacin


considerando que los resultados obtenidos mediante una calculadora son los
reales.
Estimar la cota del error para cada operacin, teniendo en cuenta el
esquema de representacin dado.
5. Calcular las races de una ecuacin cuadrtica ax 2 + bx + c con:
a= 1

b= 3000.001

c= 3

Las races verdaderas son: x1 = 0.001, x 2 = 3000.


a=1

b=-400.2

c=80

Las races verdaderas son x1 = 400, x2 = 0.2 .


Calcule la cota del error cometido en los distintos pasos del clculo.
Calcule el error relativo porcentual comparando sus resultados con las
races verdaderas.
Proponga una formulacin alternativa que reduzca el error
6. Evaluar al polinomio:

y = 2 x 3 4 x 2 6 x + 23 / 12 En x= 2.73
Valor verdadero en x= 2.73, y = -3.58
Calcular la cota el error cometido en la evaluacin del polinomio y el error
relativo porcentual cometido utilizando los valores verdaderos.
7. Utilizar los trminos de la Serie de Taylor con n=0 hasta 6, para aproximar
la funcin:

f ( x) = (23 ) * cos( x) En xi +1 = 1 / 3
18
Siendo el centro de la serie /4, utilizar cinco cifras significativas en los
clculos.

Universidad Surcolombiana Neiva Huila - Colombia

49 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

8. Utilizar una aproximacin de primer a cuarto orden de la serie de Taylor


para aproximar la funcin: f ( x) = 3 * (23 / 12) 0.3 x 0.5 x 2 0.25 x 3 0.35 x 4
Desde xi = 0 con h=1
9. Suponga que p* debe aproximar p con un error relativo en el mximo 10-3.
Encuentre el intervalo ms grande en que p* debe hallarse para cada valor
de p.
a. 150

b. 900

c. 1500

d. 90

10. Encuentre el intervalo ms grande en que debe encontrarse p* para que


aproxime p con un error relativo en el mximo 10-4 para cada valor de p.
a.

b. e

c.

d.

11. Efecte los clculos siguientes (i) exactamente, (ii) aplicando la


aritmtica de corte de tres dgitos y (iii) aplicando la aritmtica de
redondeo a tres dgitos. (iv) Calcule los errores absolutos y relativos en
las partes (ii) y (iii) .
a. 4/5 + 1/3
c. (1/3 3/11) + 3/20

b. 4/5 1/3
d. (1/3 + 3/11) 3/20

12. Aplique la aritmtica de redondeo a tres dgitos para realizar los


siguientes clculos. Calcule los errores absolutos y relativos con el valor
exacto determinado por los menos a cinco dgitos.
a. 133+0.921
c. (121-0.327)-119

b. 133-0.499
d. (121-119)-0.327

13 6

14
7
e.
2e 5.4

f. 10 + 6e

2 9
9 7

g.

3
62

22
7
1
17

h.

13. Repita el ejercicio anterior aplicando la aritmtica de redondeo a cuatro


dgitos.
14. Repita el ejercicio anterior aplicando la aritmtica de corte a tres dgitos.
15. Repita el ejercicio anterior aplicando la aritmtica de corte a cuatro
dgitos.
16. Cuntas multiplicaciones y sumas se requieren para determinar una suma
de la forma

Universidad Surcolombiana Neiva Huila - Colombia

50 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

aib j ?

i =1 j=1

Modifique la suma de la parte (a) convirtindola en una forma


equivalente que disminuya la cantidad de clculos.
17. Sea P(x)=anxn+an-1xn-1+...+a1x+a0 un polinomio (forma normal) y suponga
que se da x0.
Construye un algoritmo para evaluar P(x0) por medio de la multiplicacin
anidada. Ese algoritmo se conoce como Algoritmo de Horner.
Averiguar en qu se parece el algoritmo de Horner para evaluar P(x0),
con aplicar la regla de Ruffini: P(x)=(x- x0 ) q(x) +R , donde R= P(x0).
Contar el nmero de operaciones que se cometen al evaluar P(x0), en
forma normal y en forma anidada. Cul de los dos tiene un menor coste
operacional?
Si se quiere calcular P(x0) y P(x0). Cmo se podra hacer con el
algoritmo de Horner? Aplicarlo para el caso P(x)= 2x4 - 3x2 + 3x 4, para
evaluar P(-2) y P(-2).
18. Sean los nmeros x*1 , x*2 , ..., x*n aproximaciones de x1 , x2 ,..., xn . Suponga
que en cada aproximacin el error absoluto mximo posible es E.
Demostrar que el error mximo posible en la suma x*1 + x*2 +...,+ x*n es nE.
19. Demostrar que si q p 2 entonces la resolucin de la ecuacin de
segundo grado x 2 + 2 px q = 0 es un problema mal condicionado.
20. Considere la integral dependiente de un parmetro n N
Deducir la frmula de recurrencia:

x+5

dx

I n = 5 I n 1 + n

Utilizar la frmula de recurrencia del apartado anterior para calcular


I n con n=1,2,3,4. Realizar los clculos con tres decimales. A la vista de
los resultados anteriores, deducir si el algoritmo generado en el apartado
a) en numricamente estable.
21. Resuelva la ecuacin: x 2 18 x + 1 = 0, utilizando aritmtica de punto
flotante, con cuatro decimales de precisin y redondeo por corte. Ensaye
los tres algoritmos siguientes:
b
x1 = 2 +

b

2

b
ac ; x 2 =

Universidad Surcolombiana Neiva Huila - Colombia

b

2

ac

51 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

b
x1 = 2 +

b

2

b
x1 = 2

b

2

ac ;

ac ;

Teniendo en cuenta que una solucin con cinco cifras decimales exactas
es x1 = 0.17944 * 10 2 ; x 2 = 0.55728 *10 1 , comente los resultados e intente
dar una explicacin a los mismos.

Recursos Bibliogrficos
1. ALTZ, Franz L. Electronic. Digital. computers: Their use in science
and Engineering. 1958 Academic Press inc. New York.
2. BURDEN Richard L., J. Douglas Faires; Anlisis numrico. tr. Efrn
Alatorre Miguel; Revisin Tcnica. Ildefonso. 1998 (Biblioteca USCO.
Nro Topogrfico: 515 / B949a.)
3. CHAPRA Steven C., CANALE Raymond P, Numerical Methods for
engineers. McGraw Hill, Inc. 1988. 839p. ISBN 0-07-909944-0.
4. CHAPRA Steven C., CANALE Raymond P. Mtodos numricos para
ingenieros: con aplicaciones en computadoras personales. 1988
(Biblioteca USCO Nro Topogrfico: 519.5 / C467m)
5. CONDE S. D, Carl de Boor. Anlisis numrico elemental: Un enfoque
algortmico. Mc. Graw-Hill 1972, (Biblioteca USCO Nro Topogrfico:
511.8 / C761 Biblioteca).
6. CORMICK MC., John M. and SALVADOR M.C. Numerical Methods in
FORTRAN. 1964. Prentice-Hall Inc Englewood Cliffs N:J.
7. CURTIS, F. Gerald, WHEATLEY, O. Patrick. Anlisis numrico con
aplicaciones. Tr. Hugo Villagomez Vasquez. 6 Ed. Pearson Educacin.
2000, 698p. ISBN 968-444-393-5.
8. D. Goldberg, What Every Computer Scientist Should Know About FloatingPoint Arithmetic, ACM Computing Surveys, Vol. 23, pp. 153230 (1991).
Reproduced at http://citeseer.nj.nec.com/goldberg91what.html.

9. FADDEEVA, V.N. Computacional methods of linear algebra, Dover


Publications. 1969, New York.
10. GASTINEL Nol; Anlisis numrico lineal. tr. Javier Ruiz Fernndez de
Pinedo. 1975. (Biblioteca USCO Nro Topogrfico: 511.7 / G255).
11. GREENSPAN, D. Theory and solutions of Ordinary Differencial Equations.
1960 The. Mc Millan Co. New York.
12. KINCAID David y Ward Cheney; Anlisis numrico: Las matemticas del
clculo cientfico. tr. Rafael. 1994 (Biblioteca USCO Nro Topogrfico:
515 / K51a).

Universidad Surcolombiana Neiva Huila - Colombia

52 de 53

Ing Yamil Armando Cerquera Rojas


yacerque@gmail.com

13. LUTHE. Rodolfo, OLIVERA Antonio, SCHUTZ Fernando, Mtodos


numricos. 1986 (Biblioteca USCO Nro Topogrfico: 511.7 / L973m).
14. MATHEUS. John H. Fink Kurtis D. Mtodos Numricos con MATLAB.
Editorial Prentice Hall
15. McCRACKEN, Daniel D., Mtodos numricos y programacin fortran: con
aplicaciones en ingeniera y ciencias. 1986. Editorial Limusa. Mxico.
(Biblioteca USCO Nro. Topogrfico: 001.6424 / M117).
16. NAKAMURA Shoichiro; Anlisis numrico y visualizacin grfica con
MATLAB. tr. Roberto Escalona Garca. 1998 (Biblioteca USCO N ro
Topogrfico: 515.1 / N163a).
17. NAKAMURA Shoichiro; Mtodos numricos aplicados con software. tr.
Oscar Alfredo Palmas Velasco. Prentice Hall Hispanoamericana S.A.
1995. 570p. (Biblioteca USCO. Nro. Topogrfico: 511.8 / N163m) ISBN
968-880-263-8
18. NIETO RAMIREZ Jos A., Mtodos numricos en computadoras digitales.
Editorial Limusa 1980. (Biblioteca USCO Nro Topogrfico: 001.64042 /
N677).
19. RALSTON Anthony; Introduccin al anlisis numrico. tr. Carlos E.
Cervantes de Gortari. Editorial Limusa. Mexico. 1978. 629p. (Biblioteca
USCO Nro Topogrfico: 511.7 / R164.)
20. SCARBOROUGH, J.B Numerical mathematics analysis
21. SIERRA ROMERO, Alberto. Manual de Mtodos Numricos. Universidad
Tecnolgica de Pereira.
22. SMITH, W. Allen; Anlisis numrico. tr. Francisco Javier Snchez
Bernabe; Rev. Tc. Jos Luis Turriza Pinto. Prentice Hall
Hispanoamericana S.A. 1988. 608p. (Biblioteca USCO Nro Topogrfico:
515 / S664a) ISBN 968-880-119-4.
23. STANTON, Ralp G. Numerical Methods for Science and Engineering.
1967. Prentice-Hall Inc. Englewood Cliffs N.J

Universidad Surcolombiana Neiva Huila - Colombia

53 de 53

S-ar putea să vă placă și