Em vez de fornecer uma lista completa de diferenças, apresentarei minha opinião sobre o assunto.
Se você ler atentamente a página da wiki que você fornece, frequentemente verá frases como "O Octave suporta os dois, enquanto o MATLAB exige o primeiro" etc. Isso mostra que os desenvolvedores do Octave tentam tornar a sintaxe do Octave "superior" às do MATLAB.
Essa atitude faz com que o Octave perca completamente seu objetivo. A idéia por trás do Octave é (ou se tornou , devo dizer, ver comentários abaixo) ter uma alternativa de código aberto para executar o código m. Se ele tenta ser "melhor", tenta ser diferente , o que não está de acordo com os motivos pelos quais a maioria das pessoas o usa. Na minha experiência, executar coisas desenvolvidas no MATLAB nunca funciona de uma só vez, exceto as muito simples e muito curtas - Para qualquer função considerável, sempre preciso traduzir muitas coisas antes que funcione no Octave, se não reescreva do zero. Como isso é melhor , eu realmente não vejo ...
Além disso, se você aprender o Octave, há muita sintaxe permitida no Octave que não é permitida no MATLAB. Significado - o código escrito no Octave geralmente não funciona no MATLAB sem inúmeras conversões. Também não é compatível o contrário!
Eu poderia continuar: o MathWorks tem muitas caixas de ferramentas para o MATLAB, há o Simulink e seus produtos relacionados para os quais realmente não há equivalente no Octave (sim, você teria que pagar por tudo isso. Mas, muitas vezes, seu empregador / escola faz isso de qualquer maneira e, pelo menos, existe ), conformidade comprovada com vários padrões do setor, ferramentas de teste, ferramentas de validação, sistemas de gerenciamento de requisitos, geração de relatórios, uma comunidade e base de usuários muito maior, etc. etc. etc. MATLAB é apenas uma pequena parte de algo muito maior. Oitava é ... apenas Oitava.
Então, meu conselho:
- Descubra se sua escola pagará pelo MATLAB. Muitas vezes eles vão.
- Se não, e se você puder juntar o dinheiro, compre o MATLAB e aprenda a usá-lo corretamente. A longo prazo, é a melhor decisão.
- Se você realmente não consegue o dinheiro - use o Octave, mas aprenda a sintaxe do MATLAB e fique longe da sintaxe apenas do Octave. (Veja a nota)
Por que esse último ponto? Porque nas ciências, muitas vezes existem grandes bases de código inteiramente escritas em MATLAB. Existem professores, engenheiros, estudantes, programadores profissionais, muitas e muitas pessoas que conhecem todos os intrincados detalhes sangrentos do MATLAB, e não tanto do Octave.
Se você conseguir um novo emprego e todo mundo em seu novo escritório falar espanhol, é meio arrogante exigir que todos comecem a falar inglês a partir de então, simplesmente porque você não fala / gosta de espanhol. Mesmo com MATLAB e Octave.
NB - se todos os votantes negativos pudessem deixar um comentário com seus argumentos e razões para discordar de mim, isso seria ótimo :)
Nota: O Octave pode ser executado no "modo tradicional" (incluindo o sinalizador --traditional ao iniciar o Octave), o que faz com que ocorra um erro quando certa sintaxe somente do Octave é usada.