Comparación de Octave, Spyder, Freemat y Scilab como alternativas a MATLAB

19

Estoy tratando de encontrar una alternativa para MATLAB y hasta ahora he encontrado:

  • Octava de GNU
  • Spyder
  • FreeMat
  • Scilab

Estoy tratando de encontrar cuál es la mejor alternativa a MATLAB. Estoy particularmente preocupado con el rendimiento y la integridad de los resultados.

    
pregunta user33831 23.06.2015 - 07:25

9 respuestas

9

Bueno, estás de enhorabuena. He usado todos los lenguajes de programación / software que mencionaste. FreeMat y Spyder no tengo mucha experiencia pero tengo algunos. Los otros en los que tengo experiencia.

GNU Octave por mucho remueve la competencia. Su sintaxis tiene una extrema compatibilidad con la de MATLAB . Las únicas diferencias, al menos tengo conocimiento, aparte de la extraña caja de herramientas, que puedes intentar reemplazar por los paquetes aquí es que GNU Octave puede definir funciones desde la línea de comandos.

No sé si conoce QtOctave . QtOctave es una interfaz (GUI) para el lenguaje de programación GNU Octave. QtOctave también viene con un editor.

Scilab también es un reemplazo adecuado para MATLAB. Tiene algunas diferencias en términos de sintaxis, pero no hay nada que no pueda entender si busca la documentación que viene con él.

FreeMat es lo peor, en mi opinión al menos, del software cuya sintaxis está fuertemente basada en MATLAB. Mi evidencia para esto es en tres partes: en primer lugar, en el centro de software recibe la calificación de estrellas más baja de los cuatro programas en cuestión. En segundo lugar, no se actualiza con frecuencia, la última versión en el centro de software, se actualizó por última vez en 2008. En tercer lugar, como resultado de mi segunda evidencia, sus funciones son algo rezagadas. El lado positivo, sin embargo, es que su sintaxis es altamente compatible con MATLAB.

He usado Spyder , pero me temo que solo brevemente. Parece de primera calidad. El problema es que solo tiene compatibilidad limitada con MATLAB, sintaxis. Requiere que aprendas algo del lenguaje de programación Python, es decir, si planeas hacerlo bien.

También recomendaría SageMath ya que incluye GNU Octave, (si ya está instalado en su sistema) Scilab, (si ya lo tiene instalado) Numpy, [Numpy y el resto mencionado a menos que sea especificado viene con Sage y por lo tanto no es necesaria ninguna instalación] Scipy, Matplotlib, maxima, fortran entre muchos otros. SageMath se puede descargar dirigiéndose al sitio enlace y seleccionando un espejo adecuado, según dónde se encuentre y luego instalando el archivo relevante .tar.lzma. Después de esto, copie y pegue los siguientes comandos en la terminal (ctrl + alt + T):

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

Donde 'x' se refiere a los bits de su sistema operativo; 'y' se refiere a la versión de Ubuntu para la cual el sabio está diseñado (por ejemplo, 10.04_lts; 12.04_lts (se requiere _lts en 'y'), etc.); 'z' se refiere a la arquitectura de su sistema operativo. (i386, amd64, etc.)

    
respondido por el Brenton Horne 19.10.2016 - 07:02
2

De todas las que ha enumerado, Octave es la sintaxis más compatible. De hecho, aparte de algunas de las costosas cajas de herramientas de Matlab, Octave debería correr el 98% (un número que acabo de inventar) de tu código. Uso Matlab en el trabajo y Octave en casa.

Octave no ejecutará (de forma nativa) algunas de las GUI incorporadas como inputdlg, etc., si instala Qtoctave (un IDE para Octave, sudo apt-get install qtoctave ) puede usar xmlwidget y un contenedor para obtener esa funcionalidad (puedo publicar el código si está interesado).

En lo que respecta al rendimiento, Octave no es tan rápido (google para los puntos de referencia). Sin embargo, puedes obtener todas las versiones modernas de Matlab corriendo en Linux (si tienes una licencia) y están incluidas en el disco de instalación por defecto ahora, y el rendimiento de la versión de Linux de Matlab es tan bueno y a menudo mejor en Linux en comparación con Windows.

Si quieres rendimiento y quieres usar el mejor software libre para mirar a scipy. Pero la sintaxis es menos compatible. Necesitarás volver a escribir tu código. Spyder es un ide que usa python y scipy, scilab es un puré de octava y máximos y algunos otros. No estoy seguro sobre el rendimiento de Freemat, pero no creo que esté tan desarrollado como Octave.

Buena suerte.

Algunos puntos de referencia

velocidad

enlace

enlace

Recuerde que los puntos de referencia son subjetivos. Hay muchas variables. La única forma verdadera de saber es probarlos todos en su plataforma usando su código de procesamiento.

    
respondido por el Caustic 20.06.2012 - 05:49
1

Solo por aclaración: ¿Por qué quieres una alternativa para Matlab? La respuesta de prasadkumar013 sugiere que no puedes usar Matlab en Ubuntu, pero puedes (al menos lo estoy ejecutando en Ubuntu;)). Existe una documentación de la comunidad en la página enlace .

En caso de que quiera una alternativa libre, vaya con la octava, la mayor parte del código de matlab funcionará directamente en octava. Aunque intenté trabajar en la terminal, la GUI qtoctave no era tan fácil de usar en mi opinión.

    
respondido por el Gerhard Burger 18.06.2012 - 08:14
1

Más similar a MATLAB = Octave , (enlace a la interfaz de usuario)
Un increíble lenguaje de cálculo de alto nivel = julia
Pero mi lenguaje favorito y en mi humilde opinión más útil en todo el lenguaje, PYTHON (scipy, sage, cython ...)

    
respondido por el nagordon 16.09.2015 - 02:36
0

enlace

PDL ("Perl Data Language") le da a Perl estándar la capacidad de almacenar de forma compacta y manipular rápidamente las grandes matrices de datos en N dimensiones que son el pan y la mantequilla de la informática científica.

    
respondido por el gianni 18.06.2012 - 13:37
0

¿Ya ha probado Sage ( www.sagemath.org )? Es un contenedor para diferentes programas matemáticos y puede hacer cálculos simbólicos y numéricos. Los últimos se hacen usando numpy y scipy. Tiene una comunidad muy activa y es un proyecto de código abierto escrito en Python.

Dado que está interesado en las actuaciones, aquí hay algunos puntos de referencia (al final de la página también comparaciones con Matlab).

    
respondido por el Michele 18.08.2012 - 13:58
0

Este es un buen documento.

Tiene una breve explicación y varias pruebas realizadas.

Por cierto, no uso MATLAB ni nada de eso.

    
respondido por el virpara 01.12.2016 - 13:10
-1

No he hecho una comparación real, pero en mi experiencia simplemente forma una perspectiva de rendimiento. La octava es mejor que MATLAB.

Debe tener en cuenta que "todo es relativo", las diferentes cajas de herramientas tienen diferentes interpretaciones.

Si tiene RAM limitada en su máquina, diría que cualquier cosa funcionaría mejor que MATLAB.

    
respondido por el Ali 17.11.2011 - 13:14
-2

Mi universidad utiliza MATLAB en sus PC con Windows. Pero para usar MATLAB en Ubuntu me habían dejado dos opciones

  1. Instale MATLAB sobre vino o cualquier software de virtualización
  2. Encuentra un Equivallent de Linux

Como la virtualización es muy pesada en mi computadora portátil, busqué una alternativa. Después de muchas pruebas de software, finalmente me conformé con OCTAVE. Puede ejecutar la mayoría de los códigos MATLAB estándar. En lugar de GNU Octave, es mejor optar por qt Octave. Mientras que el primero se basa en la terminal, el último está basado en GUI. Mi elección es ir por qt Octave

sudo apt-get install qtoctave

    
respondido por el prasadkumar013 10.06.2012 - 13:12

Lea otras preguntas en las etiquetas