Agitame :x

domingo, 18 de enero de 2015

Matlab V (Final): Simulacion y visualizacion y juego de la vida

Hoy es el ultimo dia de Matlab, y como ultimo contenido terminamos de ver la visualizacion de graficos tipo "pcolor" y simulaciones a travez del tiempo con el comando "pause".
Supongamos que tenemos una barra metálica inicialmente a 0º. El extremo izquierdo siempre se mantiene a 0º, pero el extremo derecho se sube a 100º y el calor empieza a propagarse hacia la izquierda.
 

Para simular esto, supondremos que la barra estácompuesta por segmentos, y que a cada paso, un segmento pasa a tener la temperatura promedio con los que lo rodean. 
Grafico longitud de la barra X tiempo, donde el color azul representa la temperatura 0º, y el rojo 100º.
Con estos comandos, tuvimos que recrear el juego de la vida de John Horton Conway, nombre que me sonó, ya que era un comando que estaba en el sandbox "The Powder Toy" que solia jugar unos años atras (altamente recomendado.)

Las reglas de este juego son simples:

Se juega sobre un tablero infinito de celdas. Inicialmente algunas celdas están vivas, y el resto muertas.
 
En cada jugada, para cada celda se calcula el número de vecinos vivos que la rodean (v) y se aplica el siguiente algoritmo para calcular el nuevo estado para esa celda:
  • žSi la celda está viva y v<2, muere por soledad.
  • žSi la celda está viva y v≥4, muere por sobrepoblación.
  • žSi la celda está muerta y v=3, pasa a estar viva.
  • žEn cualquier otro caso, mantiene su estado.



una vez calculadas todas las celdas afectadas, se pasa a la siguiente generación, y el ciclo se repite una y otra vez hasta el infinito.

"Glider" (cuerpo que se mueve de manera infinita) programado en Matlab por mi (y mis profes,claro).
Y con esta ultima actividad, terminamos la semana de Matlab y abrimos paso a la semana de Python (Yay!).

Esten atentos a mas actualizaciones del blog en esta ultima semana, porque empezaré a entregar muchisimo mas detalle en estas proximas entradas xD

CYA (y mesa tambien).


No hay comentarios:

Publicar un comentario