2009-02-21 15 views
7

Estoy aprendiendo el lenguaje MATLAB y me gustaría tener algún tipo de entorno libre para experimentar. El entorno de MATLAB provisto por MathWorks es comercial. Parece haber una versión de prueba disponible, pero no entiendo cómo obtener la licencia de prueba.entorno libre de MATLAB

Por el momento, todo lo que necesito es una línea de comandos y las "bibliotecas estándar".

+0

Tenga en cuenta que puede solicitar una versión de prueba aquí: http://www.mathworks.com/products/matlab/tryit.html –

Respuesta

15

Octave es sobre todo compatible con Matlab: http://www.gnu.org/software/octave/

+1

Me gustan las capacidades no interactivas de Octave (buena compatibilidad) que es lo que quiere el OP. MATLAB es mucho mejor para GUI + depuración + perfil, sin embargo. –

+1

Vea también QTOctave para una GUI. –

6

investigar ese tipo:

Leer this blog entry from Ryan Morlok para obtener más información sobre sou abierto alternativas de Matlab.

Soy un gran fan de R, pero no es un sustituto de Matlab ... es una alternativa. ¡Hay una gran diferencia!

+0

FWIW, hay una interfaz para llamar a R desde MATLAB y viceversa. Incluso se podría pensar en llamar a una función R de MATLAB que a su vez llama a una función R, pero por qué alguna vez diseñarías algo de esa manera me supera. –

+0

Eso es muy Perl-esque ... más de una forma de hacer las cosas. Gracias por señalarme eso. –

1

Si está interesado en probar cosas en MATLAB directamente, había a recent blog entry on The MathWorks website con respecto a descargas de prueba gratuitas de MATLAB y sus diversas cajas de herramientas. Si no ha intentado contactarlos ya, el blog enlaza al this page donde puede solicitar pruebas de productos o, si ya tiene un producto con licencia, puede iniciar sesión y descargar ensayos de cajas de herramientas.

2

Otros usuarios te han dado los ejemplos que habría sugerido: Octave y Scilab. De los dos, diría que Scilab es más poderoso PERO Octave intenta ser realmente compatible con el estándar MATLAB y Scilab no.

Por lo tanto, si su objetivo es experimentar con un lenguaje similar a MATLAB y aprender habilidades que eventualmente podrá transferir a MATLAB, le sugiero que se quede con Octave.

3

Recientemente me he enamorado de Python XY. No es exactamente como Matlab pero tiene muchas de las mismas funciones y copia la apariencia. Yo personalmente lo usaría si no quisiera comprar una licencia de Matlab, no si quería practicar con un sustituto de Matlab.

www.pythonxy.com

9

Si usted apenas está comenzando con MATLAB Me gustaría sugerir fuertemente que ir el camino Python vez (a menos que haya alguna razón muy específica por qué debe utilizar MATLAB). Los conceptos básicos (como operaciones de matriz/matriz) son muy similares a MATLAB.

En mi área actual de trabajo (neurociencia), existe una fuerte migración de MATLAB a Python. Muchos grupos están haciendo el cambio porque Python es gratis y generalmente más poderoso.

Los paquetes básicos que probablemente necesite para comenzar serían numpy (matriz básica numérica), scipy (más algoritmos) y matplotlib (trazado). Como quiera trabajar en la línea de comando, también sugiero IPython.

Como ya se mencionó en otra respuesta, también hay algunas distribuciones de Python que incluyen muchos paquetes, como PythonXY, Enthought Python Distribution o Anaconda.

Hay muchos tutoriales disponibles en la web, busque un poco y elija uno que desee.

+2

En segundo lugar. En esencia, estoy dejando Matlab después de cientos de miles de líneas de código. Python es ahora muy competitivo con Matlab y la comunidad de refugiados de Matlab que usa Python está creciendo todo el tiempo. R también es genial, pero la elección depende del uso. – Iterator

+1

Tenga en cuenta que con [RPy] (http://rpy.sourceforge.net/) también puede usar R muy bien con Python. – nikow

+0

Eso es cierto, y un buen punto (también hay rpy2). Conecté un poco Matlab y R (normalmente llamando R desde Matlab), y es una buena idea saber cómo hacerlo desde Python. No tiene sentido reinventar la rueda en un nuevo idioma. – Iterator