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 Editor-Unterstützung für Python: Darstellung und Bearbeitung von Python-Dateien mit Hervorhebung der Syntax, automatischer Einrückung und Abgleich von Trennzeichen (R2022a)

NEU Themes in MATLAB Online: Änderung der Farben des MATLAB -Desktops durch Auswahl eines dunklen oder hellen Themes (R2022a)

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

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

NEU Live-Editor-Tasks: Entwicklung eigener Live-Editor-Tasks zur Verwendung in Live-Skripten (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)

Steuerelemente im Live Editor: Erstellen dynamischer Steuerelemente durch Verknüpfung von Variablen mit Werten von Steuerelementen im Live Editor (R2021a); Festlegen von Standardwerten (R2021b)

Sprache und Programmierung

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

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

NEU 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)

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

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

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

pattern-Objekt: Erzeugung von Mustern für die Textsuche in Zeichenketten (R2020b)

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

Sie haben Zugriff auf Daten aus einer Vielzahl von Quellen und können diese organisieren, bereinigen und analysieren.

NEU Data Cleaner App: Interaktives Erkennen und Bereinigen unübersichtlicher Timetable-Daten (R2022a)

NEU Funktionen zur Daten-Vorverarbeitung: Anhängen von transformierten Variablen an Eingabedaten (R2022a)

NEU Opus-Dateien: Verwendung von Opus (.opus)-Audiodateien (R2022a)

Input/Output von Dateien: Einlesen und Schreiben von XML-, HTML- und Microsoft Word-Dateien direkt in Tabellen, Timetables und Strukturen (R2021b, R2021a, R2020b)

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-R021b)

trenddecomp-Funktion: Ermittlung langfristiger und saisonaler Trends in Daten (R2021b)

timeseries2timetable-Funktion: Konvertieren von timeseries-Objekten in Timetables (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 der Clean Outlier Data-Funktion in einem Live-Editor-Task.

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 (R2022a)

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

Datastores: Lesen aller Daten aus einem Datastore mit Parallelverarbeitung (R2021a); Datastores kombinieren und transformieren (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 (2020a)
  • Setdiff, xcorr und Outerjoin (2019b)
  • Groupcounts, Intersect und svd (2019a)

Individuell erstellbare Datastores: Lesen von Hadoop-basierten Datenbanken mit dem benutzerdefinierten Datastore-Framework (R2019a)

FileDatastore -Objekt: Lesen großer benutzerdefinierter Dateien durch Importieren der Datei in kleineren Abschnitten (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 tensorprod-Funktion: Berechnung von Tensorprodukten zwischen zwei Feldern (R2022a)

NEU N-D-Array Mathematik: 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)

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

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 plot, plot3, polarplot und andere Linienplot-Funktionen (R2022a) sowie an Streudiagramme, Blasendiagramme und Schwarmdiagramme (R2021b)

NEU 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 Live Editor-Tasks: Entwicklung eigener Live-Editor-Tasks zur Verwendung in Live-Skripten (R2022a)

NEU 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

NEU 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)

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

NEU Stilelemente (Styles): 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 Python: Konvertierung von Python-Listen und Tupel-Typen in MATLAB-Typen (R2022a)

NEU 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)

Out-of-Process-Ausführung von Python: Python-Funktionen zur Vermeidung von Bibliothekskonflikten im Out-of-Process-Modus ausführen (R2019b)

Leistung

MATLAB wird von Release zu Release immer schneller. Und Sie müssen dafür keine einzige Zeile Ihres Codes ändern.

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

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

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

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

NEU fzero-Funktion: Verbesserte Leistung (R2022a)

qrinsert- und qrdelete-Funktionen: Verbesserte Leistung beim Modifizieren von QR-Faktorisierungen (R2021b)

Diagramme in Apps: Verbesserte Leistung bei der Erstellung von Diagrammen in uifigure (R2021b)

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 Code Compatibility Analyzer App: Identifizierung und Behebung von Kompatibilitätsproblemen mit der aktuellen Version von MATLAB (R2022a)

NEU 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)

MATLAB Online: Zusammenarbeit durch Nutzung von Projekten und Git in MATLAB Online (R2021b)

Projekte: Arbeitsorganisation, Automatisierung von Aufgaben und Prozessen, Teamarbeit (R2019a)

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

Steuerung gängiger Mikrocontroller wie Arduino und Raspberry Pi, Aufnehmen von Webcam-Bildern sowie von Sensor- und Bilddaten von Drohnen.

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

NEU Arduino: Unterstützung für ESP32 MCU Entwicklungsboards (R2022a)

Arduino: Verbinden und Steuern von Boards mithilfe der Arduino Explorer App (R2021b); BLE-Konnektivität für Arduino (R2021b)

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.