Замість того, щоб надати вам повний перелік відмінностей, я розповім вам про це.
Якщо ви уважно прочитаєте надану вами сторінку wiki, ви часто побачите речення на кшталт "Octave підтримує і те й інше, тоді як MATLAB вимагає першого" і т. Д. Це показує, що розробники Octave намагаються зробити синтаксис Octave "вищим" для MATLAB.
Таке ставлення змушує Октава повністю втрачати своє призначення. Ідея октава (або став , я повинен сказати, см коментарі нижче) , щоб мати альтернативу з відкритим вихідним кодом для запуску м-код. Якщо вона намагається бути «кращою», вона, таким чином, намагається бути іншою , що не відповідає причинам, якими вона користується. На моєму досвіді запуск матеріалів, розроблених в MATLAB, ніколи не працює за один раз, за винятком справді простих, дуже коротких речей - Для будь-якої значущої функції мені завжди потрібно перекласти багато матеріалів, перш ніж вона працює в Octave, якщо не переписувати його з нуля. Як це краще , я справді не бачу ...
Крім того, якщо ви вивчаєте Octave, в Octave дозволено багато синтаксису, який заборонено в MATLAB. Значення - код, написаний в Octave, часто не працює в MATLAB без численних перетворень. Це також не сумісне навпаки!
Я можу продовжити: У MathWorks є багато наборів інструментів для MATLAB, є Simulink та пов'язані з ним продукти, за які в Octave дійсно немає еквівалента (так, за все це доведеться платити. Але часто ваш роботодавець / школа робить це все одно і, ну, принаймні, це існує ), доведена відповідність декільком галузевим стандартам, інструментам тестування, інструментам перевірки, системам управління вимогами, генерації звітів, значно більшій базі спільнот і користувачів, тощо. тощо. тощо. MATLAB - лише невелика частина чогось набагато більшого. Октава - це просто Октава.
Отже, моя порада:
- Дізнайтеся, чи ваша школа заплатить за MATLAB. Часто вони будуть.
- Якщо вони цього не роблять, і якщо ви можете зібрати гроші разом, купіть MATLAB і навчіться правильно ним користуватися. Зрештою, це краще рішення.
- Якщо ви дійсно не можете отримати гроші - скористайтеся Octave, але вивчіть синтаксис MATLAB і тримайтеся подалі від синтаксису, призначеного лише для Octave. (див. примітку)
Чому цей останній пункт? Тому що в науках часто існують великі кодові бази, повністю написані в MATLAB. Є професори, інженери, студенти, професійні кодери, багато і багато людей, які знають усі хитромудрі деталі MATLAB, і не стільки Octave.
Якщо ви отримаєте нову роботу, і всі у вашому новому кабінеті говорять іспанською мовою, настільки сміливо вимагати від усіх, щоб вони починали говорити англійською мовою, просто тому, що ви не розмовляєте / любите іспанську. Те саме з MATLAB та Octave.
NB - якщо все downvoters могли б просто залишити коментар зі своїми аргументами і причини незгоди зі мною, що було б здорово :)
Примітка: Octave можна запускати в "традиційному режимі" (включаючи - традиційний прапор під час запуску Octave), що змушує видавати помилку, коли використовується певний синтаксис, що використовується лише для Octave.