Octave

In vielen Projekten, in denen Matlab zum Einsatz kommt, werden wir nach Alternativen zu diesem sehr umfangreichen und anerkannterweise guten Softwarepaket gefragt.Die Gründe hierfür liegen in den recht hohen Anschaffungskosten für Matlab. Für das kommerziell verwendbare Grundpaket mit einigen Erweiterungen (sogenannten Toolboxen) werden schnell mehrere tausend € fällig.

Matlab-Programme werden interpretiert und können in ihrer ursprünglichen Form nur auf Systemen laufen, auf denen die Matlab-Software installiert ist. Um Programme beliebig verteilen zu können, wird ein Compiler angeboten, der allerdings wiederum mit US$ 5000 zu Buche schlägt.

Octave ist ein Opensource-Paket, dessen Entwickler sich das Ziel gesetzt haben, einen kompatiblen Ersatz zu Matlab zu bereitzustellen. Hinsichtlich der Programmiersprache und vieler Toolboxen ist dies auch bereits gelungen. Zwar existiert kein brauchbarer Compiler für Octave, jedoch ist dies auch nicht wirklich notwendig, da ja das System an sich kostenfrei verteilt werden kann.

Abstriche müssen jedoch hinsichtlich der grafischen Darstellung gemacht werden. Während Matlab in der aktuellen Version sowohl ein Visualisierungspaket für mathematische Grafiken, als auch einen Oberflächendesigner für grafische Bedienelemente mitbringt, muß man sich bei Octave mit den bescheideneren Möglichkeiten des Programms GNU Plot begnügen oder auf die sich im Alphastadium befindliche alternative JHandles zurückgreifen.

Letzteres Paket zielt auf eine grafische Kompatibilität mit Matlab und könnte in Zukunft die derzeit noch bestehende Lücke beider Systeme schließen.

Python + SciPy

Mit der Softwareumgebung SciPy wird der rudimentäre Funktionsumfang von Matlab in Python abgebildet. Dies ermöglicht unter anderem den komfortablen Umgang mit Vektoren und Matrizen, sowie die statistische Datenanalyse. Die Kombination dieser Erweiterung mit den Eigenschaften Pythons als Multi-Purpose Programmiersprache kann in einigen (weniger speziellen) Fällen sogar für einen Vorteil gegenüber Matlab sorgen.

SciPy enthält mit Matplotlib außerdem ein Paket, mit dessen Hilfe sich die meisten zweidimensionalen und einige dreidimensionale Plots erzeugen lassen. Sollten die Möglichkeiten von Matplotlib jedoch nicht ausreichen, lässt sich Python schnell mit PyQtGraph erweitern. Da dieses zudem auf dem Framework Qt basiert, lassen sich so auch grafische Nutzerschnitstellen entwickeln, die denen der Konkurrenz in nichts nachstehen.

Der einzig wahre Nachteil der Kombination von Python und seinen diversen Paketen besteht in der fehlenden Kompatibilität zu bestehenden Matlab Skripten. Soll jedoch ein neues Projekt begonnen werden, in dem die Kompatibilität zu Matlab keine Rolle spielt, dann ist der Umstieg auf Python eine echte Überlegung wert.