Neuheiten in MATLAB

Neue Tools zur Vorverarbeitung und Analyse von Daten, zum Verfassen von Skripten und Algorithmen, zur Erstellung von Apps und zur teambasierten Softwareentwicklung.

Und übrigens: MATLAB ist schneller als je zuvor. Sehen Sie sich das ruhig einmal genauer an.

Umgebung

NEU Steuerelemente im Live Editor: Hinzufügen von numerischen Drehfeldern (Spinner-Elementen) zum Erhöhen und Verringern von Variablenwerten in Live-Skripten (R2022b); Erstellen dynamischer Steuerelemente durch Verknüpfen von Variablen mit Werten von Live-Editor-Steuerelementen (R2021a); und Festlegen von Standardwerten (R2021b)

NEU Live-Editor-Tasks: Festlegen des Codes, der ausgeführt werden soll, wenn sich der Wert eines Steuerelements ändert (R2022b); Entwicklung eigener Live-Editor-Tasks zur Verwendung in Live-Skripten (R2022a)

NEU Themes in MATLAB Online: Anpassen der Farben des MATLAB-Desktops an das Farbschema des jeweiligen Betriebssystems (R2022b)

Editor-Support für Python: Darstellung und Bearbeitung von Python-Dateien mit Hervorhebung der Syntax, automatischer Einrückung und Abgleich von Trennzeichen (R2022a)

Farben im Live Editor: Änderung der Text- und Hintergrundfarben von Live-Skripten und Funktionen (R2022a)

Export mit dem Live Editor: Programmgesteuerter Export von Live-Skripten und Funktionen mithilfe der Funktion export (R2022a)

Editor: Code-Refactoring und Blockbearbeitung, verbesserte Code-Vorschläge, automatische Code-Vervollständigung und Steuerelemente für Inline-Debugging (R2021b)

Animationen im Live Editor: Verwendung einer interaktiven Schnittstelle zur Steuerung von Animationen (R2021a) und deren Export in Filme oder animierte GIFs (R2021b)

Sprache und Programmierung

Neue Datentypen und Sprachkonstrukte zum Schreiben schnelleren, verständlicheren und besser wartbaren Codes. 

NEU dictionary-Objekt: Zuordnung eindeutiger Schlüssel zu Werten zum schnellen Nachschlagen (R2022b)

NEU Code Analyzer-App: Identifizieren und Untersuchen von Problemen in der eigenen Code-Basis (R2022b)

NEU Validierung der Ausgabeargumente: Validieren von Ausgabeargumenten in Funktionen und Klassenmethoden (R2022b)

Validierung von Funktions-Eingabeargumenten: Deklarieren von Funktions-Eingabeargumenten zur Vereinfachung der Prüfung auf Eingabefehler (R2020b, R2019b)

name=value-Syntax: Verwendung der name=value-Syntax für jede Funktion mithilfe von name-value-Argumenten (R2021a)

pcode-Funktion: Erstellen von P-Code-Dateien mit erweiterter Obfuskation (R2022a)

backgroundPool: Asynchrones Ausführen einer Funktion ohne Blockierung der Eingabeaufforderung von MATLAB aus (R2021b); Abfrage von anstehenden und laufenden Futures (Funktionen, deren Ausführung geplant ist) sowie Status des Hintergrundpools (R2022a)

Modulare Indizierung: Individualisierung von Klassenindizierungs-Operationen mithilfe neuer Superklassen (R2021b)

Class Diagram Viewer: Erzeugung grafischer Klassendiagramme zur Untersuchung von Klassendetails und zum Austausch von Designs (R2021a)

Der Code zeigt Funktionen und Argumente für die Suche nach einem Bild eines Balls.

Beispiel für die Validierung von Funktionsargumenten mithilfe eines arguments-Block.

Datenimport und -analyse

Zugriff auf sowie Organisation, Bereinigung und Analyse von Daten aus unterschiedlichen Quellen.

NEU Data Cleaner-App: Interaktives Erkennen und Bereinigen unübersichtlicher Daten in Timetables (R2022a) und Tabellen (R2022b); Anzeigen von Sparklines und zusammenfassenden Statistiken (R2022b)

NEU Datenanalyse: Neue und aktualisierte Funktionen für die Analyse von Daten, einschließlich trenddecomp, detrend, mape, rmse und isuniform (R2022b, R2021b)

NEU Variablen-Editor in MATLAB Online: Anzeigen von Sparklines und zusammenfassenden Statistiken für tabellarische Daten, Navigieren in Variablen mit den Dialogfeldern "Find" und "Go To", interaktives Speichern logischer Indizes der Datenauswahl und Ersetzen tabellarischer Daten durch leere Arrays (R2022b)

NEU Parallelverarbeitung: Verwendung von einfachen Dateieingabe- und -ausgabeoperationen in threadbasierten Umgebungen (R2022b)

Funktionen für die Daten-Vorverarbeitung: Anhängen von transformierten Variablen an Eingabedaten (R2022a)

Daten-Vorverarbeitung in Live-Editor-Tasks: Hinzufügen von einfachen Point-and-Click-Schnittstellen zu einem Live-Skript, um eine bestimmte Reihe von Prozessen durchzuführen, beispielsweise das Entfernen von fehlenden Werten und Ausreißern, Glätten und Normalisieren sowie Gruppieren und Verbinden (R2019b-R2021b)

HDF5: Unterstützung für HDF5 Version 1.10 einschließlich Single-Writer/Multiple-Reader (SWMR), Virtual Dataset (VDS) und Metadata Cache Fine-Tuning (R2021b)

NetCDF: Unterstützung für NetCDF Version 4.7.4, einschließlich Lesen und Schreiben von NC_STRING-Daten (R2021b); Möglichkeit des Auslesens von Remote-Datensätzen im Byte-Bereich (R2022a)

Vorverarbeitung der Daten mithilfe des Live-Editor-Tasks Clean Outlier Data.

Big Data

Erweiterung von Analysen auf Big Data, ohne große Änderungen vorzunehmen.

NEU Parquet-Dateien: Bedingte Filter (Predicate Pushdown) mit rowfilter zur Limitierung des importierten Daten-Volumens; Unterstützung für das Lesen und Schreiben von Zeilengruppen und verschachtelten Datenstrukturen (R2022b, R2022a)

Datastore Performance: Mit dem FileSet -Objekt die Leistung von Datastores erhöhen (R2021b)

Datastores: Lesen aller Daten aus einem Datastore mithilfe der Parallelverarbeitung (R2021a); Kombinieren und Transformieren von Datastores (R2019a)

In Datastores schreiben: Schreiben großer Datensammlungen aus Datastores auf die Festplatte für Daten-Engineering und dateibasierte Workflows (R2020a)

Tall-Arrays: Mehr Funktionen für das Arbeiten mit Tall-Arrays, darunter:

  • groupfilter und matches (R2020a)
  • setdiff, xcorr und outerjoin (R2019b)
  • groupcounts, intersect und svd (R2019a)
Die farbige Tabelle zeigt die Flüge der Fluggesellschaften nach Monat und Jahr zwischen 1987 und 2008.

Tall-Arrays arbeiten mit Daten, die mehr Zeilen haben, als in den Speicher passen.

Mathematik

Mathematische Funktionen bieten eine Reihe von numerischen Berechnungsmethoden für die Analyse von Daten, die Entwicklung von Algorithmen und die Erstellung von Modellen.

NEU N-D-Array-Mathematik: Kalkulation von Normen (pagenorm), Lösen linearer Gleichungen (pagemldivide, pagemrdivide), Berechnung von Matrixinversen (pageinv) und Durchführung von Singulärwertzerlegung (pagesvd) auf Seiten von N-D-Arrays (R2022a, R2021b)

NEU Codegenerierung für mathematische Funktionen: Generierung von C Code (mithilfe des MATLAB Coders) für mehrere Funktionen, darunter ode15s, shortestpath und nearest (R2022b), integral und interpft (R2022a) sowie digraph, graph, hess, ode78 und ode89 (R2021b)

tensorprod-Funktion: Berechnung von Tensorprodukten zwischen zwei Feldern (R2022a)

ode78- und ode89-Funktionen: Runge-Kutta-Solver höherer Ordnung für gewöhnliche Differentialgleichungen (R2021b)

Graphen-Algorithmen: Berechnung aller Wege, aller Zyklen und der Zyklusbasis (R2021a)

Live-Editor-Task optimieren: Interaktives Lösen von Optimierungsproblemen (R2020b)

Das Optimierungsfenster zeigt Optionen zur Minimierung einer Funktion mit oder ohne Beschränkungen.

Mit der Funktion Optimize von Live Editor können Sie interaktiv Optimierungsprobleme definieren und lösen.

Datenvisualisierung

Darstellen Ihrer Daten mit neuen Plotting-Funktionen und Anpassungsmöglichkeiten.

NEU Grafische Darstellung von Tabellendaten: Direkte Übermittlung von Tabellen an Stamm-, Stufen- und Geodiagramme (R2022b), an plot, plot3, polarplot und andere Linienplot-Funktionen (R2022a) sowie an Streudiagramme, Blasendiagramme und Schwarmdiagramme (R2021b)

NEU Grafik-Code in MATLAB Online: Generieren von Code beim Bearbeiten von Grafikobjekteigenschaften (R2022b)

NEU Diagrammoptionen in MATLAB Online: Individuelle Anpassung der Erstellung von Abbildungen, Datenverknüpfungen und Beschriftungen (R2022b)

exportgraphics-Funktion: Erstellung von animierten GIF-Dateien (R2022a); Erfassen und Anhängen von Grafiken an bestehende PDFs (R2021b)

Live-Editor-Task „Diagramm erstellen“: Interaktive Erstellung von Diagrammen und Generierung von Code (R2021a); Hinzufügen von Visualisierungen zu generierten Diagrammen (R2021b)

Neue Diagrammfunktionen: Visualisierung von Zusammenhängen zwischen einzelnen Teilen und der Gesamtstruktur mit bubblecloud (R2021a; Erstellung von Blasendiagrammen in 2D, 3D und Polarkoordinaten mit bubblechart, bubblechart3 und polarbubblechart (R2020b); Visualisierung von Verteilungen diskreter Daten mit swarmchart (R2020b)

exportgraphics- und copygraphics-Funktionen: Speichern und Kopieren von Grafiken mit verbesserter Unterstützung für Publishing-Workflows (R2020a)

tiledlayout-Funktion: Erstellen konfigurierbarer Plot-Layouts in einer Abbildung (R2019b); Positionierung, Verschachtelung und Änderung der Rastergröße von Layouts (R2020a)

Erstellen einer App

Mit dem App Designer müssen Sie kein professioneller Softwareentwickler sein, um professionelle Apps zu entwickeln.

NEU App Performance: Schnellere Anwendungsstarts und bessere Reaktionsfähigkeit grafischer Interaktionen (R2022b)

Live-Editor-Tasks: Entwicklung eigener Live-Editor-Tasks zur Verwendung in Live-Skripten (R2022a)

Benutzerdefinierte UI-Komponenten: Interaktives Erstellen von benutzerdefinierten UI-Komponenten im App Designer (R2022a) oder programmgesteuertes Erstellen eigener Klassen (R2020b), um zusammengesetzte UI-Komponenten zu entwickeln, die Algorithmen sowie Grafiken und UI-Objekte umfassen

UI-Komponenten für Tabellen: Interaktive Neuanordnung der Spalten von UI-Komponenten in Tabellen (R2022a); programmgesteuertes Scrollen zu einer Position innerhalb einer UI-Komponente in einer Tabelle mithilfe der scroll-Funktion (R2021a)

Barrierefreiheit (Accessibility): Ändern der Tabulator-Fokus-Reihenfolge von Komponenten im App Designer und programmatisches Zuweisen des Tastaturfokus an UI-Komponenten mithilfe der focus-Funktion (R2022a)

Stilelemente: Hinzufügen von Symbolen in Tabellenzellen und Baumknoten (R2022a); Erstellen und Hinzufügen von Stilelementen zu Knoten und Ebenen in einer Baum-UI-Komponente (R2021b); Erstellen und Hinzufügen von Stilelementen für Zeilen, Spalten oder Zellen in einer UI-Komponente für Tabellen (R2019b)

Ausführen von Code im Hintergrund: Einsatz von paralleler Sprache (backgroundPool) zur Erstellung schnell reagierender Apps (R2021b)

App Designer: Verwendung von Tools und Tastenkombinationen aus dem Live Editor in Code View (R2021b); Zoomen und Schwenken in der Design View Canvas (R2021a)

Vergleichstool: Ermitteln von Unterschieden und Zusammenführen von App-Designer-Anwendungen (R2020b)

Externe Sprachschnittstellen

MATLAB bietet eine flexible, wechselseitige Integration mit anderen Programmiersprachen. Das ermöglicht Teams, die unterschiedliche Programmiersprachen nutzen, zusammenzuarbeiten und mehr Zeit für Produktentwicklung anstatt für die Neuprogrammierung in einer anderen Sprache aufzuwenden.

NEU .NET Engine API: Aufrufen von MATLAB aus .NET-Anwendungen (R2022b)

NEU .NET-Schnittstelle: Support für .NET 5 und .NET Core (R2022b)

NEU Python Engine: Übergabe von NumPy-Arrays direkt an MATLAB-Funktionen (R2022b)

Python: Konvertierung von Python-Listen- und -Tupel-Typen in MATLAB-Typen (R2022a)

Python: Verwendung der name=value-Syntax zur Übergabe von Schlüsselwort-Argumenten an Python-Funktionen (R2022a)

pyrun- und pyrunfile-Funktionen: Ausführung von Python-Befehlen und Skripten aus MATLAB heraus (R2021b)

Python: Support für komplexe mehrdimensionale Arrays (R2021b)

C++ Schnittstelle: Erstellung einer MATLAB-Schnittstelle zu einer C++ Bibliothek aus Header-, Quell- oder Bibliotheksdateien (R2021a, R2020b)

Leistung

MATLAB wird mit jeder neuen Version noch schneller und Sie müssen dafür keine einzige Zeile Ihres Codes ändern.

NEU Funktionen prctile, quantile und iqr: Verbesserte Leistung bei geringen Eingangsdaten (R2022b)

NEU Funktionen mldivide und pagemldivide: Verbesserte Leistung bei kleinen Matrizen (R2022b)

NEU Funktionen conv, conv2 und convn: Verbesserte Leistung beim Falten von zwei Vektoren, Matrizen und Arrays (R2022b)

NEU App Performance: Schnellere Startzeit und verbesserte Reaktionsfähigkeit von Grafikinteraktionen (R2022b); verbesserte Leistung bei der Erstellung von Diagrammen in uifigure (R2021b)

Klassen: Verbesserte Leistung für statische Methoden, Zugriff auf konstante Eigenschaften und Paketfunktionen in Skripten (R2022a)

Konversion von Python-Datentypen: Verbesserte Leistung bei der Konvertierung zwischen Python- und MATLAB-Datentypen im Out-of-Process-Modus (R2022a)

MATLAB Engine API für Python: Verbesserte Leistung bei großen mehrdimensionalen Arrays in Python (R2022a)

Tabellen-Indizierung: Verbesserte Leistung bei der Zuweisung von Elementen durch Subscript-Indizierung mit geschweiften Klammern, Punktnotation oder mehreren Indexierungsebenen (R2022a, R2021b)

fzero-Funktion: Verbesserte Leistung (R2022a)

Multiplikation dünnbesetzter Matrizen: Verbesserte Leistung beim Multiplizieren großer dünnbesetzter Matrizen (R2021a)

Dünnbesetzte lineare Systeme: Verbesserte Leistung beim Lösen von A*X = B mit mehrspaltigem B für dünnbesetzte lineare Systeme (R2021a)

Das Balkendiagramm zeigt die von Jahr zu Jahr gestiegene Leistung von MATLAB.

Softwareentwicklung

Tools zur Softwareentwicklung unterstützen Sie bei der Verwaltung und dem Testen Ihres Codes, bei der Integration in andere Softwaresysteme und bei der Bereitstellung Ihrer Anwendungen in der Cloud.

NEU Build Tool: Erstellen und Ausführen von Software-Build-Aufgaben (R2022b)

NEU Dependency Analyzer: Suchen nach benötigten Add-Ons (R2021a), Erkennen von Dateien mit Syntaxfehlern (R2022b) und Speichern von Abhängigkeitsdiagrammen als Bilder (R2022a)

NEU MATLAB Online: Zusammenarbeit durch Nutzung von Projekten und Git in MATLAB Online (R2021b), einschließlich der Verwaltung von Git-Zweigen und Repositories (R2022b)

Code Compatibility Analyzer-App: Identifizierung und Behebung von Kompatibilitätsproblemen mit der aktuellen Version von MATLAB (R2022a)

Unit Testing Framework: Verwendung der TestCase-Klassenvorlage zur schnelleren und genaueren Erstellung von Tests (R2021b); Erfassung von Anweisungs- und Funktionsabdeckungsmetriken für Ihren Quellcode (R2022a); parallele Ausführung von Tests auf Clustern und Clouds (R2020b)

Jenkins-Plugin für MATLAB: Ausführen von MATLAB-Tests und Generieren von Testberichten in Formaten wie JUnit-, TAP- und Cobertura-Codeabdeckungs-Berichten

Neue Referenzarchitekturen: Bereitstellung und Ausführung von MATLAB auf Amazon Web Services (AWS) und Microsoft Azure

Im aktuellen Ordner wird die Option „Source Control“ aus einem Menü ausgewählt, gefolgt von „Update from S V N“ im nächsten Menü.

Direkt aus MATLAB heraus lassen sich Source-Control-Tools von Drittanbietern wie z.B. SVN nutzen.

Controller-Hardware

Steuern von gängigen Mikrocontrollern wie Arduino und Raspberry Pi, Erfassen von Webcam-Bildern sowie von Sensor- und Bilddaten von Drohnen.

NEU Arduino: Unterstützung für ESP32-MCU-Entwicklungsboards (R2022a), einschließlich Unterstützung für Servo- und Drehgeber-Peripheriegeräte (R2022b)

NEU Arduino: Verbinden und Steuern von Boards mithilfe der Arduino Explorer-App (R2021b), einschließlich der Verwaltung von Arduino-Bibliotheken und Schnittstellen mit I2C-, SPI- und seriellen Peripheriegeräten (R2022b); BLE-Konnektivität für Arduino (R2021b)

Hardware Manager-App: Hardware-Erkennung und -Verbindung über MATLAB (R2022a)

Sensor-Support: Auslesen der Daten von mit dem Arduino verbundenen APDS9960-Sensoren (R2021b)

Raspberry Pi: Unterstützung für CAN-Shields (R2021b)

Drohnen: Verbindung mit mehreren Ryze Tello-Drohnen zur Steuerung und zum Auslesen von Sensordaten (2021b)

Geöffneter Bildschirm der Arduino Explorer-App mit Pin-Konfiguration und Diagramm mit Plot-Pins.

Erfassung von Sensormessungen mit der Arduino Explorer-App.