Buscar en este blog

martes, 1 de febrero de 2011

PyLab como alternativa a Matlab o GNU/Octave

Existen varias alternativas libres al programa Matlab siendo quizá GNU/Octave la más conocida.

Otra alternativa es utilizar PyLab. Este es en realidad un conjunto de módulos (numpy, scipy y matplotlib) escritos en lenguaje Python.

Tanto Octave como PyLab tienen una sintáxis muy similar a la de Matlab.

Instalación

Para instalar los módulos que componen PyLab (en Debian), en una línea de comandos se debe ejecutar, como superusuario:

aptitude install python-numpy python-scipy python-matplotlib

El módulo "python-matplotlib" necesita descargar unos 137MB pero los demás no son tan grandes.

Por supuesto que si no tienen instalado Python, deben hacerlo; aunque supongo que al pedirle a aptitude que instale los paquetes anteriores, va a instalarles Python.

Ejemplo

Como ejemplo voy a graficar la función y(t)=2*cos(3*t). El código utilizado, que vendría a ser como un archivo ".m" en Matlab o GNU/Octave, es el siguiente:

from pylab import * # importo PyLab

A = 2 # amplitud de la sinusoide
w = 3 # frecuencia angular

t = linspace(0,10,200)  # defino intervalo lineal entre 0 y 10 con 200 puntos

plot( t, A*cos(w*t) ) # grafico
xlabel('Tiempo (s)') # nombro el eje x
ylabel('y(t)') # nombro el eje y
title('Grafico de y(t)=2*cos(3t)') # le doy un titulo al grafico

show()
# muestro el grafico

Este archivo de texto lo guardan con el nombre ejemplo.py.

Para ejecutarlo, pueden abrir una consola y ejecutar el comando:

python directorio_archivo/ejemplo.py

Donde deben reemplazar "directorio_archivo" por la dirección del directorio donde tienen guardado el archivo.

 Gráfico obtenido

Se puede ver que es posible realizar Zoom al gráfico obtenido de forma gráfica.

Otra posibilidad para ejecutar el código anterior es instalar el programa IDLE que permite modificar y probar dicho código más rápida y fácilmente. Para instalarlo escriben en una línea de comandos y como superusuario:

aptitude install idle

Programa IDLE

No hay comentarios:

Publicar un comentario en la entrada