Invece di fornirti un elenco completo delle differenze, ti darò la mia opinione in merito.
Se leggi attentamente la pagina wiki che fornisci, vedrai spesso frasi come "Octave supporta entrambi, mentre MATLAB richiede il primo" ecc. Ciò dimostra che gli sviluppatori di Octave cercano di rendere la sintassi di Octave "superiore" a quella di MATLAB.
Questo atteggiamento fa perdere completamente lo scopo a Octave. L'idea alla base di Octave è (o è diventata , dovrei dire, vedere i commenti qui sotto) di avere un'alternativa open source per eseguire m-code. Se cerca di essere "migliore", cerca quindi di essere diverso , il che non è in linea con i motivi per cui la maggior parte delle persone lo usa. Nella mia esperienza, eseguire cose sviluppate in MATLAB non funziona mai in una sola volta, tranne per le cose davvero semplici, davvero brevi - Per qualsiasi funzione considerevole, devo sempre tradurre molte cose prima che funzioni in Octave, se non riscriverlo da zero. Come sia meglio , davvero non vedo ...
Inoltre, se impari Octave, in Octave è consentita molta sintassi non consentita in MATLAB. Significato: il codice scritto in Octave spesso non funziona in MATLAB senza numerose conversioni. Inoltre, non è compatibile al contrario!
Potrei andare avanti: MathWorks ha molti toolbox per MATLAB, c'è Simulink e i suoi prodotti correlati per i quali non esiste un equivalente in Octave (sì, dovresti pagare per tutto ciò. Ma spesso il tuo datore di lavoro / scuola lo fa comunque e, almeno, esiste almeno ), comprovata conformità a numerosi standard di settore, strumenti di test, strumenti di convalida, sistemi di gestione dei requisiti, generazione di report, una comunità e una base di utenti molto più ampia, ecc. ecc. ecc. MATLAB è solo una piccola parte di qualcosa di molto più grande. Octave è ... solo Octave.
Quindi, il mio consiglio:
- Scopri se la tua scuola pagherà per MATLAB. Spesso lo faranno.
- In caso contrario, e se riesci a racimolare i soldi, acquista MATLAB e impara a usarli correttamente. A lungo termine è la decisione migliore.
- Se davvero non riesci a ottenere i soldi, usa Octave, ma impara la sintassi di MATLAB e stai lontano dalla sintassi di Octave. (Vedi nota)
Perché questo ultimo punto? Perché nelle scienze ci sono spesso basi di codice di grandi dimensioni interamente scritte in MATLAB. Ci sono professori, ingegneri, studenti, programmatori professionisti, un sacco di persone che conoscono tutti gli intricati dettagli cruenti di MATLAB e non di Octave.
Se si ottiene un nuovo lavoro, e tutti nel tuo nuovo ufficio parla spagnolo, è una specie di arrogante per chiedere di tutti coloro che iniziano a parlare inglese da allora in poi, semplicemente perché si non si parla / come lo spagnolo. Lo stesso con MATLAB e Octave.
NB : se tutti i downvoter potessero semplicemente lasciare un commento con i loro argomenti e le ragioni per non essere d'accordo con me, sarebbe fantastico :)
Nota: Octave può essere eseguito in "modalità tradizionale" (includendo il flag --traditional all'avvio di Octave) che gli dà un errore quando viene usata una certa sintassi solo per Octave.