Recientemente me uní a la gente que usa Linux. Como resultado, estoy tratando de reemplazar la mayor cantidad posible de aplicaciones propietarias con alternativas gratuitas y, si es posible, de código abierto.
Dado que necesito una herramienta decente para mis experimentos matemáticos y solía usar MATLAB R2013b en mi instalación anterior de Windows, estoy ansioso por conocer las alternativas gratuitas, preferiblemente de código abierto, a Matlab que se ejecutarán en Linux (Ubuntu).
¿Existen alternativas gratuitas a Matlab que se ejecuten en Linux? Lo que es más importante para mí, es que la alternativa a Matlab debería encajar perfectamente en lo que respecta a la compatibilidad de sintaxis... para que la mayoría de los programas se puedan portar fácilmente (o, si es posible, importar). Además, estoy bastante seguro de que ninguna alternativa tendrá el conjunto completo de funciones que proporciona Matlab, por lo que también sería importante para mí saber qué diferencias en la funcionalidad debo esperar al usar las alternativas que sugiere. Significado: ¿hay algo que las alternativas gratuitas no puedan hacer con MATLAB R2013b y viceversa?
No hay un reemplazo único para Matlab en Linux. Matlab es un paquete de software realmente enorme, que incluye un ecosistema de biblioteca bastante grande.
Octave es una alternativa gratuita para Matlab. Le faltan bastantes características, pero todos los elementos básicos están ahí. He usado ambos, pero es bastante difícil dar una buena evaluación basada en mis propios sentimientos. Esta página enumera algunas diferencias menores, pero principalmente casos en los que Octave es mejor que Matlab. Probablemente el mayor problema es que algunas funciones actúan de manera diferente, por ejemplo, producto de booleanos y carga de archivos vacíos . Esto es importante, ya que dificulta la portabilidad de sus propios scripts, ya que suceden cosas inesperadas.
Mis propios sentimientos son que
Dicho esto, Octave es gratis y Matlab cuesta mucho más de lo que el consumidor medio puede permitirse pagar.
Sagemath es otra alternativa, pero está más cerca de Mathematica en funcionalidad.
Para obtener más soluciones de bricolaje, eche un vistazo a R, Scilab y Python. No obtendrá un paquete todo en uno integrado con estos, y la curva de aprendizaje es bastante empinada.
como dijo Olli, Ocatave es una alternativa de matlab:
Sintaxis casi idéntica. consumirá casi todos los archivos m sin cambios. el mfile es también su formato predeterminado. La sintaxis es tan idéntica que el curso de matlab de mi universidad usa octava en el autograder, aunque la unidad se enseña completamente en matlab y solo menciona la octava una vez de pasada.
Integración de la biblioteca BLAS de alta calidad (normalmente, creo que está integrado con OpenBlas, pero esto puede depender de su sistema, puede ser Atlas). Debido a BLAS, como matlab, es mucho más eficiente utilizar técnicas vectoriales (en lugar de bucles for), por lo que un buen código de matlab sigue siendo un buen código de octava .
También hay algunas características adicionales , pero nunca las he encontrado lo suficientemente notables como para recordarlas.
Recomendaría Scilab , ya que lo he usado y encontré que es una alternativa de código abierto decente para MATLAB. No tiene la solidez ni el pulido de un paquete profesional, pero dado que está basado en el lenguaje MATLAB, lo que aprenderá puede transferirse más adelante si sus necesidades cambian o si se encuentra trabajando en un entorno donde MATLAB es el defecto.
Citando a Richie Cotton en Stack Overflow :
Scilab es para MATLAB lo que OpenOffice es para MS Office. Es decir, no es exactamente un clon y no está tan pulido. Obtiene la mayor parte de la funcionalidad de MATLAB, y el precio es mucho más agradable.
Echa un vistazo a Julia : http://julialang.org/
Julia está diseñada para el trabajo científico numérico, incluido el trabajo interactivo. Tiene una interfaz de portátil de buena calidad disponible como Mathematica y Sage. Tiene el mejor rendimiento de su clase, consulte los puntos de referencia en la página principal. Puede llamar a Python, lo que abre muchas bibliotecas útiles para él.
Julia se ha diseñado específicamente para facilitar la transición a los usuarios de MATLAB. La sintaxis básica es similar. Sin embargo, su lenguaje de programación es más moderno y avanzado que el de MATLAB (por ejemplo, admite metaprogramación ).
Julia es un sistema relativamente nuevo, por lo que no es tan completo como otros (R, Octave), pero tiene una comunidad en crecimiento y promete mucho.
Si no necesita compatibilidad exacta con Matlab, Freemat es una opción.
http://freemat.sourceforge.net/
Puede ser bastante rápido, ya que utiliza LLVM como compilador JIT.
http://freemat-blog.blogspot.com/2008/02/por-que-jit-how-to-jit.html
Freemat ha tenido una GUI integrada durante más tiempo que Octave, aunque la GUI de Octave ha ido mejorando.
El principal inconveniente es que no se desarrolla tan activamente como Octave; el último lanzamiento fue en 2013.
https://www.openhub.net/p/_compare?project_0=FreeMat&project_1=GNU+Octave
Olli
Gilles 'SO- deja de ser malvado'
bernardo
bernardo
e-sushi
bernardo
SF.
bernardo
e-sushi
bernardo
SF.
bernardo
SF.