Zum Inhalt springen

Matlab

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. April 2008 um 21:25 Uhr durch Robots (Diskussion | Beiträge) (Alternativen). Sie kann sich erheblich von der aktuellen Version unterscheiden.
MATLAB

Basisdaten

Entwickler The MathWorks
Erscheinungsjahr 1984
Aktuelle Version 7.6 (R2008a)
(1. März 2008)
Betriebssystem Linux, Unix, Windows, Mac OS X, Solaris
Programmier­sprache C, C++, Fortran, Java
Kategorie Mathematik, Regelungstechnik, Modellbildung
Lizenz proprietär
deutschsprachig nein
www.mathworks.de

MATLAB ist eine kommerzielle, plattformunabhängige Software des Unternehmens The MathWorks, Inc. zur Lösung mathematischer Probleme und zur grafischen Darstellung der Ergebnisse. MATLAB ist primär für numerische Berechnungen mithilfe von Matrizen ausgelegt, woher sich auch der Name ableitet: MATrix LABoratory.

Einsatz

MATLAB dient im Gegensatz zu Computeralgebrasystemen nicht der symbolischen, sondern primär der numerischen (zahlenmäßigen) Lösung von Problemen. Die Software wird in Industrie und an Hochschulen vor allem für numerische Simulation sowie Datenerfassung, Datenanalyse und -auswertung eingesetzt.

MATLAB ist auch die Basis für Simulink, ein anderes Produkt des Unternehmens The MathWorks, das zur zeitgesteuerten Simulation dient, und Stateflow, das für die ereignisorientierte Simulation benutzt wird, sowie für zahlreiche anwendungs- und domänenspezifische Erweiterungen.

Toolboxes

Programmiert wird unter MATLAB in einer proprietären Programmiersprache, die auf der jeweiligen Maschine (Computer) interpretiert wird. Entwickelt wurde sie von Cleve Moler und Jack Little. Kleinere Programme können als so genannte Skripts 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 Skript 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.

Alternativen

Vom französischem INRIA (Institut National de Recherche en Informatique et en Automatique) stammt die Alternative Scilab/Scicos. Im Bereich der Freien Software gibt es mehrere Open-Source-Projekte, die versuchen, die Funktionalität von MATLAB nachzubilden und zu verbessern. Keines dieser Projekte strebt direkte Kompatibilität an; die Unterschiede zu MATLAB variieren teils sehr. Im Rahmen des GNU-Projektes ist GNU Octave entstanden. Das RLab-Projekt stellte bereits 2001 die Weiterentwicklung ein, ist aber weiterhin auf Sourceforge verfügbar. Ein weiteres Projekt ist das an der Universität Eichstätt entwickelte Euler oder das Softwarepaket FreeMat, das syntaktisch dem weitaus bekannteren Matlab relativ nahe kommt und zur Zeit auch ständig weiterentwickelt wird.

Die größeren Computer-Algebra-Systeme, die primär für symbolische Berechnungen gedacht sind, enthalten auch numerische Algorithmen; als Beispiele seien Maxima, 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, UMFPACK, FFTW oder PLPlot.

Literatur

  • Frieder Grupp, Florian Grupp: MATLAB 7 für Ingenieure. Grundlagen und Programmierbeispiele. München, 2006. ISBN 978-3-486-57925-3
  • Josef Hoffmann: Matlab und Simulink: Beispielorientierte Einführung in die Simulation dynamischer Systeme, Addison-Wesley, 1998 ISBN 3-8273-1077-6