Anda di halaman 1dari 6

Analisis Numerico. Proyecto 1.

Modelacion Matematica y Aritmetica de Punto Flotante.


Profesor: Javier de Jes
us Cortes Aguirre.
Ayudantes: Ulises Uriel Giovanni Nepomuceno Campos.
Citlali Edith Ramrez Galicia.
Facultad de Ciencias, UNAM
28 de agosto de 2015
Ejercicios te
oricos.
1. Responde las siguientes preguntas:
a)

Que es un modelo (en el sentido cientfico) y que se entiende por un modelo matem
atico?

b) Elabore un diagrama que ilustre los pasos principales en el proceso de modelaci


on y su
soluci
on mediante el uso de la CPU.
c)

Tomando en cuenta el inciso anterior, por que es importante el an


alisis numerico?

d)

Cu
ales son las principales fuentes de error al resolver numericamente un problema modelo- matem
atico pr
actico?

e)

Que es el Error Absoluto? y que es el Error Relativo? Cu


al es la diferencia entre ellos?

f)

Que se entiende por un problema bien planteado y cual es su importancia?

g) Ilustre dos ejemplos de problemas bien planteados y dos que no lo sean.


h)

Que se entiende por problema bien condicionado?

i)

Que significa que un algoritmo sea numericamente estable?

j ) Por que es importante que se cumplan las condiciones de los dos incisos anteriores?
k)

Menciona tres caractersticas de un buen programa en Computaci


on Cientfica?

l) Cu
ales son los principales tipos de error cometidos por la computadora y en que consisten?
m)

Que se entiende por la unidad de redondeo de la m


aquina?

n)

Que se entiende por la mantisade un valor flotante?

n
)

Que se entiende por overflow y underflow?

o) En que consiste la regla de redondeo al m


as cercano?, que pasa cuando el valor real que
se redondea est
a a la misma distancia de dos flotantes consecutivos (en el punto medio)?
2. Elabore dos modelos matem
aticos sencillos de problemas reales, ilustre los principales problemas que tendra el modelo y las posibles fuentes de error.
1

3. Sea N, > 1. Si a R tiene representaci


on -cimal
a = bm b(m1) ...b0.b1b2b3 ...
demuestra que
bm b(m1) ...b0.b1b2...bn a bm b(m1) ...b0.b1b2...bk +

1
k

C
omo puede interpretarse esta desigualdad, que importancia tiene?
4. Con respecto al sistema fl(10, 4, 2, 3) y utilizando notaci
on est
andar, halla el fl(x) para:
x = (2/3)T ,

x = (e)R ,

x = (6.99999)T ,

x = ()R ,

x = ( 2)R

Aqui, ()T significa con truncamiento y ()R con redondeo.


5. Tomando la notaci
on est
andar, d cu
ales de los siguientes n
umeros no pertenecen a fl(2, 4, 2, 2):
.1011 20,
.01101 22,

9.542 22 ,
2.121 22

1.111 22,

.1101 22,

1.112 101
0.0001 24.

6. Considera a los n
umeros de punto flotante fl(10, 5, 8, 9).
a)

Encuentra la cardinalidad del conjunto.

b) Halla el elemento positivo m


as chico.
c)

Halla el elemento positivo m


as grande.

d)

Cu
al es el espaciamiento mnimo entre dos n
umeros consecutivos?

e)

Cu
al es el espaciamiento m
aximo entre dos n
umeros consecutivos?

f)

Calcule los valores del inciso (a) al (e) pero ahora para el sistema fl(2, 53, 1023, 1024), es
decir, para la aritmetica de la computadora en doble precisi
on.

7. Para el conjunto flotante fl(2, 3, 2, 2) determine:


a)

La cardinalidad del conjunto y todos los elementos del conjunto.

b) Los valores m
aximo y mnimo utilizando la f
ormula vista en clase, coinciden con los
calculados en el inciso anterior?.
8. Sabemos que, para el conjunto flotante fl(, t, L, U ), el valor m
aximo (o nivel de overflow)
est
a dado por:
M ax = ( 1).( 1)...( 1) U .
En algunos textos se utiliza la expresi
on equivalente:

M ax = 1 t U +1 .
De tres ejemplos en los que se cumpla la igualdad entre ambas expresiones.

9. Sea a = (+.b1 b2...) p , 0 < b1 < , 0 bk < para k = 2, 3, ... y p Z.


Considera a la sucesi
on {qn}nN Q, qn = (+.b1b2...bn) p .
a)

Demuestra que {qn}nN es una sucesi


on creciente y acotada. Luego, por el axioma del
supremo, existe a R tal que a = sup{qn} (
o bien que qn a R, cuando n ).
nN

b) Demuestra que 0 a qn
que a = a R.

pn

. Esto es, que qn a cuando n . As, concluye

10. Sean a, b fl(, t, L, U ), a = ma e1 , b = mb e2 , 1 |ma |, |mb| < . Si e1 > e2 + t,


demuestra que fl(a + b) = a.
11. Considera el sistema de n
umeros de punto flotante fl(, t, L, U ). Dado que la unidad de redondeo u est
a dada por u = 12 (t1) . Si > 0 es el elemento m
as chico en fl(, t, L, U ), es
cierto que u < ?
Hint: ilustre ejemplos en los que se verifique o no est
a relaci
on.
12. Pruebe si, en una Aritmetica de Punto Flotante (A.P.F.), es cierto que:
(b (a + b)) + a = 0
Sugerencia: en una A.P.F. de 7 dgitos significativos con redondeo, considera a = 0.1234567 y
b = 0.4711325 104.
13. En una A.P.F. averigua la validez de la relaci
on; a = (a + b) b.
Sugerencia. Considera el caso a = 0.8614 102 y b = 0.3204 en una A.P.F. de 4 dgitos
significativos con redondeo.
14. En una A.P.F. de 4 dgitos significativos con redondeo, halla la soluci
on positiva m
as chica de
la ecuaci
on:
fl(23.45 + a) = a
15. En una A.P.F. de 4 dgitos significativos con redondeo, halla la soluci
on positiva m
as grande
de la ecuaci
on:
fl(23.46 + b) = 23.46
16. Recordando que fl(a) = a(1 + ), para alg
un con || u (con u la unidad de redondeo de la
m
aquina), para cada uno de los casos siguientes:
 
p
1
a)fl10
= 0.25
b)fl10 ( (2)) = 1.414214
4
 
1
c)fl10
= 0.3333333 d)fl10 () = 3.14159265359
3
Cu
anto vale ?, cu
al es la unidad de redondeo u? y se cumple que ||
u? Comente.
NOTA. Para los casos (b) y (d), considera como exactos a los valores de 2 y calculados
con Matlab en formato largo (usa la instrucci
on format long para desplegar los valores en este
formato).

Ejercicios pr
acticos.
1. El algoritmo siguiente es debido a C. Moler y sirve para el c
alculo de la unidad de redondeo u:
a
b
c

4/3
a1
b+b+b

|c 1|

Explica la idea que est


a detr
as de este algoritmo. Escribe un programa en Matlab que implemente este algoritmo y compara el valor calculado con el valor dado por la instrucci
on eps de
Matlab.
2. Tomando las funciones en 2D:
a)

f1 (x) = ex cos(2x)

b) f2 (x) = x6 + x3 3x2 + x 1
c)

f3 (x) =

1
x2 +25

y las funciones en 3D:


f4 (x, y) = x2 y2
p
x2 + y 2 )
sen(3
b) f5 (x, y) = p
2
2
x + y + 0.001
c) Una esfera con centro y radio dados por el usuario.

a)

elabore un programa en Matlab que mediante un men


u de opciones el usuario elija la funci
on
a graficar as como el intervalo de graficaci
on (en el caso de la esfera, el usuario deber
a elegir
el centro y el radio) y se efectue la grafica de la funci
on elegida.
Hint: para el gr
afico de la esfera utilice el comando sphere.
3. Crea 2 archivos con extensi
on .dat que contengan los valores (x, y) de dos funciones en 2D.
Utiliza la funci
on load de Matlab para cargar los datos en el programa y graficar las funciones.
4. Una conjetura interesante es la conjetura de Collatz. Iniciando con un valor natural n, los
valores siguientes se calculan de la siguiente forma:
Si n es impar remplace n por 3n + 1, si no, remplace n por n/2.
Eventualmente el proceso terminar
a en n = 1.
Elabore un programa en Matlab en el cual el usuario proporcione el valor inicial de n y que
calcule los terminos siguientes de la conjetura de Collatz hasta llegar a n = 1. Adem
as realice
la gr
afica de todos los terminos. Pruebe su programa con n = 108, 109, 110. A partir de
que termino comienzan a coincidir los valor calculados para los tres casos? Realice una gr
afica
donde se ilustre esta coincidencia.

5. Elabore una funci


on en Matlab que, dado el n
umero de lados por el usuario, se grafique el
polgono regular de ese n
umero de lados (con sus vertices en la circunferencia unitaria). Utilice
esta funci
on y el comando subplot para graficar 12 polgonos regulares en una sola ventana de
graficaci
on.
6. Utilizando los comandos plot, pause, delete y for de Matlab, elabore un laberinto similar a la
que se ilustra en la siguiente figura:

Figura 1: Laberinto con la pelota en la posici


on inicial.
El usuario debe poder controlar la pelota para encontrar la salida del laberinto.
7. Supongamos que lanzamos n dardos a un crculo inscrito en un cuadrado, asumimos que los
dardos pueden caer en el cuadrado con igual probabilidad y que el cuadrado mide 2 unidades
de cada lado con centro en el (0, 0). Despues de un gran n
umero de lanzamientos, la fracci
on de
los dardos dentro del circulo debera ser aproximadamente igual a 4 , que es igual a la relaci
on
del
area del crculo con el
area del cuadrado. As
= 4

Numero de lanzamientos dentro del circulo


Total de lanzamientos

Genere un c
odigo en Matlab que de una aproximaci
on a para distintas cantidades de lanzamientos, y que muestre una gr
afica donde se vean las aproximaciones.
Hint: Genere n
umeros aleatorios que tomen los valores en el intervalo [1, 1].
8. Una forma de aproximar a n! es mediante la aproximaci
on de Stirling:



n n
Sn = 2n
e
Realice un programa en Matlab que, para un valor de n dado el usuario, despliegue una tabla
con los valores de n, n!, la aproximaci
on calculada y, el error absoluto y relativo entre la
aproximaci
on y el valor exacto.
Hint: Puede utilizar la instrucci
on sprintf
o la instrucci
on fprintf.
5

9. La ecuaci
on general (en coordenadas cartesianas) de una secci
on c
onica est
a dada por:
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
El tipo de secci
on puede ser determinada por el signo de: B 2 4AC.
- Si B 2 4AC < 0, tenemos una elipse, un crcunferencia, un punto o ninguna curva.
- Si B 2 4AC = 0, tenemos una par
abola, 2 lneas paralelas, 1 lnea o ninguna curva.
- Si B 2 4AC > 0, tenemos una hiperbola o 2 lneas intersectadas.
Utilizando la funci
on ezplot o la funci
on contour de Matlab, realice un programa que le pida al
usuario introducir los valores de A, B, C, D, E, F y se realice la gr
afica de la c
onica respectiva.