You are on page 1of 2

Tarea 3

Nota importante: Resuelve los siguientes problemas, usando programacin estructurada


para implementar las funciones y programas principales. De preferencia use el lenguaje
Fortran 90 (o en adelante). Puede usar otro lenguaje que tenga funciones intrnsecas
equivalentes en Fortran. No se permite el uso de subrutinas de ms alto nivel.
Pregunta 1
Escribir una funcin o subrutina que permita realizar una interpolacin polinomial por el
mtodo de Hermite polinomial. Los argumentos de entrada sern: dos vectores conteniendo
las abscisas y las ordenadas de los datos de entrada, un vector conteniendo las derivadas
correspondientes y un vector con las abscisas en las que se realizar la interpolacin. La
funcin retornar los valores interpolados correspondientes en otro vector. Adjunte a sus
programas la deduccin algebraica que debe realizar antes de la implementacin.
Considere la funcin:
f x =

1 + tanh20 x
2

en el intervalo [-1,1]. Usando una tabla de 15 puntos igualmente espaciados para generar la
tabla inical, determina el error mximo de esta funcin con respecto a sus polinomios
interpolantes de Lagrange y Hermite usando una rejilla de 100 datos interpolados. Repite
este clculo en el intervalo [0,1] nuevamente con una tabla de 15 puntos igualmente
espaciados y una rejilla de 100 puntos para la interpolacin.
Pregunta 2
Escribir una funcin o subrutina que permita realizar una interpolacin por segmentacin de
Hermite. Los argumentos de entrada sern: dos vectores conteniendo las abscisas y las
ordenadas de los datos de entrada y un vector con las abscisas en las que se realizar la
interpolacin. La funcin retornar los valores interpolados en otro vector.
Considere la misma funcin del problema anterior en el intervalo [-1,1]. Usando una tabla de
120 puntos igualmente espaciados para realizar la interpolacin segmentada, determina el
error mximo de esta funcin con respecto a su interpolante segmentado de spline y de
Hermite. Repite este clculo en el intervalo [0,1].
Pregunta 3
Con ayuda de un papel milimetrado realice un dibujo de su mano. Seleccione unos 45 puntos
del contorno de su mano y pase los datos a un archivo de texto. Siguiendo el procedimiento
explicado en clase, use la interpolacin segmentada para realizar un grfico de su mano en
la computadora.
Pregunta 4
Escribir una funcin rneville que permita realizar la interpolacin usando la frmula recursiva
de Neville. Los argumentos de entrada sern: un vector xi que contiene las abscisas de los

| Tarea 3 - FC.nb

datos de entrada, un vector yi que contiene las ordenadas de los datos de entrada y un
vector x que contiene los datos en los que se desea realizar la interpolacin. La funcin
deber devolver los valores interpolados en otro arreglo y.
Patrn de Airy. Para la luz que pasa a travs de una abertura circular la difraccin produce
un patrn cuya a intensidad de luz depende del radio al centro de la imagen. En la tabla se
dan algunos valores medidos de intensidad dividida por la intensidad inicial como funcin del
radio.
r
0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0

I/Io
1.000
0.774
0.332
0.051
0.001
0.017
0.008
0.000
0.003
0.002
0.000

Usando el interpolador que acaba de definir, en combinacin con el algoritmo de brent para
calcular los ceros de una funcin, determine los puntos en los que la intensidad se ha
reducido a una milsima de su valor inicial.
Pregunta 5
Considere un objeto de masa m que puede atravesar la Tierra por un tnel recto que
atraviesa su centro. El objeto se suelta del reposo en una de las entradas del tnel. Usando
los datos de densidad de la Tierra contenidos en el directorio rhoTierra, determine el tiempo
que le toma al objeto regresar a su posicin inicial. Use un algoritmo de interpolacin
adecuado para cada perfil de densidad (neville para los polinomiales y spline para los de
segmentacin). Use tambin los algoritmos de integracin y ODE: mtodo del trapecio y
Runge Kutta que se dan en la librera del NR.
* Limites de las capas (en km):
Crust
{0, 35}
UpperMantle {35, 660}
LowerMantle {660, 2890}
OuterCore
{2890, 5150}
InnerCore
{5150, 6360}

You might also like