Punto Flotante
Enviado por esgar22 • 21 de Octubre de 2011 • 1.481 Palabras (6 Páginas) • 609 Visitas
Universidad Autónoma de Coahuila
Facultad de Sistemas
Métodos Numéricos
Alumno: Edgar Humberto Lara Balleza
Tarea 1. Aritmética de Punto Flotante
Usando aritmética con punto flotante con base 10, 3 dígitos, truncamiento y emin= -100, emax= 100, construir ejemplos para los cuales:
X=0.997 Y=0.665 Z=0.332
(X * Y) Z ≠ X * (Y * Z)
(.997 * .665) * .332 = .220≠ .997 * (.665 * .332) = .219
X=-0.147 Y=0.258 Z=0.369
(X + Y) * Z ≠ (X * Z) + (Y * Z)
(-.147 + .258) * .369 = .040≠ (-.147 * .369) + (.258 *.369)= .041
X=0.841 Y=0.642 Z=0.147
(X + Y) + Z ≠ X + (Y + Z)
(.841 + .642) + .147 = .162 x10 ≠ .841 + (.642 + .147) = .163x10
Si α= 0.8717 y β=0 .8917, calcular el punto medio del intervalo [α , β] usando la formula (α+β)/2. Usar primero aritmética en base 10, 4 dígitos y truncamiento, luego usar la misma aritmética pero con redondeo, ¿qué tan razonables son las respuestas? Encontrar otra forma de calcular el punto medio y usar de nuevo la misma aritmética (truncada y redondeada), es la respuesta mejor o peor?
(α+β)/2
(.8717+.8917)/2 = .8815
El mismo resultado para truncamiento y redondeo, el 5to digito es 4 y para redondeo debe ser ≥ 5
α+(β-α)/2
.8717 + ( .8917 - .8717)/2 = .8817
En esta forma no existe el redondeo ya que automáticamente nos da aritmética de 4 digitos.
Resolver, usando aritmética decimal con 3 dígitos y truncamiento la respuesta exacta es X1=1, X2= -1 y como se compara con la solución calculada?
.461x1 + .311x2 = .150
.209 x1 + .141 x2 = .068
.461 (1) + .311 (-1) = .150 .209(1) + .141 (-1) = .068
.461 - .311 = .15 .209 - .141 = .068
Solución calculada
-.141 (.461x + .311y = .150) = -.065x - .043y = .021
.311 (.209x + .141y = .068) = .064x + .043y = .021
-.0001x = 0
X= 0/.0001
X = 0
.461 (0) + .311y = .150
.311y = .150
Y =.150/.311
Y=.482
.461 (0) + .311 (.482) =.1499
.209 (0) + .141 (.482) = .0678
En la primera ecuación existe una diferencia de 0.0001 y en la segunda ecuación tenemos una diferencia de 0.0002
PROGRAMACION EN JAVA, COMPILADOR ECLIPSE
EJERCICIO 4
publicclassarquimides {
publicstaticvoid main(String[] args) {
String per;
doublep,peri,a,i;
per= JOptionPane.showInputDialog(" introduzca el n");
i=Double.parseDouble(per);
p=2*Math.sqrt(2);
do{
a=1-((p)/Math.pow(2,i));
peri=Math.pow(2, i)*(Math.sqrt(2*(1-Math.sqrt((Math.pow(a,2))))));
JOptionPane.showInputDialog(null,"resultados,n,",peri);
peri=p;
i++; }
while(i<=60);
}
}
n=3 r= 6.727171322029716
n=4 r= 9.513656920021768
n=5 r=13.454342644059436
n=6 r=19.027313840043544
n=7 r=26.90868528811884
n=8 r=38.05462768008704
n=9 r=53.81737057623795
n=10 r=76.10925536017446
n=11 r=107.6347411524759
n=12 r=152.21851072034892
n=13 r=215.26948230493448
n=14 r=304.4370214407223
n=15 r=430.5389646099382
n=16 r=608.8740428814446
n=17 r=861.0779292187689
n=18 r=1217.748085761323
n=19 r=1722.155858446398
n=20 r=2435.496171535176
n=21 r=3444.311716892796
n=22 r=4870.992343070352
n=23 r=6888.623433785592
n=24 r=9741.984686140704
n=25 r=13777.246867571184
n=26 r=19483.969359450348
n=27 r=27554.49371699651
n=28 r=38967.938821549185
n=29 r=55108.9875791599
n=30 r=77935.87682191045
n=31 r=110217.97399698471
n=32 r=155871.76021332407
n=33 r=220435.95728464992
n=34 r=311743.46787061956
n=35 r=440871.84024385136
n=36 r=623487.3561893617
n=37 r=881744.2750911401
n=38 r=1246974.7123787233
n=39 r=1763488.5501822801
n=40 r=2493922.515941504
n=41 r=3526939.045552106
n=42 r=4988060.298926628
n=43 r=7053573.644392181
n=44 r=9975259.51109684
...