Top-Fragen
Zeitleiste
Chat
Kontext

Matlab

kommerzielle Software zur Lösung mathematischer Probleme und zur Darstellung der Ergebnisse Aus Wikipedia, der freien Enzyklopädie

Matlab
Remove ads

Matlab (Eigenschreibweise: MATLAB) ist eine proprietäre Programmiersprache und Entwicklungsumgebung des Unternehmens MathWorks zur Lösung mathematischer Probleme und zur grafischen Darstellung der Ergebnisse. Matlab ist vor allem für numerische Berechnungen mithilfe von Matrizen ausgelegt, woher sich auch der Name ableitet: MATrix LABoratory.

Schnelle Fakten Basisdaten ...
Remove ads
Remove ads

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 Programmierkenntnisse 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 Funktionssammlung, 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 Studentenversionen bis heute erhalten geblieben und war möglicherweise auch die Grundlage für den Erfolg der Software neben anderen numerischen Plattformen wie MatrixX. Die von Matlab verwendeten Bibliotheken LINPACK und EISPACK wurden im Jahr 2000 durch die ebenfalls in Fortran geschriebenen freien Bibliotheken LAPACK und BLAS ersetzt.[6]

Remove ads

Einsatz

Matlab dient im Gegensatz zu Computeralgebrasystemen nicht der symbolischen, sondern vorrangig der numerischen (zahlenmäßigen) Lösung von Problemen. Die Software wird in der Industrie und an Hochschulen vor allem für numerische Simulation sowie Datenerfassung, Datenanalyse und -auswertung eingesetzt. Ein weiterer Anwendungsschwerpunkt sind die Wirtschaftswissenschaften, für die Mathworks Erweiterungspakete (z. B. Ökonometrie und Finanzmarkttheorie) bereitstellt.

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.

Remove ads

Struktur und Toolboxes

Zusammenfassung
Kontext

Programmiert wird unter Matlab in einer proprietären Programmiersprache, die auf der jeweiligen Maschine (Computer) interpretiert wird. Kleinere Programme können als sogenannte Skripte oder Funktionen zu geschlossenen 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 und Call-by-value-Aufrufen.[7]

Matlab besteht neben der Sprache Matlab aus einer grafischen Desktop-Umgebung, um verschiedene Ansichten wie Variablen, Plots und Code auf einen Blick sehen und viele Aufgaben durch Mausinteraktion und Tastaturkürzel bewältigen zu können.

Zusammenspiel mit anderen Sprachen

Matlab kann Funktionen etwa in C oder Fortran aufrufen. Dazu muss eine Adapter-Funktion (die sogenannte mexFunction) enthalten sein, die die Übergabe von Parametern und Rückgabewerten steuert.[8]

Bibliotheken in Java, ActiveX, .Net-Framework oder Python können direkt aus Matlab aufgerufen werden. Viele Bibliotheken in Matlab, wie beispielsweise jene für die Anbindung von XML oder SQL, sind als Adapter 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.[9]

Als Alternative zur MuPAD-basierten Symbolic Math Toolbox (ebenfalls von MathWorks) kann Matlab auch an Maple oder Mathematica angeschlossen werden.

Remove ads

Alternativen

Zusammenfassung
Kontext

Da Matlab als Sprache ab Version 6 auf den quelloffenen Bibliotheken LAPACK und BLAS basiert, existieren mittlerweile mehrere kostenlose Alternativen zu Matlab mit gleicher numerischer Qualität. Diese Alternativen fokussieren sich oft auf die Möglichkeiten als Programmiersprache. 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 quelloffene Projekte, welche die Funktionalität von Matlab nachbilden und einzelne Aspekte hervorheben. 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 codekompatibel zu Matlab ist. Ein anderes ist das Softwarepaket FreeMat.

Matplotlib und NumPy sind Python-Bibliotheken, die Python zur Matlab-Alternative ausbauen. Numpy basiert ebenfalls auf LAPACK und BLAS. Die Syntax von Python/numpy unterscheidet sich von Matlab, möchte jedoch vergleichbar einfach sein.[10]

Zwei weitere Alternativen sind Scala, eine JVM-basierte Programmiersprache, und ILNumerics, das auf .NET aufsetzt.

Eine neue Alternative zu Matlab ist die in der Syntax ähnliche Programmiersprache Julia.

Die größeren Computeralgebrasysteme, die in erster Linie für symbolische Berechnungen gedacht sind, enthalten auch numerische Algorithmen; als Beispiele seien Maple, Maxima und Mathematica genannt.

Remove ads

Versionsgeschichte

Weitere Informationen Version, Release ...
Remove ads

Literatur

Remove ads

Einzelnachweise

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads