GNU Octave is a high-level interpreted language and scientific computing platform. It is a free and open-source software package developed by the GNU Project. Octave provides a command-line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. It can also be used as a batch-oriented language. Octave is suitable for numerical computations, including linear and nonlinear equations, linear and nonlinear optimization, integration, and differential equations. It also provides powerful graphics and plotting capabilities. It also supports symbolic computation, which is useful for mathematics, engineering, and science. Octave also supports a wide range of programming languages and libraries, including C, C++, Fortran, Java, GNU Octave, and Python. Octave is a popular choice for scientific computing, engineering, and data analysis applications. It is also often used for education, research, and industrial applications. It is available on many operating systems, including Linux, macOS, Windows, and BSD.
Discontinued The project is no longer updated. The latest version, 4.2, released in June 2013, can still be downloaded from SourceForge.
By Superbest · Nov 2011
Desafortunadamente, suele ser el caso con muchos proyectos de OSS que siempre se retrasan como una imitación barata de algún producto comercial ya establecido que ya funciona. Lo tiene con Gimp y Photoshop, Desktop Linuxes y Windows, MS Office y los derivados de OpenOffice, y así sucesivamente. La sintaxis de octava es muy similar a Matlab, probablemente ejecutaría literalmente archivos de Matlab sin modificaciones. Por lo tanto, no tendrá que ajustar la sintaxis, o la mayoría de las bibliotecas, todas son casi exactamente iguales. Lo contrario no es necesariamente cierto: Octave intenta "mejorar" la sintaxis y las bibliotecas de Matlab. Las diferencias son menores, y en mi opinión extremadamente triviales. No veo por qué a alguien le importaría de una manera u otra.
Supongo que con las convenciones de Octave, tu vida como codificador es 0,0001% más fácil (Matlab ya es muy bueno en crear "atajos"), así que, ¿qué es lo que no te gusta? Bueno, gracias a esto, existe la posibilidad de que Matlab NO ejecute el código Octave (las cosas básicas como la función de carga están alteradas). Esto es aún más molesto porque Octave usa .m de forma predeterminada y pretende jugar bien con Matlab. No se deje engañar: si usa ambos lado a lado, manténgalos completamente separados el uno del otro. Oh, hay convertidores para hacer que el código Octave sea compatible con Matlab, pero no son fáciles de usar. ¿Por qué molestarse por una ganancia del 0,0001%? Ahora ese es el código. Pero a menos que sea una persona loca que solo escriba el código de Matlab en el Bloc de notas, y solo use el IDE para ejecutarlo, hay una gran brecha en Octave que es inmediatamente obvia: no hay GUI.
No hay editor de variables. No hay un menú desplegable para seleccionar un tipo de trama. No hay historia de mando. ¡No hay nada! Es solo el shell CLI. En Windows, "Octave" es básicamente un indicador de MS-DOS glorificado. Si necesito explicar por qué esto es malo, claramente no tiene idea de qué es Matlab, qué hace o para qué sirve. La CLI en sí misma está llena de errores y tiene algunas peculiaridades molestas a veces. Las líneas no están ajustadas, sino que solo puedes ver parte de un comando largo. No es muy útil, especialmente con rutas de directorio largas, además de la CLI de Windows (y todo el drama con la selección / copia y lo que no) lo hace aún más molesto (aunque creo que es "mi culpa" por no usarlo en Linux ). Además de eso, en el sentido de hacer todo lo que hace la ventana de comandos de Matlab, creo que es bastante decente.
La facilidad de hacer esas mismas cosas es otro asunto. Como dije, las otras cosas útiles que proporciona Matlab, como el editor de variables, la finalización del código, presionar F1 para la documentación, etc., no se ven por ninguna parte. Eso me lleva a otro punto importante: la documentación. Los documentos de la octava no apestan, en realidad son bastante buenos. Pero lo que pasa es que la competencia no es simplemente "bastante buena", es increíblemente increíble. Demonios, es mejor que utilices los documentos de la función Matlab como referencia cuando utilices Octave; las explicaciones son mucho más completas y hay más ejemplos. Hablando de ejemplos, tal vez se esté preguntando, "¿Octave tiene demostraciones útiles y útiles como Matlab?" ¡Jaja! Sí claro. Por último, las parcelas. Octave parece usar GNUplot para esto.
Los resultados no son tan bonitos como los de Matlab. Probablemente Matlab tiene una selección más amplia de tipos de parcelas (no pude ver porque NO HAY DESGUARDO). La rotación y cosas así son lentas. La interacción con la trama es extremadamente limitada (a diferencia de Matlab, donde se puede hacer todo tipo de cosas a la trama desde su GUI) y notablemente lenta. ¿Recuerdas que dije que Octave no apesta? No lo hace, pero GNUplot sí lo hace. Ah, y, Matlab casi no tiene errores. Octave tiene bastantes, especialmente si no tiene cuidado sobre qué paquetes instalar. ¿Tu propio código no tiene suficientes errores para mantenerte entretenido? ¿Seguir deseando que el medio ambiente arrojara algunos de los suyos? Chico, vas a amar a Octave. Probablemente haga que suene peor de lo que es, Octave realmente no es mucho peor que Matlab (con las obvias y evidentes deficiencias, como la interfaz).
De hecho, si no puede obtener Matlab, probablemente podría usar Octave con muy pocos problemas, siempre que haga lo que ya sabe hacer en Matlab. En cuanto al aprendizaje de la sintaxis y las bibliotecas de Matlab / Octave, es probable que no desee Octave. Y al final del día, si necesita usar Matlab, es probable que su empresa o institución tenga / compre una licencia. Y en ese momento, no hay absolutamente ninguna razón para usar Octave. Quizás se esté preguntando, como una vez lo hice, cómo otro software popular, Mathematica, encaja en todo esto. No lo hace Mathematica hace cosas diferentes que Matlab. Si necesitas hacer cosas de Matlab, pero no tienes Matlab, usa Octave. No hagas computación numérica en Mathematica, eso es una tontería.
Cuando realice cálculos puramente simbólicos, autómatas celulares, visualización de datos, gráficos de funciones y similares, especialmente cuando se complica mucho, Mathematica le hará la vida más fácil aunque probablemente también podría hacerlo en Matlab de manera realista. Hay otras suites gratuitas con funcionalidad similar a las tres anteriores. Scilab es probablemente el más destacado. Si no está seguro, no se moleste con ellos. Solo usa Matlab (o si falla eso, Octave).
Discontinued The project seems to be no longer developed. The latest version, 2.7.10.0, released in June 2015, can still be downloaded from the official website.