En lugar de proporcionarle una lista completa de diferencias, le daré mi punto de vista sobre el asunto.
Si lee detenidamente la página wiki que proporciona, a menudo verá oraciones como "Octave admite ambos, mientras que MATLAB requiere la primera", etc. Esto muestra que los desarrolladores de Octave intentan hacer que la sintaxis de Octave sea "superior" a la de MATLAB.
Esta actitud hace que Octave pierda su propósito por completo. La idea detrás de Octave es (o se ha convertido , debería decir, ver los comentarios a continuación) para tener una alternativa de código abierto para ejecutar m-code. Si trata de ser "mejor", entonces trata de ser diferente , lo cual no está en línea con las razones por las que la mayoría de la gente lo usa. En mi experiencia, ejecutar cosas desarrolladas en MATLAB nunca funciona de una sola vez, excepto por las cosas realmente simples y muy cortas: para cualquier función considerable, siempre tengo que traducir muchas cosas antes de que funcione en Octave, si No volver a escribirlo desde cero. Cómo es esto mejor , realmente no veo ...
Además, si aprende Octave, hay mucha sintaxis permitida en Octave que no está permitida en MATLAB. Significado: el código escrito en Octave a menudo no funciona en MATLAB sin numerosas conversiones. ¡Tampoco es compatible al revés!
Podría continuar: MathWorks tiene muchas cajas de herramientas para MATLAB, hay Simulink y sus productos relacionados para los cuales realmente no hay equivalente en Octave (sí, tendrías que pagar por todo eso. Pero a menudo tu empleador / escuela lo hace de todos modos y bueno, al menos existe ), el cumplimiento comprobado de varios estándares de la industria, herramientas de prueba, herramientas de validación, sistemas de gestión de requisitos, generación de informes, una base de usuarios y comunidad mucho más amplia, etc., etc. MATLAB es solo una pequeña parte de algo mucho más grande. Octave es ... solo Octave.
Entonces, mi consejo:
- Averigüe si su escuela pagará por MATLAB. A menudo lo harán.
- Si no lo hacen, y si puedes juntar el dinero, compra MATLAB y aprende a usarlo correctamente. A la larga es la mejor decisión.
- Si realmente no puede obtener el dinero, use Octave, pero aprenda la sintaxis de MATLAB y manténgase alejado de la sintaxis exclusiva de Octave. (ver nota)
¿Por qué este último punto? Porque en las ciencias, a menudo hay grandes bases de código escritas completamente en MATLAB. Hay profesores, ingenieros, estudiantes, programadores profesionales, muchas personas que conocen todos los detalles intrincados y sangrientos de MATLAB, y no tanto de Octave.
Si usted consigue un nuevo trabajo, y todo el mundo en su nueva oficina habla español, que es un poco arrogante a la demanda de todo el mundo que empiezan a hablar Inglés a partir de entonces, simplemente porque usted no habla / como el español. Lo mismo con MATLAB y Octave.
NB : si todos los votantes negativos pudieran dejar un comentario con sus argumentos y razones para no estar de acuerdo conmigo, sería genial :)
Nota: Octave se puede ejecutar en "modo tradicional" (al incluir el indicador --tradicional al iniciar Octave), lo que hace que se produzca un error cuando se utiliza cierta sintaxis exclusiva de Octave.