You are on page 1of 26

UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU

FACULTAD DE INGENIERIA QUMICA


DEPARTAMENTO DE INGENIERA




CALCULO NUMERICO 044 B

CATEDRTICO : Ing. WALTER S. FUENTES LOPEZ
SEMESTRE : IV
AO ACADENICO : 2004-I
Marzo - Julio 2004
HUANCAYO PERU

Introduccin al
Clculo Numrico.
IV SEMESTRE

2004 - I
Introduccin al Clculo Numrico 3
CONTENIDO
El clculo numrico en la historia.
Breve historia de los nmeros.
Errores.
Errores iniciales, de redondeo y truncacin
Representaciones de nmeros reales
Representacin en coma fija.
Representacin con coma flotante.
El estndar IEEE
Operaciones con nmeros reales en formato de coma flotante.
Algoritmos numricos.
Introduccin al Clculo Numrico 4
El clculo numrico en la historia:
Era mecnica

baco: Europa (1200 d. C.). Inventado en
China. Conocido en Grecia (siglo V a.C.)
Plancha de madera con varillas y bolas.

Se pueden realizar sumas, restas y
multiplicaciones

Renacimiento

Astrolabio: Crculos excntricos para calcular la
evolucin posiciones del sol las estrellas en el
firmamento.

Sector de Galileo.

Introduccin al Clculo Numrico 5
El clculo numrico en la historia
John Napier o Nepero (1615).
Introduce los logaritmos.
Varillas de Napier (1615) Sistema de
clculo analgico. Multiplicaciones
mediante cubos encajados en columnas
(bsicamente una tabla de multiplicar).

Reglas de clculo (1620-1630).
- Utilizan logaritmos para realizar las
operaciones.
- Operandos y resultado representados
por longitudes
7 x 46732
28
42
49
21
14
-----------
327124


Introduccin al Clculo Numrico 6
El clculo numrico en la historia
Pascalina (1642, Pascal tiene 19 aos).
- Mquina de sumar/restar. Multiplicacin
mediante repeticin de sumas
-Utiliza ruedas dentadas.

Mquina de Leibniz (1671)

- Mquina de sumar/restar/multiplicar/dividir.
- Utiliza cilindros dentados con dientes de
longitud variable en lugar de ruedas
dentadas.
- Funciona mal cuando hay que propagar
simultneamente varias cifras.


Introduccin al Clculo Numrico 7
El clculo numrico en la historia
Aritmmetro (1820, Charles-Xavier Thomas
de Colmar)
- Primera mquina automtica de clculo con
buen funcionamiento.

Mquina de diferencias de Babbage (1822)
- Clculo automtico de polinomios por
diferencias finitas.
- Ordenador digital con programa fijo.
- Clculos cientfico y astronmicos
practicados sobre unas tarjetas de cartn.

Mquina analtica de Babbage (1833)





________________________

P(x) = x
2
- x + 2
________________________________
F A A
2
A
3

x = 0 F(0) = 2
x = 1 F(1) = 2 0
x = 2 F(2) = 4 2 2
x = 3 F(3) = 8 4 2 0
________________________________

A(n-1)+A
2
= A(n) F(n-1)+A(n) = F (n)
x = 1 0 0+2 = 2
x = 2 0+2 = 2 2+2 = 4
x = 3 2+2 = 4 4+4 = 8
x = 4 4+2 = 6 8+6 = 14
x = 5 6+2 = 8 14+8 = 22
.....





Introduccin al Clculo Numrico 8
El clculo numrico en la historia

Primeros ordenadores modernos:
A partir de los aos 40 surgen diversos
precursores de los ordenadores actuales, sobre
todo en universidades y en proyectos asociados
al esfuerzo blico, dedicados a cmputos
numricos complejos.
ABC, Atanasoff-Berry (Iowa State College,
1935)
Serie Z, Konrad Zuse (Alemania 1930-1940)
Mark I, Aiken (Harvard U., 1937-1944)
ACE, Alan Turing (Manchester, 1946)
Manchester Mark 1 T+Newman+Williams

Era electromecnica
ENIAC (Electronic Numerical Integrator and Computer) 1944, Eckert+Mauchly
EDVAC (Electronic Discrete Variable Computer) 1945-1951, E+M+von Neumann
-




Introduccin al Clculo Numrico 9
Historia de los nmeros
Niveles de abstraccin
Concepto de cantidad
La cantidad es representada por repeticin de un smbolo que
representa a un nico objeto (la unidad)
Ejemplo: IIIIIIIII (= 8)

Niveles:
Una unidad de un nivel determinado equivale a un nmero de
unidades de un nivel inferior
Ejemplo:
Monedas
Sistema romano de numeracin.

Sistema posicional
Introduccin al Clculo Numrico 10
Sistema posicional
La posicin de un smbolo respecto a los otros smbolos tambin
comunica informacin
Conjunto de smbolos: dgitos
El valor de cada dgito est determinado por su posicin en el nmero.

Ejemplo: Sistema rabe de numeracin (origen hind)
Dgitos: 0,1,2,3,4,5,6,7,8,9
1024.87 = 1 x 1000 + 0 x 100 + 2 x 10 + 4 x 1 + 8 x 0.1 + 7 x 0.01

Base b
[ b= 10, 20, 60 ]
[ b= 2, 8, 16 ]

=


N
n
n
n N N
b d d d d d d d d
2 1 0 1 2 1
.
Introduccin al Clculo Numrico 11
Errores
Errores iniciales.
Medicin: Cuenta de un nmero de sucesos / comparacin con unidad de
medida.
Precisin del instrumento de medida
Fluctuaciones.
Sesgo.

Errores de truncacin: proceso que requiere un nmero infinito de
pasos se realiza con un nmero finito de operaciones.

Errores de redondeo: Asociados con las limitaciones en la capacidad
de representacin
Introduccin al Clculo Numrico 12
Errores de truncacin
Clculo de una derivada mediante una diferencia dividida



Clculo de una serie infinita como una suma finita



Clculo de una integral mediante una suma
) (
2
) ( ) (
) ( '
2
h O
h
h x f h x f
x f +
+
~
) (
!
) (
!
) (
1
0 0
+
=


N
N
n
n
n
n
x
x O
n
x
n
x
e
( ) ( ) | | ) (
2
1
) (
3
h O h x f x f dx x f
n n
h x
x
n
n
+ + + ~
}
+
Introduccin al Clculo Numrico 13
Errores
Ejemplo:
Introduccin al Clculo Numrico 14
Representacin de reales
Problema: Dada una base b, existen una infinidad de nmeros reales
cuya representacin requiere un nmero exacto de dgitos

Ejemplo 1:



Ejemplo 2: 0.1 en base 10 tiene una representacin finita. En base 2,
su representacin tiene un nmero infinito de dgitos
0.1
10
= 0.00011001100110011001...
2

Ejemplo 3: Representaciones equivalentes de un nmero real

... 7182818 . 2
... 1415926 . 3
... 3333333 . 0 3 / 1
=
=
=
e
t
}

= =
2
1
1
) 1 (
2 log
n
n
n x
dx
Introduccin al Clculo Numrico 15
Formato coma fija
FORMATO: (s) d
n-1
d
n-2...
d
2
d
1
d
0
. d
-1
d
-2...
d
-m
en base b
[signo] [ n dgitos parte entera] [.] [m dgitos parte decimal]

Inconveniente:
Limitaciones de rango: Rango = [0, b
n
);
Limitaciones de representacin. c
abs
= b
-m

Distinta precisin para nmeros de distinta magnitud.
Ejemplo: n = 4, m= 8, base 10 Rango = [0, 10
5
); c= 10
-8

Nmero Error absoluto Error relativo
- 0000.00000023 10
-8
~ 5 %
+ 0234.97895623 10
-8
~ 510
-9
%
Introduccin al Clculo Numrico 16
Formato coma flotante (normalizado)
Notacin cientfica: (s) d. d
-1
d
-2...
d
-m
10
e

[signo] [primer dgito no nulo] [m dgitos parte decimal] [exponente]
Ejemplos: 6.62610
-34
, 6.02216910
23
, 2.54 10
0
, 1.6638610
2


Coma flotante: (s) d. d
-1
d
-2...
d
-m
b
e
[signo] [exponente con signo] [primer dgito no nulo] [m dgitos parte decimal]
[signo] [exponente+Sesgo] [primer dgito no nulo] [m dgitos parte decimal]

Ejemplo: b = 10, m = 2, 0.1 1.0010
-1
b = 2, m = 23 0.1 1.100110011001100110011012
-4


Introduccin al Clculo Numrico 17
Limitaciones: Rango, errores de redondeo y precisin
Consideremos un formato coma flotante
b = 10, m = 2 y un exponente de 1 dgito con signo

Limitaciones
Rango = [1.0010
-9
, 9.9910
9
]
Underflow: Resultado de operacin por debajo de mnimo representable.
Overflow: Resultado de operacin por encima de mximo representable.
Redondeo: 1.66386 10
2
1.6610
2

Precisin: c
rel
= 10
-2
, 3 dgitos significativos
No podemos representar el cero.
Valores especiales: Inf, NaN.

Introduccin al Clculo Numrico 18
Redondeo
b = 10, m = 2 y un exponente de 1 dgito con signo
El valor 1.6610
2
, en coma flotante podra haberse obtenido de cualquier
nmero real entre 1.655000...10
2
y 1.664999...10
2

Reglas: redondeo a p dgitos
Se redondea al nmero con p dgitos ms prximo al real considerado.
En caso de que haya dos nmeros equidistantes,se utiliza una regla de
forma que la mitad de los casos sean redondeos por exceso y el resto por
defecto. Por ejemplo: Se redondea de forma que la ltima cifra sea par.
Los errores se redondean siempre por exceso
Ejemplos: 3.141592 0.000014 3.14159 0.00002
3.141592 0.000258 3.1416 0.0003
3.1415 3.142
3.1425 3.142

Introduccin al Clculo Numrico 19
Reglas de redondeo para el euro
1. EUR = PTA / 166.386
2. PTA = EUR 166.386
3. Redondeo a cntimos de euro: Reglas
usuales de redondeo, excepto redondeo
por exceso para resultados equidistantes.
4. Problemas relacionados con el redondeo:
Errores verticales: Distinto resultado al
redondear cantidades individuales y
cantidades totales.
Errores horizontales: Conversiones
PTA EUR PTA pueden resultar en
discrepancias de hasta una peseta.

PTA EUR
Entrada 1 50000 300.51
Entrada 2 50000 300.51
Entrada 3 50000 300.51
Entrada 4 50000 300.51
Entrada 5 50000 300.51
Entrada 6 50000 300.51
Entrada 7 50000 300.51
Entrada 8 50000 300.51
Total 400000 2404.08
Conversin 400000 2404.05
PTA EUR PTA ERROR
100 0.60 100 0
101 0.61 101 0
102 0.61 101 -1
103 0.62 103 0
104 0.63 105 1
105 0.63 105 0
106 0.64 106 0
107 0.64 106 -1
108 0.65 108 0
109 0.66 110 1
Introduccin al Clculo Numrico 20
Formato coma flotante
b = 2; m = 2; e
min
=-1; e
max
= 2

Normalizado: [1.002
-1
, 1.012
-1
,..., 1.012
2,
1.102
2
,1.112
2
]



Underflow gradual: [0.002
-1
, 0.012
-1
, 0.102
2
,0.112
2
]


Necesita un bit ms
Precisin variable

0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 1 2 3 4 5 6 7
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
7 = 1.112
2

5 = 1.012
2

6 = 1.102
2

0.5 = 1.002
-1

4 = 1.002
2

Introduccin al Clculo Numrico 21
Estndar de precisin simple (IEEE 754)
[signo] [exponente base 2+ 127] [mantisa]
1 bit + 8 bits + 23 bits = 32 bits
Introduccin al Clculo Numrico 22
Qu significa precisin simple?
Introduccin al Clculo Numrico 23
Operaciones en precisin simple
Problemas en operaciones con nmeros de distinta magnitud
Ejemplo: 3.0 + 10
-7
en simple precisin



Se igualan los exponentes


Introduccin al Clculo Numrico 24
Conclusiones
Existen limitaciones derivadas de la representacin finita de
nmeros reales en el ordenador

Operaciones aritmticas que dan resultados no esperados
a + c a == a para c < precisin de trabajo
La suma de nmeros con formato de coma flotante no es asociativa.



Operaciones con cancelaciones que provocan prdidas en la
precisin del resultado.
Algoritmos equivalentes pueden dar resultados distintos


= =
=
1
4
1
4
cuando
1 1
N n
N
n
N
n n
Introduccin al Clculo Numrico 25
Resumen
En Excel
1022 1023 1024
4.4942E+307 8.9885E+307 #NUM!
2.2251E-308 0 0
46 47 48
1.42109E-14 7.10543E-15 3.55271E-15
FALSO FALSO VERDADERO
Introduccin al Clculo Numrico 26
Algoritmos numricos
Algoritmo: Conjunto de operaciones que, llevadas a cabo paso a paso,
conducen a la solucin de una determinada clase de problemas.

Formalmente:
Nmero finito de instrucciones
Finaliza una vez obtenido el resultado
Consideraciones
Correccin.
Estabilidad numrica.
Eficiencia
Uso de memoria.
Complejidad.
Paralelizacin