- Matlab
-
Matlab
Matlab R2008a ScreenshotBasisdaten Entwickler The MathWorks Aktuelle Version 7.13 (R2011b)
(1. September 2011)Betriebssystem Linux, Unix, Windows, Mac OS X, Solaris Kategorie Mathematik, Regelungstechnik, Modellbildung Lizenz proprietär Deutschsprachig nein www.mathworks.de Matlab (Eigenschreibweise MATLAB in Großbuchstaben) ist eine kommerzielle 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.
Inhaltsverzeichnis
Entstehung
Matlab wurde Ende der 1970er Jahre von Cleve Moler an der Universität New Mexico entwickelt, um den Studenten die Fortran-Bibliotheken LINPACK und EISPACK für lineare Algebra von einer Kommandozeile aus ohne Programmier-Kenntnisse in Fortran zugänglich zu machen. Zusammen mit Jack Little und Steve Bangert gründete Moler 1984 The MathWorks und machte Matlab zu einem kommerziellen Produkt, das zusammen mit einer ersten Funktions-Sammlung, der Control System Toolbox, vor allem in der Regelungstechnik viele Anwender fand. Die akademische Bindung ist in der Entwicklung und im Vertrieb von relativ preisgünstigen Studenten-Versionen bis heute erhalten geblieben und war möglicherweise auch die Grundlage für den Erfolg der Software neben anderen numerischen Plattformen wie MatrixX.
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.
Struktur und Toolboxes
Programmiert wird unter Matlab in einer proprietären Programmiersprache, die auf der jeweiligen Maschine (Computer) interpretiert wird. 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 zum Beispiel Statistik, Signal- und Bildverarbeitung ist die Erstellung entsprechender Programme wesentlich einfacher möglich als z. B. unter C. Ein Beispiel ist die Symbolic Toolbox zur Nutzung symbolischer Ausdrücke im Gegensatz zu mit Zahlen belegten Variablen. Ferner gibt es Schnittstellen, um C-Code einzubinden, sowie einen Compiler, 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.
MATLAB bietet aus der Objektorientierten Programmierung die Konzepte von Klassen, Vererbung, Pakete, Call-by-value und Call-by-reference Aufrufen.[1]
Zusammenspiel mit anderen Sprachen
MATLAB kann Funktionen etwa in C oder Fortran aufrufen. Dazu wird eine sogenannte Wrapper-Funktion generiert, die die Übergabe von Parametern und Rückgabewerten steuert.[2]
Bibliotheken in Java, ActiveX oder .NET können direkt aus MATLAB aufgerufen werden. Viele Bibliotheken in MATLAB, wie beispielsweise jene für die Anbindung von XML oder SQL, sind als Wrapper um Java oder ActiveX aufgebaut. Über den MATLAB Compiler und sogenannte Builder-Addons kann auch die umgekehrte Richtung genutzt werden und man kann aus JAVA oder .NET heraus Funktionen und Code in MATLAB aufrufen.[3]
Als Alternative zur MuPAD-basierten Symbolic Math Toolbox (ebenfalls von MathWorks) kann MATLAB auch an Maple oder Mathematica angeschlossen werden.
Alternativen
Vom französischen INRIA (Institut National de Recherche en Informatique et en Automatique) stammt die Alternative Scilab/Xcos. Im Bereich der Freien Software gibt es mehrere Open-Source-Projekte, welche die Funktionalität von Matlab nachbilden und in Teilaspekten verbessern. Diese Projekte streben oft keine direkte Kompatibilität an; die Unterschiede zu Matlab variieren. Im Rahmen des GNU-Projektes ist GNU Octave entstanden, das in weiten Teilen Code-kompatibel zu MATLAB ist. Ein anderes ist das Softwarepaket FreeMat.
Zudem existieren zwei Alternativen in Scala, einer JVM-basierten Programmiersprache.
Die größeren Computeralgebrasysteme, die primär für symbolische Berechnungen gedacht sind, enthalten auch numerische Algorithmen; als Beispiele seien Maple und Mathematica genannt.
Literatur
- Anne Angermann, Michael Beuschel, Martin Rau, Ulrich Wohlfarth: MATLAB - Simulink - Stateflow. 7., aktualisierte Auflage. Oldenbourg, München 2011, ISBN 978-3-486-70585-0 (http://www.matlabbuch.de).
- Wolfgang Schweizer: MATLAB kompakt. 4. Auflage. Oldenbourg, München 2009, ISBN 978-3-486-59193-4.
Weblinks
- Website des Unternehmens The MathWorks, bietet neben Dokumentationen und Tutorials für Matlab und Simulink auch eine User-Community samt Newsgroup
- Artikel. In: Scholarpedia (englisch, inkl. Literaturangaben)
Einzelnachweise
- ↑ MATLAB Class Overview
- ↑ Dan Spielman (10. Februar 2004): Connecting C and Matlab. Yale University, Computer Science Department. Abgerufen am 20. Mai 2008.
- ↑ MathWorks: MATLAB Builder JA
Kategorien:- Numerische Mathematik
- Imperative Programmiersprache
- Skriptsprache
- Linux-Software
- Windows-Software
Wikimedia Foundation.