Anda di halaman 1dari 5

CC1000 2014/01 Prof. Carlos Gonzlez C.

Auxiliar: Alvaro Osorio H. / Angelo Gennari B.


Ayudante: Matas Mattamala A. / Paula Ojeda C.

TAREA 2A
Modele su propia Galaxia

Galaxia Remolino acompaada de la galaxia NGC 5195


Credit:
NASA
/
ESA

El objetivo de la tarea es resolver un problema numrico utilizando elementos de


computacin cientfica. En especfico se utilizar Matlab para programar un mtodo de
integracin numrica llamado Euler Progresivo 1 para resolver un sistema de ecuaciones
donde las incgnitas son funciones que representan un modelo para la formacin de
estrellas.

Parte 1. Implementacin en Matlab (3.0 pts)


Un modelo simple de formacin de estrellas en una galaxia considera que el gas atmico
se convierte en gas molecular, ste en estrellas activas y luego las estrellas, al final de su
vida, se transforman en supernovas iniciando el ciclo nuevamente en forma de gas
atmico. Si a es la fraccin de masa de gas atmico, m la fraccin de masa de gas
molecular y s la fraccin de masa de estrellas activas, entonces el siguiente sistema se
modela a travs del sistema de ecuaciones diferenciales ordinarias:

(1)
(2)
2
n
= 8m(t) a(t) 15m(t) s(t) (3)

s(t) + m(t) + a(t) = 1


2
da
dt = s(t) 8m(t) a(t)
dm
dt

dm
Con condiciones iniciales a(0) = 0.4 y m(0) = 0.3 y 1 < n < 2 . En donde da
dt y dt son las
derivadas de las funciones a(t) y m(t) respectivamente, las cuales son las incgnitas de
nuestro problema.

http://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler

CC1000 2014/01 Prof. Carlos Gonzlez C.


Auxiliar: Alvaro Osorio H. / Angelo Gennari B.
Ayudante: Matas Mattamala A. / Paula Ojeda C.

Para resolver estas ecuaciones se propone utilizar el mtodo de Euler Progresivo, este es
un mtodo de integracin numrica iterativo, donde los valores para un instante t
dependen del instante anterior t 1 . Utilice el siguiente algoritmo:
1. Discretizar el problema
. Se debe dividir el intervalo de tiempo (que va de ti a tf )
en N pasos de tamao h, de modo que se cumple la ecuacin (4). Mientras
menor sea el paso h ms cerca estar la aproximacin numrica de la solucin
real.

h=

tf ti
N

(4)

En la prctica, esto significa crear un vector de largo N en el que iremos


almacenando los valores de nuestra solucin para cada instante discreto. En este
caso, como se debe encontrar los valores para tres funciones, se crear una matriz
de tres filas (una por funcin) y N columnas (tiempo), la cual llamaremos matriz
de soluciones (ver Figura 1).
Para el problema de formacin estelar se pide resolver la ecuacin entre ti = 0 y
tf = 100.
2. Condiciones iniciales. El siguiente paso es imponer las condiciones iniciales del
problema, lo que da el punto de partida al mtodo iterativo. Para hacer esto
tenemos que almacenar en la primera columna de nuestra matriz de soluciones,
los valores de cada de las condiciones iniciales para cada incgnita del problema
de formacin estelar (ver Figura 1).

3. Paso iterativo. El paso final es resolver iterativamente la ecuacin para el resto


de los puntos, para obtener el valor de un punto de una funcin de la forma
dx = f (t) , tenemos la siguiente relacin:
dt
xi = xi1 + hf i1

(5)

Con lo cual es sistema de ecuaciones (1), (2) y (3) se discretizan de la siguiente


manera
2 a )
ai = ai1 + h(si1 8mi1
i1
2 a 15mn s )
mi = mi1 + h(8mi1
i1
i1 i1
si = 1 (ai + mi )

(6)
(7)
(8)

Un aspecto importante de tener en cuenta es que para determinar el valor una de


las ecuaciones en un instante i , se necesita el valor de las otras ecuaciones el
instante anterior, como podemos ver en la Figura 1.

CC1000 2014/01 Prof. Carlos Gonzlez C.


Auxiliar: Alvaro Osorio H. / Angelo Gennari B.
Ayudante: Matas Mattamala A. / Paula Ojeda C.

Figura 1
. Esquema de la matriz de soluciones
Si repite este proceso, desde la segunda columna en adelante (la primera tiene las
condiciones iniciales), entonces se puede conocer el valor de las incgnitas en todo
instante de tiempo.
Se pide implementar la funcin
euler_prog
que resuelva el problema de formacin
estelar implementando los 3 pasos anteriormente descritos. La funcin debe recibir el
nmero de puntos de la discretizacin N
y el valor del parmetro n . Es decir, la funcin
se ejecuta como:
>>N=1000n=1.2
>>euler_prog(N,n)

Parte 2. Resultados (1.0 pts)


El objetivo final de la funcin
euler_prog
es
estudiar las soluciones al problema de
formacin estelar en funcin del parmetro n, para lo cual debe realizar lo siguiente:
1. Grafique superpuestas (un solo grfico) los resultados de las funciones a(t), m(t) y
s(t) , para los siguientes valores de n = 1.2, 1.5y1.9.
a. En base a los graficos: Que podria decir sobre la solucin para n = 1.2, es
esta una solucion valida?
Hint
: Puede serle til recordar que la suma de
las masas es 1
b. Para n = 1.5, Cmo describira el comportamiento de esta solucin,
presenta algn tipo de periodicidad?
2. Realice un grafico con a(t) en el eje x y m(t) en el eje y, con las soluciones de la
Parte 1, para cada uno de los valores de n
3. Para el caso n = 1.9, la funcin tiende a un equilibrio?. Si es as, cul es el valor de
equilibrio para a(t), m(t) y s(t).

Parte 3. Reporte de resultados (2.0 pts)

CC1000 2014/01 Prof. Carlos Gonzlez C.


Auxiliar: Alvaro Osorio H. / Angelo Gennari B.
Ayudante: Matas Mattamala A. / Paula Ojeda C.

1. Guarde los grficos resultantes de la parte 2.


2. Genere un reporte breve (dos o tres pginas) que explique los detalles de su tarea.
Debe incluir:
a. Explicacin breve de su implementacin.
b. Dificultades encontradas y su solucin.
c. Presente los grficos obtenidos, complemente respondiendo las preguntas
propuestas en la Parte 2.
d. Explique el fenmeno estudiado en base a los resultados.
e. Explique el efecto de variar la cantidad de puntos utilizados en la
discretizacin, tanto en la calidad del resultado como en el tiempo de
cmputo.
f. Discuta: Cul de los modelos graficados cree ud. que se acerca ms a la
realidad?
Nota
: Si para esta parte utiliza alguna referencia no olvide la adjuntar la
cita en el informe

BONUS (Mximo 1.5 pts.)


La implementacin de cualquier funcionalidad o detalle extra sumar puntaje de
bonificacin. El mximo bono posible es de 1,5 puntos. Este bonus se sumar a la nota de
cualquiera de las tareas en el semestre, de no ser usado en tareas se ponderan en las
notas de otras actividades.
Bonus software libre (0.5 pt.)
Si realiza su tarea utilizando principalmente software libre podr optar a este bonus. Para
esto en su tarea debe incluir una seccin donde se indique todo el software utilizado para
el desarrollo de la actividad y el tipo de licencias de cada uno. En particular considere el
uso de Octave como una alternativa libre a Matlab.
Bonus complejidad computacional (1.5 pt.)
Considere realizar pruebas de rendimiento a la funcin implementada. Para esto reporte
el tiempo de ejecucin del algoritmo principal en la resolucin para un solo n (sin la
realizacin del grfico) utilizando las funciones
tic y
toc
. Tome el tiempo para distintas
discretizaciones, incrementando gradualmente la cantidad de puntos. Realice un grfico
de la cantidad de puntos utilizados para resolver el problema versus el tiempo de
ejecucin. Ajuste los puntos obtenidos con un modelo lineal y otro cuadrtico, determine
cul es el mejor ajuste. Agregue estos resultados a su reporte. Cuando realice las pruebas
asegrese de que el computador no est ejecutando ninguna otra aplicacin. Para ser
ms riguroso, haga varias pruebas para la misma cantidad de puntos y reporte el
promedio en cada caso.

Condiciones de entrega
FECHA DE ENTREGA: SBADO 30 DE MAYO DE 2015. NO se contempla la
entrega de tareas fuera del plazo.
LUGAR DE ENTREGA: U-cursos.

CC1000 2014/01 Prof. Carlos Gonzlez C.


Auxiliar: Alvaro Osorio H. / Angelo Gennari B.
Ayudante: Matas Mattamala A. / Paula Ojeda C.

Debe subir a u-cursos los siguientes entregables


Cdigos utilizados para resolver la tarea.
Grficos generados
Archivo con el reporte de los resultados en formato PDF. No se
revisan otros formatos de archivo.
La tarea debe desarrollarse de manera
INDIVIDUAL
.
Las tareas sern revisadas para deteccin de copias. Casos de copia o fraude
sern sancionadas con la nota mnima segn el reglamento de la universidad.
Consultas a travs del
foro
del curso.
Planifique su tiempo y comience su tarea con anticipacin.
Suba su tarea a tiempo: u-cursos toma algunos minutos en subir los archivos y
puede presentar fallas en los ltimos minutos.

Anda mungkin juga menyukai