Sei sulla pagina 1di 42

Clculo

Numrico
UTN
Facultad Regional Avellaneda

Clculo
Numrico
Carrera de
Ingenieria Electrnica

Clculo
Numrico
Prof. Jorge Endelli
JTP. Adrin Alvarez

Clculo
Numrico
Apuntes de la Materia
Intro-Errores-Normas

Clculo
Numrico
Bibliografa

Kincaid Cheney Coole P 1994 California


Hoffman Metods for Engeniers and Sientist M
Dekker NY 2001
Richard L. Burden, J. Douglas Faires
Numerical Analysis By Thomson2002
Duran Lassalle Rosi FCEyN UBA 2005

Clculo
Numrico
Acreditacin

2 parciales uno a mitad de ao y el


otro al final con dos recuperatorios
2 tp con implementacin terica
numrica y fsica
final

Clculo Numrico

En que pensamos
cuando hablamos
de,
Clculo Numrico?

Clculo Numrico
Las ideas centrales
de esta materia
en particular
el concepto de

Espacio Normado

Se lo debemos a:

Stefan Banach
30 de marzo 1892 Cracovia, Polonia
31 de agosto 1945 Lvov Ucrania

Clculo Numrico
Y la definicin de:

Conjuntos Densos
Se la debemos a:

Greorg Cantor
San Petesburgo 3 de marzo de 1846
Hale 6 de enero de 1918
Otras nociones usadas son las de:

Espacios Mtricos y Topolgicos


Respectivamente a Frechet y Hausdorff...
...Desde ya todo lo visto
en las materias de matemtica
del area de Ciencias Bsicas

Clculo Numrico
En la primer unidad usaremos la siguente definicin:

Conjuntos Densos

Los nmeros Q (racionales)


son densos en los R (reales)
Que es decir

Dado un nmero x, Real siempre hay


un nmero q, Racional tan cerca de
x como se quiera

Clculo Numrico
Los esquivos nmeros Reales
Malas noticias adems de ser infinitos, a los R que no
sean Q solo los podremos aproximar.

Clculo Numrico
Los esquivos nmeros Reales
Malas noticias adems de ser infinitos, a los R que no
sean Q solo los podremos aproximar.
Algo bueno
La densidad de Q en R

Clculo Numrico
Los esquivos nmeros Reales
Malas noticias adems de ser infinitos, a los R que no
sean Q solo los podremos aproximar.
Algo bueno
La densidad de Q en R
Que nos garantiza que:

Dado un nmero x, Real siempre hay


un nmero q, Racional tan cerca de
x como se quiera

Clculo Numrico
Los esquivos nmeros Reales
Malas noticias adems de ser infinitos, a los R que no
sean Q solo los podremos aproximar.
Algo bueno
La densidad de Q en R
Que nos garantiza que:

Dado un nmero x, Real siempre hay


un nmero q, Racional tan cerca de
x como se quiera
Tenemos un control del error!

Clculo Numrico
Y en eso llega:
el auxilio, de los ordenadores
Los benditos:

Clculo Numrico
Y en eso llega:
el auxilio, de los ordenadores
Los benditos:

Nmeros de mquina
El conjunto F

Clculo Numrico
Y en eso llega:
el auxilio, de los ordenadores
Los benditos:

Nmeros de mquina
El conjunto F
son una parte finita de Q

Clculo Numrico
Y en eso llega:
el auxilio de los ordenadores
Los benditos:

Nmeros de mquina
El conjunto F
son una parte finita de Q
Igual habr siempre errores!

Clculo Numrico
Habr que ver cuando estos errores
se provoquen por inestabilidad del
algoritmo usado, o por estar mal
condicionado.

Habr siempre errores!

Clculo Numrico
Habr siempre errores!

Las mquinas
trabajan con base 2
Saturacin
Corte

Clculo Numrico
Habr siempre errores!
No olvidemos el carcter posicional de nuestro
sistema de numeracin, de todos modos sin prdida
de generalidad trabajaremos en base 10
Ejemplos:

12310=1.10 +2.10 +3.10


2

10112=1.23 +0.22+1.21 +1.20

Clculo Numrico
Introducimos la nocin de conjunto numrico llamado:

Punto Flotante 'F'


La base 2 indica dos carcteres
Los a i tomarn dos valores: Encendido 1 Apagado 0
La base 10 indica que los a i tomarn los caracteres
arbicos usuales, o sea : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

Clculo Numrico
Punto Flotante 'F'

Veamos el caso decimal con un ejemplo


dado un nmero x positivo:
X = 0, a1 a 2 a3 ... a k ...10l = r . 10l
a1 0 ,

/10 r < 1

De este modo
Nuestros nmeros de mquina resultarn:
Xm = 0, a1 a 2 a3 ... a m . 10l

Las maquinas nos imponen


los lmites!

El exponente l quedar acotado por tres nmeros que


dependern del fabricante
-M1 l M2
Y m, la mantisa, Con a1 0

Clculo Numrico
Las maquinas nos imponen
los lmites!
la cantidad de digitos con que trabaja la maquina
podemos ver que es:
# { x / 1/10 x < 1 } = 9 . 10m-1
-Aparte se definen los negativos y el 0-

Clculo Numrico
Las maquinas nos imponen
los lmites!
Tambin podemos ver que:

# { x / 10

l-1

x < 10 } = 9 . 10
l

m-1

O sea no es uniforme la cosa


Idea en la recta Real

. . . . ......... . . . .

Clculo Numrico
Nmeros en rango de
mquina
Si x R y es tal que:
x = 0, a1 a 2 a3 ... a m = r . 10l
a1 0 , -M1 l M2

m, la mantisa
Entonces x se encuentra dentro del rango de maquina

. . . . ......... . . . .

Clculo Numrico
Nmeros en rango de mquina
Adems estar entre dos nmeros de mquina
consecutivos
xs x < xs+1
Que son:
Xs = 0, a1 a 2 a3 ... a m . 10l

Xs+1 = 0, a1 a 2 a3 ... (a m+ 1) . 10l

Observe que sea a m 9 si no que pasar?


.

. . . . ......... . . . .

Clculo Numrico
Aproximaciones con x* de F, a los x de R
No olvidemos que en F hay un par xs , xs+1 tales que:
xs x < xs+1

Truncamiento

Es quedarme con x* = xs o sea el mayor de los


nmeros de mquina que son menores que x

Redondeo

x* = xs+i

Mas usado, es quedarse con:


/ i = { i / i = 0,1 mn { | x - xs+i |

Clculo Numrico
Redondeo

el error absoluto cometido es:

1 1
x x . m .10l
2 10
*

El error relativo

x x * 1

1
lm
.
.10
x
2 0, a 1 . a 2 ... a m ...10l

Clculo Numrico
Redondeo
como

1
1
0, a 1 . a 2 ... a m ... o sea
10
10
0, a 1 . a 2 ... a m ...

Asi mejoramos la cota

xx *
x

5.10

Clculo Numrico
Podremos decir que conocemos a x con m
dgitos y cometemos un error relativo
semejante 10-m que es lo importante!
teniendo en cuenta que dado que se pide a1 0
para hacer notar las cifras significativas
*

x =0, a 1 . a 2 ... a m .10


*
m

x =x 1talque 10=5.10
*
con lo quexx 10x

con 10 dependiendo de la maquina...ejercicio calcule 2


siendo el menor nmero tal que 1+ 1
que no es el menor de F esto depender de M1

Clculo Numrico
En la prctica aritmtica
Al Sumar
Si hay mucha diferencia el mas chico
se pierde
Al Restar
SI no hay mucha diferencia esta
no se nota
En definitiva son casos donde
aumenta el error

Clculo Numrico
En la prctica aritmtica
por ej m=5
*

x=88888000 x =0,88888. 10
*
2
y=88 y =0,88.10
*
8
z=88889001 z =0,88889. 10
*

x y=88888088 pero... x y =0,88888.10


*
*
4
zx=1001 pero... z x =0,1. 10

Con ' + ' Prdida de cifras = error relativo


Con ' - ' Cancelacin catastrfica error relativo

Clculo Numrico
En la prctica aritmtica
Tcnicas para evitar
aumento de error
y= x 11=
2

x 11. x 11
2

x 11
2

x
= 2
x 11

x x x
xsen x= ...
3! 5! 7!
Para evitar la Cancelacin catastrfica

Clculo Numrico
Definimos la operacin flotante
fl(x)=x(1+x)
con |x| u la unidad de redondeo
Definimos la relacin orden de magnitud
o(g(u))=o(f(u)) siendo f conocida
Si a,b R+ / a.f(u) < g(u) < b.f(u) uAR

Clculo Numrico
Si conjeturamos que f(u)=um (polinomica)
podemos usar una forma mas sencillla

donde m={i/ lmuag(u)/ui =a>0}


o(g(u))=m

puede que a
Si esperamos algo exponencial es que

f(u)=eu

Ej: o( 3u + 10000u4 ) = 4 = o(u4 )

Clculo Numrico
En la prctica aritmtica
Para la ' + '
fl(fl(x)+fl(y))= (x(1+x) + y(1+y) )(1+s)
quedando un orden de error de
o(u2)=2 Para el ' . '

fl(fl(x).fl(y))= (x(1+x) . y(1+y) )(1+m)


quedando un orden de error menor
que: 3u+o(u2)

En la prctica aritmtica ...


Para ' C++' Calcular =3,14159265358979323846264338327950288
con i iteraciones

#nclude <iostream>
#include <math.h>
using namespace std;
//pre int i>=0
float pi(int i){
float f=3; // float g=0;
float a=0; float b=1; float c=1/sqrt(2); float d=1/4.0; float e=1;
for(int n=0;n<i;n++){
a=b; b=(b+c)/2.0; c=sqrt(c*a);
d=d-((b-a)*(b-a)); e=2.0*e;
n=n++;
}
f=(b*b)/d; // g=((b+c)*(b+c))/(4*d)
return f;
}
int main(){
int i;
cout<<"ingrese un numero de iteraciones ";
cin>>i;
float f=pi(i);
cout<<"pi es semejante a: "<<f<<endl;
return 0;
}
Tanto f como g dan una aproximacin... queda para el lector ver ambos y
calcular....//pos float que aproxima a

En general cada x R
Puede estar en el rango de mquina o no.
Cosa que est indicar.
Ya sea por grande o por chico.
Excepciones de punto flotante:
Por desbordamiento

overflow

Lo contrario underflow
En el caso de indeterminaciones o raices negativas

NaN (not a number)


Tipo Tamao Rango
float
4 bytes (32 bits) 0,34 10-39 ... 0,34 1039
double 8 bytes (64 bits) 0, 17 10-309 0,17 10309
. . . . . . . . ......... . . . . . . . .

Clculo Numrico
Desde la ingenieria propiamente dicha:
El ttulo completo del estndar es:

IEEE

Standard for Binary Floating-Point Arithmetic


(ANSI/IEEE Std 754-1985)
tambin es conocido por IEC 60559:1989
Binary floating-point arithmetic for microprocessor
systems
originalmente el nmero de referencia era
IEC 559:1989
. . . . . . . . ......... . . . . . . . . .

Clculo Numrico
Desde la ingenieria :
En 1976, Intel comenz a disear
un punto flotante co-procesador para su i8086 / 8 y los
i432 microprocesadores.
Estudio a cargo del Dr. John Palmer quien haba
escuchado a un profesor visitante, William Kahan,
analizar la aritmtica para mejorar un software
numrico confiable y porttil.
Kahan tambin ha mejorado la habilidad numrica de
una exitosa lnea de calculadoras Hewlett-Packard.
. . . . . . . . ......... . . . . . . . . .

Potrebbero piacerti anche