Matlab es el software rey en carreras de ingeniería a la hora de hacer procesado de señal o cálculos de matrices, sobre todo si uno quiere hacer alguna interfaz gráfica en algún momento. ¿El problema? Propietario y MUY caro. Ha habido muchos intentos de reemplazarlo con software libre, Scilab, Octave... Pero lo curioso es que la solución estaba ahí y muchos no se habían percatado: Python. Desde la madurez de librerías como SciPy y Matplotlib, usar Python para el propósito de Matlab es incluso más cómodo, gracias a las miles de librerías.
Comentarios
me parece muy, muy optimista lo de reemplazar Matlab, a pesar de que no conozco python, pero echandole una ojeada a la web no he visto nada de control, nada parecido al Real Time Workshop de Matlab.
Por ejemplo, puedo controlar una centralita en tiempo real con python? Hay algo parecido al Simulink?
Hombre, si te dedicas a mero cálculo matricial desde luego que puedes reemplazar Matlab por muchos otros programas, pero el que Matlab sea casi un estándar en la industria no es simplemente por eso.
Si alguien conoce una alternativa válida, se agradece que la mencione....
#9 no estoy muy seguro pero creo que la ultima vez que mire Python si permitia controlar cosas en tiempo real...
#9 mirando y buscando por ahí no se si esto te vale http://code.google.com/p/pylab-works/
http://mientki.ruhosting.nl/movies/vp1.html
#9 en mi facultad algunos profes empiezan a usar Octave y están bastante contentos. Yo como ahora me dedico "profesionalmente" al área de telemática, Matlab y la teoría de la señal lo tengo bastante olvidado.
#9 sin saber muy bien de lo que hablas, porque no uso MatLab pero si varios RTOS, digo yo que el matlab estará supeditado a los tiempos de scheduling del operativo en el que te encuentras (windows en este caso) así como a las latencias del propio API del operativo (que en windows es cualquier cosa menos deterministico). He visto casos de gente que usa tarjetas con drivers específicos para MATLAB, no se si es que esas tarjetas tienen un driver tan optimizado que apenas tiene latencias ,etc.
En el caso de PYTHON nadie te impide hacerlo correr en un linux y hacer uso de todos los recursos a tu alcance (NICE y llamadas al API de linux que lo convierten en un pseudo RTOS) para hacerlo ultra-rapido y ultra-responsivo, por no hablar de que puedes extenderlo en C para acceder al bajo nivel sin ningún tipo de problema.
Otra ventaja increíble de python es su portabilidad, usado en un linux embedded con un ARM o un ATOM puedes tener una maquina MUY MUY versátil a un precio bastante ajustado.
Repito: No uso python con calculo matemático intensivo como para juzgar si iguala o supera a matlab, pero si te puedo decir que he trabajado extendiendolo para acceder a "cacharreria" a bajo nivel con unos resultados increiblemente buenos.
#9 No se qué características tiene esa centralita, pero yo me he construido un grabador de microcontroladores por puerto paralelo en python. Así que si quieres jugar con hardware desde python, desde luego que puedes.
#26 Ya, pero también es de pago.
#9 Como bien ha dicho alguno por ahí, Octave se suele considerar la versión libre de Matlab (al igual que hay quien considera R la versión libre del spss, etc..), pero otra cosa que puede probarse, es Maxima http://es.wikipedia.org/wiki/Maxima , que además, es calculo simbólico, tiene pila de años, mejoras continuas y en general, es la leche (Maxima suelen compararlo más con Mathematica)
Yo hice el proyecto fin de carrera entero con Python y la librería Matplotlib, por obligación de la empresa en la que estaba (que se ahorraría una buena pasta en la licencia de Matlab). Precisamente estuve el otro día en una entrevista de trabajo me preguntaron mucho al respecto, no se acababan de creer que pudiera realizar todas las funciones de Matlab.
Python es un lenguaje muy interesante, probablemente el más fácil de "entender" que existe. Para mi lo de ser un lenguaje dinámico me suponía un problema, era complicado encontrar errores, necesitaba muchísimas pruebas de depuración para asegurarse de que el código era correcto.
Además se echa en falta un buen IDE para el desarrollo de interfaces gráficas, y era complicado hacer aplicaciones redistribuibles (un instalador, vamos).
El lado positivo, como comenta #11, son los manuales y ayuda al usuario en la que siempre ponen los ejemplos con cosas de Monty Python Además tiene una gran comunidad de usuarios, se encuentran por internet muchas listas de correo y foros donde resuelven tus dudas en un momento.
Llevo tiempo programando en Python, y ahora estoy en una empresa que el 90% de su producto está en Python, con lo que estoy encantado.
Aun así, no lo conozco en el entorno de 'sustituto de Matlab', pero conociendo la versatilidad y claridad del lenguaje, seguro que funciona de lujo. Además, ¿será por bibliotecas en Python?
#14 Eso no es una opción legal.
#15 No estoy de acuerdo contigo en que le falte un IDE. Al ser independiente del sistema, no puedes hacer un diseñador de interfaces genérico (¿wx? ¿gtk? ¿Qt? ...). Y en el tema del instalable... tampoco estoy de acuerdo. Tienes distutils, que facilitan la instalación en sistemas Unix, y py2exe para sistemas Windows que funciona muy bien.
#20 uuuuuuuuuuuu
#21 El problema no es que te de miedo o no. El problema es que usando de forma ilegal software propietario, dejas de usar opciones libres perfectamente legales, como es el caso.
Luego vienen los llantos por monopolio y esas cosas, pero es que hay gente que dejais a huevo esas cosas.
#23 vale, si vas por ahí, vale. Creía que eras del rollo de "si eres legal, eres legal"
#20 Yo usaba py2exe, sí, pero el ejecutable final de Windows ocupaba más de 100 mbs para un programa bastante simple. Además siendo un "newbie" total me costó dios y ayuda hacerlo funcional, con las mil excepciones y librerías que tenía que añadir. Sólo te diré que el script de py2exe que utilizaba ocupaba más de 100 líneas.
Por cierto, ¿qué IDE utilizáis vosotros, por curiosidad? Yo usaba Wing IDE, que aunque era de pago no costaba mucho. Y no estaba mal, pero comparado con un Netbeans o un eclipse es otro mundo.
Como curiosidad, mi proyecto era en Python porque el diseñador que hizo la primera fase del mismo no había programado en su vida, y los jefes decidieron asignarle el que creyeron sería el lenguaje más simple de aprender.
#21 Si se trata de una empresa, si que puede ser un susto de verdad. Y la licencia de Matlab debe andar por los 2500 o 3000 euros por equipo, creo.
#29 El problema de py2exe es que mete todas las dependencias a pelo.
Yo como "IDE", utilizo Emacs con python-mode
#29 Yo uso vim, pero Eclipse tiene un plugin para python (PyDev, creo) y netbeans seguro que también
Exclusivos de Python el único que era medio decente es el WingIDE, los demás flojitos flojitos.
#40 Si, he probado PyDev en Eclipse, y no está mal. Pero Emacs es Emacs no requiere chupar 500 Mbs de RAM en el entorno, que además suelo tener más cosas abiertas...
#15 IDE para python?
sudo apt-get install geany
#15 #42 IDE Para python => Eclipse + pydev
(Siempre que tengas RAM de sobra, claro)
#15 #42 #45 Yo uso vim.
Pero si quiero algo gráfico gedit, con autocompletación y navegador de clases y funciones.
Ya me parecía a mí muy extraño relacionar Matlab con los Monty Python.
#2 Yo al principio había leído "Reemplazan a los Monty Python"
#2 #8 Sin coñas. Las referencias a los Monty Python están recomendadas en toda documentación de Python que se precie de tal.
Matplotlib es un reemplazo perfecto.
Artículo muy relacionado y muy interesante: http://vnoel.wordpress.com/2008/05/03/bye-matlab-hello-python-thanks-sage/
Para los que quieran probarlo, Spyder es un buen entorno para usar Pyhton + Scipy + Matplotlib http://packages.python.org/spyder/
Octave no es un intento de remplazarlo, es un logro en toda regla.
"Ahora, lo único que queda a favor de Matlab es la cantidad impresionante de toolkits que tiene para un montón de temas específicos"
Casi nada.
Que sigan desarrollando, pero de ahí a hablar de "reemplazar", pa mí que todavía faltan unos años.
#22 y Simulink. Y COMSOL.
Yo estoy montando una empresa y se basa casi todo en código python salvo algunas cosillas en C, como integra muchas cosas, desde la web, proceso masivo de datos y cálculos Python ha demostrado ser una navaja suiza para la resolución de todo tipo de problemas.
Tan contento estoy con el que de hecho mi avatar es una foto de Guido Van Rosum.
Uso python como reemplazo de Matlab desde hace ya unos años (y dispongo de licencias de matlab si me hiciera falta). Es cierto que con matplotlib y numpy/scipy uno puede sustituir matlab para muchas cosas generales, pero aún hay muchas cosas para las que no es suficiente. Por ejemplo, gráficos 3D. Y VTK tiene muy buena pinta pero no es desde luego una solución sencilla.
Este artículo es pecado.
NO utilizarás el nombre de Matlab en vano.....
¡Viva Octave!
MatLAB será el rey... Pero en Jaén se usa Mathematica y les va bastante bien.
Yo tengo Python con Sympy y funciones abreviadas que escribi en mi iPod Touch desde hace un año, y va bastante bien, aunque claro, no es el Matlab, pero casi
Por cierto #0: http://es.thefreedictionary.com/reemplazando
python lleva las baterías incluidas.
Uff... Después de programar tantos años Perl, cada vez que leo algo de código Python, tan "ordenadito", me viene el recuerdo del Fortran77.
¡Larga vida a PDL! ¡"Madlab" rules!
Para determinadas no está nada mal el Octave.
#6 El "problema" es que los que usen Octave lo verán como un reemplazo y que "le faltan cosas" o que "hay cosas que no se hacen exactamente igual". En cambio al usar Python, ya eres consciente de usar algo distinto, y le verás ventajas o inconvenientes.
Creo que lo que más cuesta es dejar de usar 1 como primer índice
#7 Una cosa es segura.¡Estoy del Matlab hasta las narices! Yo es que lo uso lo menos posible, para filtros, para el simulink y poco más. La especialidad de mi carrera va por el VHDL
En cualquier caso, no tendría problemas en probar el Python si lo necesito
A mi Sage me está gustando mucho, las últimas veces que he tenido que tirar de un software así lo he escogido por delante de Matlab.
Sabeis si hay mucha diferencia entre Matlab+Simulink y Scilab+Scicos??
Se que van por el mismo camino, pero no se si a Scilab le falta mucho para llegar a ser como Matlab.
Ah, ¿pero el Matlab no es gratis?.
¿Entonces por qué llegan copias a mi ordenador?.
Otra muy buena alternativa libre con una herramienta para poder reutilizar código de matlab: Scilab.
http://www.scilab.org
Tendré que ser yo quien mencione a http://www.r-project.org/
¿No sirve? joer, si vale para un roto y para un descosido.
* Veo que no, pues nada. R p'a mi.
Venga, y ahora una solución aún más rápida:
Google --> "Taringa Matlab"
#14 Una mejor y más rápida:
$ python
>>>
#14 Una opción mas rápida para tu jefe si quiere ganar mas es no pagarte el sueldo ni cumplir tu contrato. Igual que a ti te parece bien no cumplir el contrato que aceptas de matlab. ¿verdad?