Plutôt que de vous fournir une liste complète des différences, je vais vous donner mon avis sur la question.
Si vous lisez attentivement la page wiki que vous fournissez, vous verrez souvent des phrases comme "Octave prend en charge les deux, tandis que MATLAB requiert le premier" etc. Cela montre que les développeurs d'Octave essaient de rendre la syntaxe d'Octave "supérieure" à MATLAB.
Cette attitude fait complètement perdre son but à Octave. L'idée derrière Octave est (ou est devenue , je devrais dire, voir les commentaires ci-dessous) d'avoir une alternative open source pour exécuter m-code. S'il essaie d'être «meilleur», il essaie donc d'être différent , ce qui n'est pas conforme aux raisons pour lesquelles la plupart des gens l'utilisent. D'après mon expérience, exécuter des trucs développés dans MATLAB ne fonctionne jamais en une seule fois, à l'exception des trucs vraiment simples et très courts - Pour toute fonction importante, je dois toujours traduire beaucoup de choses avant de fonctionner dans Octave, si pas réécrire à partir de zéro. Comment c'est mieux , je ne vois vraiment pas ...
De plus, si vous apprenez Octave, il y a beaucoup de syntaxe autorisée dans Octave qui n'est pas autorisée dans MATLAB. Signification - le code écrit en Octave ne fonctionne souvent pas dans MATLAB sans de nombreuses conversions. Ce n'est pas non plus compatible dans l'autre sens!
Je pourrais continuer: The MathWorks a de nombreuses boîtes à outils pour MATLAB, il y a Simulink et ses produits associés pour lesquels il n'y a vraiment pas d'équivalent dans Octave (oui, vous auriez à payer pour tout cela. Mais souvent votre employeur / école le fait quand même) , et bien, cela existe au moins ), conformité prouvée avec plusieurs normes de l'industrie, outils de test, outils de validation, systèmes de gestion des exigences, génération de rapports, une communauté beaucoup plus large et une base d'utilisateurs, etc. etc. etc. MATLAB n'est qu'une petite partie de quelque chose de beaucoup plus grand. Octave est ... juste Octave.
Alors, mon conseil:
- Découvrez si votre école paiera MATLAB. Souvent, ils le feront.
- Si ce n'est pas le cas, et si vous pouvez récupérer l'argent, achetez MATLAB et apprenez à l'utiliser correctement. À long terme, c'est la meilleure décision.
- Si vous ne pouvez vraiment pas obtenir d'argent, utilisez Octave, mais apprenez la syntaxe de MATLAB et éloignez-vous de la syntaxe octave uniquement. (voir la note)
Pourquoi ce dernier point? Parce que dans les sciences, il existe souvent de grandes bases de code entièrement écrites en MATLAB. Il y a des professeurs, des ingénieurs, des étudiants, des codeurs professionnels, beaucoup, beaucoup de gens qui connaissent tous les détails sanglants complexes de MATLAB, et pas tellement d'Octave.
Si vous obtenez un nouvel emploi et que tout le monde dans votre nouveau bureau parle espagnol, c'est un peu arrogant d'exiger de tout le monde qu'ils commencent à parler anglais à partir de là, tout simplement parce que vous ne parlez pas / aimez l'espagnol. Idem avec MATLAB et Octave.
NB - si tous les downvoters pouvaient simplement laisser un commentaire avec leurs arguments et les raisons de leur désaccord avec moi, ce serait génial :)
Remarque: Octave peut être exécuté en "mode traditionnel" (en incluant l'indicateur --traditional au démarrage d'Octave), ce qui lui donne une erreur lorsqu'une certaine syntaxe octave uniquement est utilisée.