Matlab
MATLAB ist eine kommerzielle mathematische Software der Firma The MathWorks zur Lösung diverser mathematischer Probleme und zur grafischen Darstellung der Ergebnisse.
MATLAB rechnet hauptsächlich mit Matrizen, daher auch der Name (MATrix LABoratory).
Programmiert wird MATLAB in einer proprietären, plattformunabhängigen Programmiersprache, die auf der jeweiligen Maschine (Computer) interpretiert wird. Entwickelt wurde sie von Cleve Moler. Kleinere Programme können als so genannte Scripts oder Funktionen zu atomaren Einheiten verpackt werden, was das Erstellen von anwendungsorientierten Werkzeugkisten (Toolboxes) erlaubt. Viele solcher Pakete sind auch kommerziell erhältlich. Durch die vereinfachte, mathematisch orientierte Syntax der MATLAB-Skriptsprache und die umfangreichen Funktionsbibliotheken für Statistik, Signalverarbeitung, Bildverarbeitung u.v.m. ist die Erstellung entsprechender Programme wesentlich einfacher möglich als z.B. unter C. Ferner gibt es Schnittstellen, um C-Code einzubinden, sowie einen Übersetzer, mit dem aus einem Script unabhängig von MATLAB lauffähiger C-Code erstellt werden kann. Damit können mathematisch aufwendige Module für C-Projekte in der MATLAB-Umgebung entwickelt und getestet werden.
MATLAB dient im Gegensatz zu Computeralgebrasystemen nicht der symbolischen, sondern primär der zahlenmäßigen Lösung von Problemen. Die Software wird in Industrie und an Hochschulen vor allem für numerische Simulation eingesetzt.
Alternativen
Im Bereich der Freien Software gibt es mehrere Projekte, die versuchen die Funktionalität von MATLAB nachzubilden oder teilweise zu verbessern. Keines dieser Projekte strebt direkte Kompatibilität an, die Unterschiede zu MATLAB variieren sehr. Das RLab Projekt stellte bereits 2001 die Weiterentwicklung ein, ist aber weiterhin auf Sourceforge verfügbar. Teil des GNU Projekts ist GNU Octave. Vom französischem INRIA (Institut National de Recherche Informatique et en Automatique) stammt die erfolgreichste Alternative: Scilab. Ein neueres Projekt ist das an der Universität Eichstätt entwickelte Euler.
Die größeren Computeralgebrasysteme, die primär für symbolische Berechnungen gedacht sind, enthalten auch numerische Algorithmen, als Beispiele seien Maple und Mathematica genannt.
Da MATLAB keine statische Typkontrolle und keine ausdrücklichen Modulschnittstellen anbietet, lassen sich größere Projekte recht schwer warten. Um diesem Problem aus dem Weg zu gehen, bietet sich als weitere Alternative an, eine statisch typsichere Programmiersprache zu benutzen, und spezielle Bibliotheken einzubinden, z.B. GNU Scientific Library (GSL), LAPACK, FFTW oder PLPlot.
Weblinks
- The MathWorks, Hersteller von MATLAB
- GNU Octave, eine Opensource-Alternative zu MATLAB
- SciLab, Französisches OpenSource Projekt als Alternative zu MATLAB
- Euler - Deutsche Einführung
- RLab Homepage auf Sourceforge
- Kritik an MATLABs Skriptsprache
