jueves, 14 de marzo de 2013

Actividad 4

La actividad 4 consistió en hacer una pequeña modificación al PDF que creé en la actividad 3, esta vez agregando el retrato fase del péndulo invertido. Para ello, utilicé un código donde prácticamente tenía que hacer unas ligeras modificaciones al código para poder ajustarlo a la descripción de mi propio problema. Fue un dolor de cabeza con algunas cosas, no voy a mentir sobre eso.
La actividad 4 pedía, además, crear una presentación en línea sobre el problema que estoy estudiando. Naturalmente, como en las otras entradas, los links se encuentran al final.
Como es de costumbre, aquí se presentan las preguntas relacionadas con la actividad.

¿Cómo ha sido tu experiencia en el uso de Matplotlib?
Pues, honestamente, al principio sentí mucha pereza comenzar a trabajar con él, a pesar de que el código de Python con el que estuve trabajando requería pocas modificaciones.

¿Qué piensas de la calidad de las gráficas?
Me han gustado mucho los resultados de las gráficas, a decir verdad no me esperaba tan buena calidad cuando escuchaba sobre la posibilidad de generar gráficas desde Python.

¿Dificultades con el uso de Matplotlib?
Sí tuve dificultades a la hora de identificar la función de ciertas líneas de código. De hecho, todavía me quedé con dudas en algunas cosas una vez terminada la actividad.

¿La documentación sobre Matplotlib es suficiente?, ¿Qué detalles no encontraste?
Sinceramente no busqué mucho al respecto. Los pocos detalles que busqué los encontré con el divino oráculo Google. Sin embargo, no pude encontrar cómo manipular las leyendas cuando uno trabaja con el campo de direcciones en el código de Lotka-Volterra proveído por el CookBook de Python.

¿Consideras que Python es un lenguaje de programación científica? ¿Por qué lo dirías? ¿Qué te indica eso?
Hasta donde he estado trabajando, me parece que sí. Sin embargo, Python es solamente un interpretador, y como tal tiene sus límites. Creo que siempre y cuando no se maneje una cantidad inmensa de datos, o se procesen un centenar de líneas de código, Python es una buena herramienta.
Sin embargo, en esta actividad noté que a Python le toma a veces bastante tiempo interpretar el código que está leyendo, y eso puede resultar muy frustrante para gente impaciente como yo. Para todo lo demás, creo que tendré que recurrir a Fortran.

Supongo que no has tenido problema para hacer una presentación en línea, ¿o si? ¿Qué te pasó?
No hubo ningún problema. De hecho hace mucho que no hacía una presentación en línea. Ya habíamos trabajado esto en el curso de NTIC hace un año y medio, ¿por qué no habría de hacerlo ahora? Aproveché para utilizar el generador de gifs de LaTeX para agregarlos a la presentación.
¿Qué no te ha gustado de esta Actividad?
Estuvo bien la actividad, de verdad no pedía mucho, pero me hice bolas al tratar de manipular un código ya hecho, además de que noté que el tratamiento que hice al problema de la descripción del péndulo invertido era inconsistente con otras formulaciones que encontré. Una vez que hice una corrección, se facilitaron enormemente las cosas.

Por último, quedan 6 semanas del curso, ya han transcurrido 9 semanas ¿Cómo te sientes en el curso? ¿Sientes que allí vas progresando? ¿Se te comienzan a acumular actividades relativas al curso? ¿Qué dificultades sientes? ¿Qué requieres para salir adelante?
La neta esta vez sí se me encimó bien gacho lo de todos los cursos. He estado algo desanimado en general con mi actividad académica, espero poder recuperarme con este puente, y después con las vacaciones. Siento que estoy perdiendo la chispa, la inspiración, no hay algo que llene ese vacío en mí. Me preocupa mucho eso; estoy volviéndome muy holgazán para algunas cosas. Voy a tratar fuertemente de sobrellevar eso en lo que resta del semestre, y de mi vida (espero).

La presentación sobre el péndulo invertido está aquí.
El PDF con la modificación del espacio fase está aquí.

viernes, 1 de marzo de 2013

Actividad 3: La batalla contra Python

En esta tercera actividad hice un tratamiento a otro péndulo plano, en este caso, el péndulo invertido con base oscilatoria en la dirección vertical. A diferencia del caso anterior de la actividad 2, donde traté con el péndulo simple, en esta ocasión no linealicé la ecuación diferencial que modela el movimiento del péndulo, y en vez de eso empleé el método de Euler en PythonLa novedad en esta actividad es que echaría yo mano de un lenguaje de programación con el cual estaba yo familiarizado. Antes de hacer esta actividad había yo tratado únicamente con FORTRAN. Llevé un curso entero hace un año dedicado a aprender el lenguaje de programación FORTRAN. Esta vez tendría que hacer algo parecido a lo que había hecho el año pasado en FORTRAN, pero en Python.

¿Cómo ha sido tu primera experiencia con Python?
Al principio la verdad sí me sentí algo asustado y disgustado, ¿cómo demonios iba a hacerle yo con un nuevo lenguaje  de programación -dije-? Después recordé que en realidad no debía yo de entender al 100% el lenguaje de programación, o dedicarle un curso entero para entenderlo y hacerme de él, como lo hice con FORTRAN, sino de interpretar código ya hecho y entender qué hace cada línea o conjunto de líneas de códigos, y modificar eso a mi favor. Ya después le perdí el miedo, gané un poquitito más de paciencia y todo salió bien... Más o menos.
¿Sientes que es muy distinto a tus experiencias anteriores con FORTRAN?
En FORTRAN al menos conocía ya los detalles de los comandos más usados, y creo que podría haber programado el método de Euler en aquél lenguaje de programación.
¿Cuáles fueron tus dificultades mayores en el uso de Python?
Al generar las gráficas. De hecho seguí teniendo problemas para graficarlas, al menos como estuve tratando de hacerlo. Tuve que imprimir los datos que necesitaba yo en un archivo externo y graficar en Gnuplot.
¿Qué documentos sobre Python te orientaron más? ¿Cuáles son tus preferidos?
Los manuales que venían ya integrados con la Suite de Python, foros variados sobre Python.
¿Puedes encontrar una comunidad de práctica de quienes trabajan en Python? Menciona algunas asociaciones o publicaciones que incluya su dirección URL.
Encontré un grupo en linkedin que se dedica a, como indica en la descripción del grupo, expandir la red de gente, ideas y oportunidades de la gente que se involucra en Python. En este enlace se muestran comunidades de varios países del mundo dedicadas al compartimiento de información de Python. Está ahí, por ejemplo, comunidades de práctica en Brasil, Venezuela, Alemania, España, EE.UU., entre otros.
¿Consideras que Python es un lenguaje de programación científica? ¿Por qué lo dirías? ¿Qué te indica eso?
Diría que sí. Primero que nada, me pareció algo familiar el lenguaje de programación de Python respecto del único que he trabajado bien, FORTRAN.  Además, creo que me he visto sugestionado por esta imagen.
Por último, ¿qué no te gustó o llamó la atención de la Actividad 3?
Yo creo que el hecho de tener que trabajar con Python, pero fue por pura testarudez mía.
Y el último último : ¿Cómo te sientes en el curso? ¿Sientes que allí vas progresando? ¿Se te comienzan a acumular las actividades relativas al curso?
Me siento bien hasta ahora. No sé si los períodos de descanso también están programados, pero hasta ahora se me han acomodado bastante bien, puesto que tuve una semana repleta de actividades de otros cursos cuando no tuve asignada una actividad para el curso de física computacional. No sé qué tantos pelos me hubiera jalado si se me hubiera encimado con la actividad de computacional.


Finalmente, aquí puede encontrar el lector el fruto de mi trabajo de la actividad 3.