Anstatt Ihnen eine vollständige Liste der Unterschiede zur Verfügung zu stellen, gebe ich Ihnen meine Meinung zu dieser Angelegenheit.
Wenn Sie die von Ihnen bereitgestellte Wiki-Seite sorgfältig lesen, werden Sie häufig Sätze wie "Octave unterstützt beide, während MATLAB das erste benötigt" usw. sehen. Dies zeigt, dass die Entwickler von Octave versuchen, die Octave-Syntax der von MATLAB "überlegen" zu machen.
Diese Einstellung lässt Octave seinen Zweck vollständig verlieren. Die Idee hinter Octave ist (oder ist , wie ich sagen sollte, siehe Kommentare unten), eine Open-Source-Alternative zum Ausführen von M-Code zu haben. Wenn es versucht, "besser" zu sein, versucht es daher, anders zu sein , was nicht mit den Gründen übereinstimmt, aus denen die meisten Leute es benutzen. Nach meiner Erfahrung funktioniert das Ausführen von in MATLAB entwickelten Dingen nie auf einmal, außer den wirklich einfachen, wirklich kurzen Dingen. Für jede größere Funktion muss ich immer viele Dinge übersetzen, bevor es in Octave funktioniert, wenn nicht von Grund auf neu schreiben. Wie das besser ist , sehe ich wirklich nicht ...
Wenn Sie Octave lernen, ist in Octave eine Menge Syntax zulässig, die in MATLAB nicht zulässig ist. Bedeutung - In Octave geschriebener Code funktioniert in MATLAB häufig nicht ohne zahlreiche Konvertierungen. Es ist auch nicht umgekehrt kompatibel!
Ich könnte weitermachen: Das MathWorks hat viele Toolboxen für MATLAB, es gibt Simulink und die dazugehörigen Produkte, für die es in Octave wirklich kein Äquivalent gibt (ja, dafür müssten Sie bezahlen. Aber oft macht Ihr Arbeitgeber / Ihre Schule das trotzdem und nun, es existiert zumindest ), nachgewiesene Einhaltung mehrerer Industriestandards, Testtools, Validierungstools, Anforderungsmanagementsysteme, Berichterstellung, eine viel größere Community- und Benutzerbasis usw. usw. usw. MATLAB ist nur ein kleiner Teil von etwas viel Größerem. Oktave ist ... nur Oktave.
Also mein Rat:
- Finden Sie heraus, ob Ihre Schule für MATLAB bezahlt. Oft werden sie.
- Wenn dies nicht der Fall ist und Sie das Geld zusammenkratzen können, kaufen Sie MATLAB und lernen Sie, es richtig zu verwenden. Auf lange Sicht ist es die bessere Entscheidung.
- Wenn Sie das Geld wirklich nicht bekommen können, verwenden Sie Octave, lernen Sie jedoch die MATLAB-Syntax und halten Sie sich von der Nur-Octave-Syntax fern. (siehe Anmerkung)
Warum dieser letzte Punkt? Denn in den Wissenschaften gibt es oft große Codebasen, die vollständig in MATLAB geschrieben sind. Es gibt Professoren, Ingenieure, Studenten, professionelle Programmierer, viele, viele Leute, die alle komplizierten Details von MATLAB kennen und nicht so sehr von Octave.
Wenn Sie einen neuen Job bekommen und jeder in Ihrem neuen Büro Spanisch spricht, ist es etwas übermütig, von jedem zu verlangen, dass er von nun an Englisch spricht , einfach weil Sie kein Spanisch sprechen / mögen. Gleiches gilt für MATLAB und Octave.
NB - wenn alle Downvoter nur einen Kommentar mit ihren Argumenten und Gründen für die Nichtübereinstimmung mit mir hinterlassen könnten, wäre das großartig :)
Hinweis: Octave kann im "traditionellen Modus" ausgeführt werden (indem beim Starten von Octave das Flag --traditional eingefügt wird), wodurch ein Fehler auftritt, wenn bestimmte Nur-Octave-Syntax verwendet wird.