MATLAB- MATLAB
Paradigma | Multiparadigma : funktional , zwingend , prozedural , objektorientiert , Array |
---|---|
Entworfen von | Cleve Moler |
Entwickler | MathWorks |
Erstmals erschienen | Ende der 1970er Jahre |
Stabile Version | |
Schreibdisziplin | dynamisch , schwach |
Dateinamenerweiterungen | .m, .p, .mex*, .mat, .fig, .mlx, .mlapp, .mltbx, .mlappinstall, .mlpkginstall |
Webseite | mathworks.com |
Beeinflusst von | |
Beeinflusst | |
|
Entwickler | MathWorks |
---|---|
Erstveröffentlichung | 1984 |
Stabile Version | |
Geschrieben in | C / C++ , MATLAB |
Betriebssystem | Windows , macOS und Linux |
Plattform | IA-32 , x86-64 |
Typ | Numerisches Rechnen |
Lizenz | Proprietäre kommerzielle Software |
Webseite | mathworks.com |
MATLAB (eine Abkürzung für "Matrix-Labor") ist eine proprietäre Programmiersprache mit mehreren Paradigmen und eine numerische Computerumgebung, die von MathWorks entwickelt wurde . MATLAB ermöglicht Matrixmanipulationen , das Plotten von Funktionen und Daten, die Implementierung von Algorithmen , die Erstellung von Benutzeroberflächen und die Anbindung an in anderen Sprachen geschriebene Programme.
Obwohl MATLAB in erster Linie für numerisches Rechnen gedacht ist, verwendet eine optionale Toolbox die MuPAD- Symbolik-Engine, die den Zugriff auf symbolische Computerfähigkeiten ermöglicht . Ein zusätzliches Paket, Simulink , fügt grafische Multi-Domain-Simulation und modellbasiertes Design für dynamische und eingebettete Systeme hinzu .
Im Jahr 2020 hat MATLAB mehr als 4 Millionen Benutzer weltweit. MATLAB-Anwender kommen aus unterschiedlichen Bereichen der Ingenieurwissenschaften , Wissenschaften und Wirtschaftswissenschaften .
Geschichte
Ursprünge
MATLAB wurde vom Mathematiker und Computerprogrammierer Cleve Moler erfunden . Die Idee zu MATLAB basierte auf seiner Doktorarbeit aus den 1960er Jahren. Moler wurde Mathematikprofessor an der University of New Mexico und begann als Hobby, MATLAB für seine Studenten zu entwickeln. Die erste lineare Algebra-Programmierung von MATLAB entwickelte er 1967 mit seinem ehemaligen Doktorvater George Forsythe . Darauf folgte 1971 der Fortran- Code für lineare Gleichungen.
Am Anfang (vor Version 1.0) war MATLAB "keine Programmiersprache; es war ein einfacher interaktiver Matrixrechner. Es gab keine Programme, keine Toolboxen, keine Grafiken. Und keine ODEs oder FFTs ."
Die erste frühe Version von MATLAB wurde Ende der 1970er Jahre fertiggestellt. Die Software wurde erstmals im Februar 1979 an der Naval Postgraduate School in Kalifornien der Öffentlichkeit zugänglich gemacht . Frühe Versionen von MATLAB waren einfache Matrixrechner mit 71 vorgefertigten Funktionen. Damals wurde MATLAB kostenlos an Universitäten verteilt. Moler hinterließ Kopien an Universitäten, die er besuchte, und die Software entwickelte eine starke Anhängerschaft in den mathematischen Fakultäten der Universitätscampus.
In den 1980er Jahren lernte Cleve Moler John N. Little kennen . Sie beschlossen, MATLAB in C neu zu programmieren und für die IBM-Desktops zu vermarkten, die damals Mainframe-Computer ersetzten. John Little und der Programmierer Steve Bangert haben MATLAB in C neu programmiert, die Programmiersprache MATLAB entwickelt und Funktionen für Toolboxen entwickelt.
Kommerzielle Entwicklung
MATLAB wurde erstmals 1984 auf der Automatic Control Conference in Las Vegas als kommerzielles Produkt veröffentlicht . MathWorks , Inc. wurde gegründet, um die Software zu entwickeln und die Programmiersprache MATLAB wurde veröffentlicht. Der erste MATLAB-Verkauf fand im folgenden Jahr statt, als Nick Trefethen vom Massachusetts Institute of Technology zehn Exemplare kaufte.
Bis Ende der 1980er Jahre wurden mehrere hundert Kopien von MATLAB an Universitäten für Studenten verkauft. Die Software wurde vor allem dank Toolboxen populär, die von Experten in verschiedenen Bereichen für die Durchführung mathematischer Spezialaufgaben erstellt wurden. Viele der Toolboxen wurden als Ergebnis von Stanford- Studenten entwickelt, die MATLAB im akademischen Bereich verwendeten und die Software dann in die Privatwirtschaft mitbrachten.
Im Laufe der Zeit wurde MATLAB für frühe Betriebssysteme von Digital Equipment Corporation , VAX , Sun Microsystems und für Unix-PCs neu geschrieben. Version 3 wurde 1987 veröffentlicht. Der erste MATLAB-Compiler wurde in den 1990er Jahren von Stephen C. Johnson entwickelt.
Im Jahr 2000 fügte MathWorks eine Fortran-basierte Bibliothek für lineare Algebra in MATLAB 6 hinzu und ersetzte die ursprünglichen LINPACK- und EISPACK-Unterroutinen der Software, die sich in C befanden. MATLABs Parallel Computing Toolbox wurde auf der Supercomputing Conference 2004 veröffentlicht und unterstützt Grafikprozessoren (GPUs). wurde 2010 hinzugefügt.
Neueste Geschichte
Mit Version 8 wurden 2012 besonders große Änderungen an der Software vorgenommen. Die Benutzeroberfläche wurde überarbeitet und die Funktionalität von Simulink erweitert. Bis 2016 hatte MATLAB mehrere technische Verbesserungen und Verbesserungen der Benutzeroberfläche eingeführt, darunter das MATLAB Live Editor-Notebook und andere Funktionen.
Syntax
Die MATLAB-Anwendung basiert auf der Programmiersprache MATLAB. Die gängige Verwendung der MATLAB-Anwendung beinhaltet die Verwendung des "Befehlsfensters" als interaktive mathematische Shell oder das Ausführen von Textdateien, die MATLAB-Code enthalten.
Variablen
Variablen werden mit dem Zuweisungsoperator definiert, =
. MATLAB ist eine schwach typisierte Programmiersprache, da Typen implizit konvertiert werden. Es handelt sich um eine abgeleitete typisierte Sprache, da Variablen ohne Angabe ihres Typs zugewiesen werden können, es sei denn, sie sollen als symbolische Objekte behandelt werden und ihr Typ kann sich ändern. Werte können aus Konstanten , aus Berechnungen mit Werten anderer Variablen oder aus der Ausgabe einer Funktion stammen. Zum Beispiel:
>> x = 17
x =
17
>> x = 'hat'
x =
hat
>> x = [3*4, pi/2]
x =
12.0000 1.5708
>> y = 3*sin(x)
y =
-1.6097 3.0000
Vektoren und Matrizen
Ein einfaches Array wird mit der Doppelpunkt-Syntax definiert: initiales :
Inkrement :
terminator . Zum Beispiel:
>> array = 1:2:9
array =
1 3 5 7 9
definiert eine Variable namens array
(oder weist einer vorhandenen Variablen mit dem Namen einen neuen Wert zu array
), die ein Array ist, das aus den Werten 1, 3, 5, 7 und 9 besteht. Das heißt, das Array beginnt bei 1 (dem Anfangswert ) , inkrementiert mit jedem Schritt vom vorherigen Wert um 2 (den Inkrementwert ) und stoppt, sobald er 9 (den Abschlusswert ) erreicht (oder zu überschreiten droht).
Der Inkrementwert kann in dieser Syntax (zusammen mit einem der Doppelpunkte) tatsächlich weggelassen werden, um einen Standardwert von 1 zu verwenden.
>> ari = 1:5
ari =
1 2 3 4 5
weist der Variablen namens ari
ein Array mit den Werten 1, 2, 3, 4 und 5 zu, da der Standardwert 1 als Inkrement verwendet wird.
Die Indizierung ist eins-basiert, was die übliche Konvention für Matrizen in der Mathematik ist, im Gegensatz zur nullbasierten Indizierung, die üblicherweise in anderen Programmiersprachen wie C, C++ und Java verwendet wird.
Matrizen können definiert werden, indem die Elemente einer Zeile durch Leerzeichen oder Komma getrennt werden und jede Zeile mit einem Semikolon abgeschlossen wird. Die Liste der Elemente sollte von eckigen Klammern umgeben sein []
. Klammern ()
werden verwendet, um auf Elemente und Subarrays zuzugreifen (sie werden auch verwendet, um eine Funktionsargumentliste zu bezeichnen).
>> A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
>> A(2,3)
ans =
11
Sätze von Indizes können durch Ausdrücke wie angegeben werden 2:4
, die zu ausgewertet werden [2, 3, 4]
. Eine Submatrix aus den Zeilen 2 bis 4 und den Spalten 3 bis 4 kann beispielsweise wie folgt geschrieben werden:
>> A(2:4,3:4)
ans =
11 8
7 12
14 1
Eine quadratische Identitätsmatrix der Größe n kann mit der Funktion eye
, und beliebig große Matrizen mit Nullen bzw. Einsen mit den Funktionen zeros
und erzeugt werden ones
.
>> eye(3,3)
ans =
1 0 0
0 1 0
0 0 1
>> zeros(2,3)
ans =
0 0 0
0 0 0
>> ones(2,3)
ans =
1 1 1
1 1 1
Das Transponieren eines Vektors oder einer Matrix erfolgt entweder durch die Funktion transpose
oder durch Hinzufügen von Punkt-Prime nach der Matrix (ohne den Punkt führt Prime für komplexe Arrays eine konjugierte Transponierung durch):
>> A = [1 ; 2], B = A.', C = transpose(A)
A =
1
2
B =
1 2
C =
1 2
>> D = [0 3 ; 1 5], D.'
D =
0 3
1 5
ans =
0 1
3 5
Die meisten Funktionen akzeptieren Arrays als Eingabe und arbeiten elementweise mit jedem Element. Zum Beispiel mod(2*J,n)
wird jedes Element in J mit 2 multipliziert und dann jedes Element modulo n reduziert . MATLAB enthält Standard- for
und while
Schleifen, aber (wie in anderen ähnlichen Anwendungen wie R ) wird die Verwendung der vektorisierten Notation empfohlen und ist oft schneller auszuführen. Der folgende Code, ein Auszug aus der Funktion magic.m , erzeugt ein magisches Quadrat M für ungerade Werte von n (die MATLAB-Funktion meshgrid
wird hier verwendet, um quadratische Matrizen I und J mit 1:n zu generieren ):
[J,I] = meshgrid(1:n);
A = mod(I + J - (n + 3) / 2, n);
B = mod(I + 2 * J - 2, n);
M = n * A + B + 1;
Strukturen
MATLAB unterstützt Strukturdatentypen. Da alle Variablen in MATLAB Arrays sind, ist ein passenderer Name "Struktur-Array", wobei jedes Element des Arrays die gleichen Feldnamen hat. Darüber hinaus unterstützt MATLAB dynamische Feldnamen (Feldsuche nach Namen, Feldmanipulationen usw.).
Funktionen
Beim Erstellen einer MATLAB-Funktion sollte der Name der Datei mit dem Namen der ersten Funktion in der Datei übereinstimmen. Gültige Funktionsnamen beginnen mit einem alphabetischen Zeichen und können Buchstaben, Zahlen oder Unterstriche enthalten. Bei Variablen und Funktionen muss die Groß-/Kleinschreibung beachtet werden.
Funktionsgriffe
MATLAB unterstützt Elemente des Lambda-Kalküls durch die Einführung von Funktions-Handles oder Funktionsreferenzen, die entweder in .m-Dateien oder anonymen/verschachtelten Funktionen implementiert sind.
Klassen und objektorientierte Programmierung
MATLAB unterstützt objektorientierte Programmierung, einschließlich Klassen, Vererbung , virtueller Dispatch, Pakete, Pass-by-Value- Semantik und Pass-by-Referenz- Semantik. Die Syntax und die Aufrufkonventionen unterscheiden sich jedoch erheblich von anderen Sprachen. MATLAB hat Wertklassen und Referenzklassen, je nachdem, ob die Klasse ein Handle als Superklasse hat (für Referenzklassen) oder nicht (für Wertklassen).
Das Verhalten von Methodenaufrufen unterscheidet sich zwischen Wert- und Referenzklassen. Beispiel: Aufruf einer Methode:
object.method();
kann jedes Element von object nur ändern, wenn object eine Instanz einer Referenzklasse ist, andernfalls müssen Wertklassenmethoden eine neue Instanz zurückgeben, wenn sie das Objekt ändern müssen.
Ein Beispiel für eine einfache Klasse ist unten aufgeführt:
classdef Hello
methods
function greet(obj)
disp('Hello!')
end
end
end
Wenn es in eine Datei mit dem Namen abgelegt wird hello.m
, kann dies mit den folgenden Befehlen ausgeführt werden:
>> x = Hello();
>> x.greet();
Hello!
Programmierung von Grafiken und grafischer Benutzeroberfläche
MATLAB verfügt über eng integrierte Graph-Plotting-Funktionen. Zum Beispiel kann die Funktion Auftragung kann verwendet werden , eine grafische Darstellung von zwei Vektoren zu erzeugen , x und y . Der Code:
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
ergibt die folgende Figur der Sinusfunktion :
MATLAB unterstützt auch dreidimensionale Grafiken:
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
mesh(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel('{\bfx}')
ylabel('{\bfy}')
zlabel('{\bfsinc} ({\bfR})')
hidden off
|
[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10);
f = sinc(sqrt((X/pi).^2+(Y/pi).^2));
surf(X,Y,f);
axis([-10 10 -10 10 -0.3 1])
xlabel('{\bfx}')
ylabel('{\bfy}')
zlabel('{\bfsinc} ({\bfR})')
|
|
Dieser Code erzeugt ein Drahtmodell- 3D-Diagramm der zweidimensionalen unnormalisierten sinc-Funktion : | Dieser Code erzeugt ein Oberflächen- 3D-Diagramm der zweidimensionalen unnormierten sinc-Funktion : | |
MATLAB unterstützt die Entwicklung von Anwendungen mit grafischer Benutzeroberfläche (GUI). Benutzeroberflächen können entweder programmgesteuert oder mithilfe von visuellen Designumgebungen wie GUIDE und App Designer generiert werden .
MATLAB und andere Sprachen
MATLAB kann Funktionen und Unterprogramme aufrufen, die in den Programmiersprachen C oder Fortran geschrieben sind . Es wird eine Wrapper-Funktion erstellt, die die Übergabe und Rückgabe von MATLAB-Datentypen ermöglicht. MEX-Dateien (MATLAB Executables) sind die dynamisch ladbaren Objektdateien, die durch Kompilieren solcher Funktionen erstellt werden. Seit 2014 kam eine zunehmende Zwei-Wege-Schnittstelle mit Python hinzu.
In Perl , Java , ActiveX oder .NET geschriebene Bibliotheken können direkt aus MATLAB aufgerufen werden, und viele MATLAB-Bibliotheken (zum Beispiel XML- oder SQL- Unterstützung) sind als Wrapper um Java- oder ActiveX-Bibliotheken implementiert. Der Aufruf von MATLAB aus Java ist komplizierter, kann aber mit einer MATLAB-Toolbox erfolgen, die separat von MathWorks verkauft wird , oder mit einem undokumentierten Mechanismus namens JMI (Java-to-MATLAB-Schnittstelle) (der nicht mit den nicht verwandten Java-Metadaten verwechselt werden sollte) Schnittstelle , die auch JMI genannt wird). Die offizielle MATLAB-API für Java wurde 2016 hinzugefügt.
Als Alternative zur MuPAD- basierten Symbolic Math Toolbox von MathWorks kann MATLAB mit Maple oder Mathematica verbunden werden .
Es gibt auch Bibliotheken zum Importieren und Exportieren von MathML .
Während MATLAB das beliebteste kommerzielle Softwarepaket für numerische Berechnungen ist, stehen andere Alternativen zur Verfügung, wie die Open-Source-Rechensprache GNU Octave , die Statistikprogrammiersprache R , die Rechenumgebung Maple und die Rechensprache Julia .
Rückzug aus China
Im Jahr 2020 berichteten chinesische Staatsmedien, dass MATLAB aufgrund von US-Sanktionen Dienste von zwei chinesischen Universitäten eingestellt hatte, und sagten, dass dies durch den verstärkten Einsatz von Open-Source-Alternativen und die Entwicklung inländischer Alternativen reagiert werde.
Veröffentlichungsverlauf
MATLAB wird zweimal im Jahr aktualisiert. Neben neuen Funktionen und anderen Verbesserungen enthält jede Version neue Fehlerbehebungen und kleinere Änderungen.
Ausführung | Release-Name | Nummer | Gebündelte JVM | Jahr | Veröffentlichungsdatum | Anmerkungen |
---|---|---|---|---|---|---|
MATLAB 1.0 | 1984 | |||||
MATLAB 2 | 1986 | |||||
MATLAB 3 | 1987 | Einführung der ersten Matlab-Toolbox; Unterstützung für gewöhnliche Differentialgleichungen hinzugefügt. | ||||
MATLAB 3.5 | 1990 | Läuft unter DOS , benötigte aber mindestens einen 386er Prozessor; brauchte einen mathematischen Coprozessor . | ||||
MATLAB 4 | 1992 | Läuft auf Windows 3.1x und Macintosh. | ||||
MATLAB 4.2c | 1994 | Läuft unter Windows 3.1x; brauchte einen mathematischen Coprozessor . | ||||
MATLAB 5.0 | Band 8 | 1996 | Dezember 1996 | Einheitliche Releases auf allen Plattformen. | ||
MATLAB 5.1 | Band 9 | 1997 | Mai 1997 | |||
MATLAB 5.1.1 | R9.1 | |||||
MATLAB 5.2 | R10 | 1998 | März 1998 | Letzte Version, die auf klassischen Macs funktioniert. | ||
MATLAB 5.2.1 | R10.1 | |||||
MATLAB 5.3 | R11 | 1999 | Januar 1999 | |||
MATLAB 5.3.1 | R11.1 | November 1999 | ||||
MATLAB 6.0 | R12 | 12 | 1.1.8 | 2000 | November 2000 | Erstes Release mit gebündelter Java Virtual Machine (JVM). |
MATLAB 6.1 | R12.1 | 1.3.0 | 2001 | Juni 2001 | Letzte Version für Windows 95. | |
MATLAB 6.5 | R13 | 13 | 1.3.1 | 2002 | Juli 2002 | |
MATLAB 6.5.1 | R13SP1 | 2003 | ||||
MATLAB 6.5.2 | R13SP2 | Letzte Version für Windows 98, Windows ME, IBM/AIX, Alpha/TRU64 und SGI/IRIX. | ||||
MATLAB 7 | R14 | 14 | 1.4.2 | 2004 | Juni 2004 | Einführung anonymer und verschachtelter Funktionen; für Mac (unter Mac OS X) wieder eingeführt. |
MATLAB 7.0.1 | R14SP1 | Oktober 2004 | ||||
R14SP1+ | 2004 | November 2004 | Einführung der Parallel Computing Toolbox. | |||
MATLAB 7.0.4 | R14SP2 | 1.5.0 | 2005 | 7. März 2005 | Unterstützung für speicherabgebildete Dateien hinzugefügt. | |
MATLAB 7.1 | R14SP3 | 1.5.0 | 1. September 2005 | Erste verfügbare 64-Bit-Version für Windows XP 64-Bit. | ||
MATLAB 7.2 | R2006a | fünfzehn | 1.5.0 | 2006 | 1. März 2006 | |
MATLAB 7.3 | R2006b | 16 | 1.5.0 | 1. September 2006 | HDF5- basierte MAT-Dateiunterstützung hinzugefügt. | |
MATLAB 7.4 | R2007a | 17 | 1.5.0_07 | 2007 | 1. März 2007 | Neue bsxfun Funktion hinzugefügt, um eine Element-für-Element-Binäroperation mit aktivierter Singleton-Erweiterung anzuwenden.
|
MATLAB 7,5 | R2007b | 18 | 1.6.0 | 1. September 2007 | Letzte Version für Windows 2000 und PowerPC Mac; Lizenzserver-Unterstützung für Windows Vista; neues internes Format für P-Code. | |
MATLAB 7,6 | R2008a | 19 | 1.6.0 | 2008 | 1. März 2008 | Wesentliche Verbesserungen der objektorientierten Programmierfähigkeiten mit einer neuen Klassendefinitionssyntax; Fähigkeit, Namespaces mit Paketen zu verwalten. |
MATLAB 7.7 | R2008b | 20 | 1.6.0_04 | 9. Oktober 2008 | Letztes Release für Prozessoren ohne SSE2; Neue Kartendatenstruktur; Upgrades auf Zufallszahlengeneratoren. | |
MATLAB 7.8 | R2009a | 21 | 1.6.0_04 | 2009 | 6. März 2009 | Erste Version für Microsoft 32-Bit & 64-Bit Windows 7; neue externe Schnittstelle zu .NET Framework. |
MATLAB 7.9 | R2009b | 22 | 1.6.0_12 | 4. September 2009 | Erste Version für Intel 64-Bit-Mac und letzte für Solaris SPARC ; neue Verwendung für den Tilde-Operator ( ~ ), um Argumente in Funktionsaufrufen zu ignorieren.
|
|
MATLAB 7.9.1 | R2009bSP1 | 1.6.0_12 | 2010 | 1. April 2010 | Fehlerbehebung. | |
MATLAB 7.10 | R2010a | 23 | 1.6.0_12 | 5. März 2010 | Letzte Version für Intel 32-Bit-Mac . | |
MATLAB 7.11 | R2010b | 24 | 1.6.0_17 | 3. September 2010 | Unterstützung für Aufzählungen hinzugefügt; zusätzliche Funktionen zum Ausführen von MATLAB-Code auf NVIDIA CUDA-basierten GPUs. | |
MATLAB 7.11.1 | R2010bSP1 | 1.6.0_17 | 2011 | 17. März 2011 | Fehlerbehebungen und Updates. | |
MATLAB 7.11.2 | R2010bSP2 | 1.6.0_17 | 5. April 2012 | Fehlerbehebung. | ||
MATLAB 7.12 | R2011a | 25 | 1.6.0_17 | 8. April 2011 | Neue rng Funktion zur Steuerung der Zufallszahlengenerierung.
|
|
MATLAB 7.13 | R2011b | 26 | 1.6.0_17 | 1. September 2011 | Möglichkeit hinzugefügt, auf Teile von Variablen direkt in MAT-Dateien zuzugreifen/zu ändern, ohne in den Speicher zu laden; die maximale Anzahl lokaler Mitarbeiter mit der Parallel Computing Toolbox von 8 auf 12 erhöht. | |
MATLAB 7.14 | R2012a | 27 | 1.6.0_17 | 2012 | 1. März 2012 | Letzte Version mit 32-Bit-Linux-Unterstützung. |
MATLAB 8 | R2012b | 28 | 1.6.0_17 | 11. September 2012 | Erste Version mit Toolstrip- Schnittstelle; Einführung von MATLAB-Apps; neu gestaltetes Dokumentationssystem. | |
MATLAB 8.1 | R2013a | 29 | 1.6.0_17 | 2013 | 7. März 2013 | Neues Unit-Testing- Framework. |
MATLAB 8.2 | R2013b | 30 | 1.7.0_11 | 6. September 2013 | Eingebaute Java Runtime Environment (JRE), aktualisiert auf Version 7; Neuer Tabellendatentyp. | |
MATLAB 8.3 | R2014a | 31 | 1.7.0_11 | 2014 | 7. März 2014 | Vereinfachtes Compiler-Setup zum Erstellen von MEX-Dateien; Unterstützung von USB-Webcams im Kern von MATLAB; Anzahl der lokalen Mitarbeiter ist mit der Parallel Computing Toolbox nicht mehr auf 12 begrenzt. |
MATLAB 8.4 | R2014b | 32 | 1.7.0_11 | 3. Oktober 2014 | Neue klassenbasierte Grafik-Engine (auch bekannt als HG2); Tabulatorfunktion in der GUI; verbesserte Benutzer-Toolbox-Paketierung und Hilfedateien; neue Objekte für Zeit-Datum-Manipulationen; Git - Subversion- Integration in IDE; Big-Data- Fähigkeiten mit MapReduce (skalierbar auf Hadoop ); neues py Paket zur Verwendung von Python aus MATLAB heraus; neue Engine-Schnittstelle zum Aufrufen von MATLAB aus Python; mehrere neue und verbesserte Funktionen: webread (RESTful Web Services mit JSON/XML-Unterstützung), tcpclient (Socket-basierte Verbindungen), histcounts , histogram , animatedline , und andere.
|
|
MATLAB 8.5 | R2015a | 33 | 1.7.0_60 | 2015 | 5. März 2015 | |
MATLAB 8.5 | R2015aSP1 | 1.7.0_60 | 14. Oktober 2015 | Letzte Version, die Windows XP und Windows Vista unterstützt. | ||
MATLAB 8,6 | R2015b | 34 | 1.7.0_60 | 3. September 2015 | Neue MATLAB-Ausführungs-Engine (auch bekannt als LXE); graph und digraph Klassen zum Arbeiten mit Graphen und Netzwerken; MinGW-w64 als unterstützter Compiler unter Windows; letzte Version mit 32-Bit-Unterstützung.
|
|
MATLAB 9.0 | R2016a | 35 | 1.7.0_60 | 2016 | 3. März 2016 | Veröffentlichte Live-Skripte: interaktive Dokumente, die Text, Code und Ausgabe kombinieren (im Stil der Literate-Programmierung ); Einführung von App Designer: eine neue Entwicklungsumgebung zum Erstellen von Apps (mit neuartigen UI-Figuren, Achsen und Komponenten); Unterbrechen Sie die Ausführung laufender Programme mit einer Pause-Schaltfläche. |
MATLAB 9.1 | R2016b | 36 | 1.7.0_60 | 15. September 2016 | Möglichkeit hinzugefügt, lokale Funktionen in Skripten zu definieren; automatische Erweiterung von Dimensionen (bisher durch expliziten Aufruf von bereitgestellt bsxfun ); tall Arrays für Big Data ; neuer string Typ; neue Funktionen zum Kodieren/Dekodieren von JSON ; offizielle MATLAB Engine-API für Java.
|
|
MATLAB 9.2 | R2017a | 37 | 1.7.0_60 | 2017 | 9. März 2017 | MATLAB Online veröffentlicht: Cloud-basierter MATLAB-Desktop, auf den über einen Webbrowser zugegriffen wird; Zeichenfolgen in doppelten Anführungszeichen; neue memoize Funktion zum Speichern ; erweiterte Objekteigenschaften-Validierung; Mocking- Framework für Unit-Tests; MEX zielt standardmäßig auf 64-Bit ab; neue heatmap Funktion zum Erstellen von Heatmap-Diagrammen .
|
MATLAB 9.3 | R2017b | 38 | 1.8.0_121 | 21. September 2017 | Einführung eines GPU-Coders, der MATLAB-Code in CUDA-Code für Nvidia umwandelt. | |
MATLAB 9.4 | R2018a | 39 | 1.8.0_144 | 2018 | 15. März 2018 | Verbesserungen am Live-Editor; Einführung der C++ MEX-Schnittstelle; Möglichkeit, die Tab-Vervollständigung anzupassen; Web Applikationen. |
MATLAB 9.5 | R2018b | 40 | 1.8.0_152 | 12. September 2018 | Unterstützung für Cloud-Anbieter wie Amazon Web Services hinzugefügt; Toolbox für neuronale Netzwerke durch Deep Learning Toolbox ersetzt. | |
MATLAB 9,6 | R2019a | 41 | 1.8.0_181 | 2019 | 20. März 2019 | Veröffentlichte MATLAB-Projekte; State-Machine-Programmierung mit Stateflow hinzugefügt. |
MATLAB 9.7 | R2019b | 42 | 1.8.0_202 | 11. September 2019 | Einführung des Blocks „Argumente“ zur Eingabevalidierung; Aktivieren der Punktindexierung in Funktionsausgaben; Einführung von Live-Editor-Aufgaben. | |
MATLAB 9.8 | R2020a | 43 | 2020 | 19. März 2020 | Entfernen des Mupad-Notizbuchs; verbesserte Unterstützung für AMD-CPUs (AVX2); Standard-UTF-8-Codierung für MATLAB-Codedateien; Möglichkeit, mit Simulink eigenständige Anwendungen zu erstellen. | |
MATLAB 9.9 | R2020b | 44 | 17. September 2020 | Verbesserte Unterstützung für AMD-CPUs (AVX2); Online-Version von Simulink. | ||
MATLAB 9.10 | R2021a | 45 | 2021 | 11. März 2021 | ||
MATLAB 9.11 | R2021b | 22.09.2021 |
Die Nummer (oder Versionsnummer) ist die Version, die vom Concurrent License Manager-Programm FLEXlm gemeldet wird . Eine vollständige Liste der Änderungen von MATLAB und offiziellen Toolboxen finden Sie in den MATLAB-Versionshinweisen.
Siehe auch
Anmerkungen
Weiterlesen
- Gilat, Amos (2004). MATLAB: Eine Einführung mit Anwendungen 2. Auflage . John Wiley & Söhne. ISBN 978-0-471-69420-5.
- Quarteroni, Alfio; Saleri, Fausto (2006). Wissenschaftliches Rechnen mit MATLAB und Octave . Springer. ISBN 978-3-540-32612-0.
- Ferreira, AJM (2009). MATLAB-Codes für die Finite-Elemente-Analyse . Springer. ISBN 978-1-4020-9199-5.
- Lynch, Stephen (2004). Dynamische Systeme mit Anwendungen mit MATLAB . Birkhäuser. ISBN 978-0-8176-4321-8.