Nouveautés dans MATLAB

De nouveaux outils pour prétraiter et analyser les données, écrire des scripts et des algorithmes, créer des applications et développer des logiciels en équipe.

De plus, MATLAB n’a jamais été aussi rapide. Découvrez ici les nouvelles fonctionnalités.

Environnement

NOUVEAU Contrôles dans le Live Editor : ajoutez des spinners numériques pour incrémenter et décrémenter les valeurs de variables dans des live scripts (R2022b), créez des contrôles dynamiques en associant des variables à des valeurs de contrôles dans le Live Editor (R2021a), définissez des valeurs par défaut (R2021b)

NOUVEAU Tâches du Live Editor : spécifiez le code à exécuter lorsqu'une valeur de contrôle change (R2022b), développez vos propres tâches du Live Editor pour les utiliser dans des live scripts (R2022a)

NOUVEAU Thèmes dans MATLAB Online : changez les couleurs du desktop MATLAB pour qu'elles correspondent au jeu de couleurs de votre système d'exploitation (R2022b)

Support Python dans l’éditeur : affichez et éditez des fichiers Python en utilisant la mise en surbrillance de la syntaxe, l'indentation automatique et la correspondance des délimiteurs (R2022a)

Couleurs du Live Editor : changez les couleurs du texte et de l'arrière-plan des live scripts et des fonctions (R2022a)

Export Live Editor : exportez les live scripts et les fonctions de manière programmatique en utilisant la fonction export (R2022a)

Éditeur : remaniement de code et édition de blocs, améliorations pour la suggestion de code, complétion automatique de code et contrôles de débuggage en ligne du code (R2021b)

Animations du Live Editor : utilisez l'interface interactive pour contrôler les animations (R2021a) et les exporter en tant que films ou GIF animés (R2021b)

Langage et programmation

Utilisez de nouveaux types de données et de nouvelles constructions de langages pour écrire du code plus clair, plus court et plus facile à maintenir. 

NOUVEAU Objet dictionary : associez des clés uniques à des valeurs pour des recherches rapides (R2022b)

NOUVEAU Application Code Analyzer : identifiez et explorez les problèmes dans votre codebase (R2022b)

NOUVEAU Validation des arguments de sortie : validez les arguments de sortie des fonctions et méthodes de classes (R2022b)

Validation des arguments d'entrée des fonctions : déclarez les arguments d'entrée des fonctions afin de simplifier la vérification des erreurs sur les entrées (R2020b, R2019b)

Syntaxe nom=valeur : employez la syntaxe nom=valeur pour toute fonction utilisant des arguments nom-valeur (R2021a)

Fonction pcode : créez des fichiers au format p-code avec une offuscation améliorée (R2022a)

backgroundPool : exécutez une fonction de manière asynchrone sans bloquer l'invite de commande de MATLAB (R2021b) ; interrogez les tâches en file d'attente ou en cours d'exécution et l'état du backgroundPool (R2022a)

Indexation modulaire : personnalisez les opérations d'indexation de classes de manière individuelle grâce aux nouvelles superclasses (R2021b)

Class Diagram Viewer : créez des diagrammes de classes graphiques pour explorer les détails des classes et partager les designs (R2021a)

Le code montre les fonctions et les arguments permettant de chercher l'image d'une balle.

Exemple de validation des arguments d'une fonction en utilisant le bloc arguments.

Importation et analyse de données

Organisez, nettoyez et analysez des données accessibles à partir d'une variété de sources.

NOUVEAU Application Data Cleaner : identifiez et nettoyez de manière interactive les données désorganisées dans les timetables (R2022a) et les tables (R2022b), visualisez des sparklines et statistiques sommaires (R2022b)

NOUVEAU Analyse de données : de nouvelles fonctions et des mises à jour pour l'analyse de données, notamment trenddecomp, detrend, mape, rmse et isuniform (R2022b, R2021b)

NOUVEAU Éditeur de variables dans MATLAB Online : visualisez des sparklines et des statistiques sommaires de données tabulaires, suivez une variable grâce aux boîtes de dialogue « Find and Go To », enregistrez de manière interactive les indices logiques d'une sélection de données, et remplacez des données tabulaires par des tableaux vides (R2022b)

NOUVEAU Traitement parallèle : utilisez les opérations de bas niveau sur les fichiers d'E/S dans les environnements à base de threads (R2022b)

Fonctions de prétraitement des données : attachez des variables transformées aux données en entrée (R2022a)

Prétraitement des données avec des tâches du Live Editor : ajoutez de simples interfaces pointer-cliquer à un live script pour effectuer un ensemble d'opérations spécifique, notamment la suppression des valeurs manquantes et aberrantes, le lissage et la normalisation, ainsi que le groupement et la jointure (R2019b-R2021b)

HDF5 : support de HDF5 version 1.10, notamment Single-Writer/Multiple-Reader (SWMR), Virtual Dataset (VDS) et Metadata Cache Fine-Tuning (R2021b)

NetCDF : support de NetCDF version 4.7.4, notamment la lecture et l'écriture de données NC_STRING (R2021b) ; activez la lecture en plages d'octets de jeux de données distants (R2022a)

Prétraitement des données avec la tâche Clean Outlier Data du Live Editor.

Big Data

Étendez votre analyse au Big Data sans apporter de changements majeurs.

NOUVEAU Fichiers Parquet : filtrage conditionnel (Predicat Pushdown) avec rowfilter pour limiter le volume des données importées, support pour la lecture et l'écriture de groupes de lignes et de structures de données imbriquées (R2022b, R2022a)

Performances du datastore : spécifiez un objet FileSet dans les datastores pour améliorer les performances (R2021b)

Datastores : lisez toutes les données d'un datastore en utilisant le traitement en parallèle (R2021a), combinez et transformez des datastores (R2019a)

Écriture d'un datastore : écrivez de grandes collections de données stockées dans des datastores sur un disque pour les workflows d'ingénierie des données et de développement basé sur des fichiers (R2020a)

Tall Arrays : Appliquez davantage de fonctions aux tall arrays, notamment :

  • groupfilter et matches (2020a)
  • setdiff, xcorr et outerjoin (2019b)
  • groupcounts, intersect et svd (2019a)
Une table codée avec des couleurs montre les vols des compagnies aériennes par mois et par année entre 1987 et 2008.

Les tall arrays fonctionnent sur des données dont le nombre de lignes excède la capacité de la mémoire.

Mathématiques

Les fonctions mathématiques offrent une multitude de méthodes de calcul numérique pour pouvoir analyser des données, développer des algorithmes et créer des modèles.

NOUVEAU Opérations mathématiques sur les N-D Array : calculez des normes (pagenorm), résolvez des équations linéaires (pagemldivide, pagemrdivide), calculez des inversions de matrices (pageinv) et effectuez la décomposition en valeurs singulières (pagesvd) sur des pages de N-D array (R2022b, R2022a, R2021b)

NOUVEAU Génération de code pour les fonctions mathématiques : générez du code C (avec MATLAB Coder) pour diverses fonctions, notamment ode15s, shortestpath et nearest (R2022b), integral et interpft (R2022a), ainsi que digraph, graph, hess, ode78 et ode89 (R2021b)

Fonction tensorprod : calculez les produits tensoriels entre deux tableaux (R2022a)

Fonctions ode78 et ode89 : utilisez des solveurs Runge-Kutta d'ordre élevé pour des équations différentielles ordinaires (R021b)

Algorithmes sur les graphes : calculez l’ensemble des chemins, les cycles, ainsi que les bases de cycles (R2021a)

Tâche Optimize du Live Editor : résolvez des problèmes d'optimisation de manière interactive (R2020b)

La fenêtre d'optimisation montre les options qui servent à minimiser une fonction avec ou sans contraintes.

Utilisez la tâche Optimize du Live Editor pour définir et résoudre de manière interactive des problèmes d'optimisation.

Visualisation de données

Visualisez vos données avec de nouvelles fonctions de tracé et de nouvelles possibilités de personnalisation.

NOUVEAU Représentation graphique de données de tables : passez des tables directement aux tracés à tiges, en escaliers et géographiques (R2022b), aux fonctions plot, plot3, polarplot, ainsi qu'aux autres fonctions de tracés (R2022a), aux scatter plots et aux graphiques à bulles et en essaims (R2021b)

NOUVEAU Code pour les figures dans MATLAB Online : générez du code lorsque vous modifiez les propriétés d'objets graphiques (R2022b)

NOUVEAU Options de tracé dans MATLAB Online : personnalisez la création de figures, la liaison de données et la labellisation (R2022b)

Fonction exportgraphics : créez des fichiers GIF animés (R2022a) ; capturez des éléments graphiques et ajoutez-les à des PDF existants (R2021b)

Tâche Create Plot du Live Editor : créez des tracés de façon interactive et générez du code (R2021a) ; ajoutez des visualisations aux tracés générés (R2021b)

Nouvelles fonctions graphiques : visualisez des relations partie-tout avec bubblecloud (R2021a) ; créez des diagrammes à bulles en coordonnées 2D, 3D et polaires avec bubblechart, bubblechart3 et polarbubblechart (R2020b) ; visualisez les distributions de données discrètes avec swarmchart (R2020b)

Fonctions exportgraphics et copygraphics : enregistrez et copiez des graphiques avec un support amélioré des workflows de publication (R2020a)

Fonction tiledlayout : créez des layouts de tracé configurables dans une figure (R2019b) ; positionnez, imbriquez et modifiez la taille de la grille des layouts (R2020a)

Création d'applications

App Designer vous permet de créer des applications de qualité professionnelle sans être un développeur logiciel.

NOUVEAU Performances des applications : démarrage plus rapide et meilleure réactivité des interactions graphiques (R2022b)

Tâches du Live Editor : développez vos propres tâches du Live Editor pour les utiliser dans des live scripts (R2022a)

Composants UI personnalisés : créez des composants d'UI personnalisés de manière interactive dans App Designer (R2022a) ou créez votre propre classe de façon programmatique (R2020b) pour concevoir des UI composites qui encapsulent des algorithmes, ainsi que des graphiques et des objets UI

Composants UI de table : réorganisez les colonnes des composants UI de table de manière interactive (R2022a) ; faites défiler jusqu'à un emplacement donné dans un composant UI de table de manière programmatique avec la fonction scroll (R2021a)

Accessibilité : modifiez l'ordre de priorité des onglets des composants dans App Designer et attribuez une priorité clavier aux composants UI de manière programmatique avec la fonction focus (R2022a)

Styles : ajoutez des icônes aux cellules des tables et aux nœuds des arbres (R2022a) ; créez et ajoutez des styles aux nœuds et aux niveaux dans un composant UI d'arbre (R2021b) ; créez et ajoutez des styles pour les lignes, les colonnes ou les cellules d'un composant UI de table (R2019b)

Exécution du code en arrière-plan : utilisez le langage parallèle (backgroundPool) pour créer des applications plus réactives (R2021b)

App Designer : utilisez les outils et les raccourcis du Live Editor dans la Code View (R2021b) ; effectuez un zoom et un panoramique dans le canevas de la Design View (R2021a)

Outil de comparaison : comparez et fusionnez des applications App Designer (R2020b)

Interfaces pour les langages externes

MATLAB propose une intégration flexible et bidirectionnelle avec d'autres langages de programmation. Elle permet aux équipes utilisant différents langages de programmation de collaborer et de consacrer davantage de temps au développement de produits plutôt qu'à la réécriture du code dans un autre langage.

NOUVEAU API .NET Engine : appelez MATLAB à partir d'applications .NET (R2022b)

NOUVEAU Interface .NET : support pour .NET 5 et .NET Core (R2022b)

NOUVEAU Moteur Python : transmettez des tableaux NumPy directement aux fonctions MATLAB (R2022b)

Python : convertissez des listes et des tuples Python en types MATLAB (R2022a)

Python : utilisez la syntaxe nom=valeur pour passer des arguments nommés aux fonctions Python (R2022a)

Fonctions pyrun et pyrunfile : exécutez des commandes et des scripts Python à partir de MATLAB (R2021b)

Python : support pour les tableaux multidimensionnels complexes (R2021b)

Interface C++ : créez une interface MATLAB vers une bibliothèque C++ à partir de fichiers d'en-tête, de fichiers sources ou de fichiers de bibliothèque (R2021a, R2020b)

Performance

MATLAB est de plus en plus rapide, version après version. Et nul besoin de modifier la moindre ligne de votre code.

NOUVEAU Fonctions prctile, quantile et iqr : amélioration des performances sur les données d'entrée de petite taille (R2022b)

NOUVEAU Fonctions mldivide et pagemldivide : amélioration des performances sur les petites matrices (R2022b)

NOUVEAU Fonctions conv, conv2 et convn : amélioration des performances lors de la convolution de deux vecteurs, matrices ou tableaux (R2022b)

NOUVEAU Performances des applications : démarrage plus rapide et meilleure réactivité des interactions graphiques (R2022b), amélioration des performances lors de la création de tracés dans uifigure (R2021b)

Classes : amélioration des performances concernant les méthodes statiques, l'accès aux propriétés constantes et les fonctions de package dans les scripts (R2022a)

Conversion des types de données Python : amélioration des performances lors de conversions entre les types de données Python et MATLAB en mode hors processus (R2022a)

API de MATLAB Engine pour Python : amélioration des performances avec des tableaux multidimensionnels volumineux en Python (R2022a)

Indexation de table : amélioration des performances lors de l'affectation d'éléments grâce à l'indiçage par accolades, par la notation à point ou par plusieurs niveaux d'indexation (R2022a, R2021b)

Fonction fzero : amélioration des performances (R2022a)

Multiplication de matrices creuses : performances améliorées lors de la multiplication de grandes matrices creuses (R2021a)

Systèmes linéaires creux : amélioration des performances lors de la résolution de systèmes linéaires creux A*X = B où B est multicolonnes (R2021a)

Le diagramme à barres montre l'amélioration des performances de MATLAB année après année.

Développement logiciel

Les outils de développement logiciel vous permettent de gérer et de tester votre code, de l'intégrer à d'autres systèmes logiciels, ainsi que de déployer vos applications dans le cloud.

NOUVEAU Build Tool : créez et exécutez des tâches de compilation de software (R2022b)

NOUVEAU Dependency Analyzer : trouve les modules complémentaires requis (R2021a), identifie les fichiers contenant des erreurs de syntaxe (R2022b), et enregistre les graphes de dépendances en tant qu'images (R2022a)

NOUVEAU MATLAB Online : collaborez en utilisant des projets et Git dans MATLAB Online (R2021b), y compris pour la gestion des branches et dépôts Git (R2022b)

Application Code Compatibility Analyzer : identifiez et résolvez les problèmes de compatibilité concernant la version actuelle de MATLAB (R2022a)

Unit Testing Framework : utilisez le modèle de classe TestCase pour créer des tests de manière plus rapide et précise (R2021b), collectez des métriques de couverture des fonctions et des instructions pour votre code source (R2022a), exécutez des tests en parallèle sur des clusters et des clouds (R2020b)

Plugin Jenkins pour MATLAB : exécutez des tests MATLAB et générez des rapports de test tels que des rapports de couverture de code aux formats JUnit, TAP et Cobertura

Nouvelles architectures de référence : déployez et exécutez MATLAB sur Amazon Web Services (AWS) et Microsoft Azure

Le dossier en cours affiche l'option « Source Control » sélectionnée depuis un menu, suivie de « Update from S V N » dans le menu suivant.

Utilisez des outils de gestion de version tiers tels que SVN directement depuis MATLAB.

Contrôler du hardware

Contrôlez des microcontrôleurs populaires comme Arduino et Raspberry Pi, faites l'acquisition d'images depuis des webcams et de données de capteurs et d'images depuis des drones.

NOUVEAU Arduino : support pour les cartes de développement MCU ESP32 (R2022a), incluant le support pour les périphériques de codeurs servo et rotatifs (R2022b)

NOUVEAU Arduino : connectez et contrôlez des cartes grâce à l'application Arduino Explorer (R2021b), notamment pour la gestion des bibliothèques Arduino et l'interfaçage avec des périphériques I2C, SPI et série (R2022b) ; ainsi que la connectivité BLE pour Arduino (R2021b)

Application Hardware Manager : détectez et connectez-vous à votre hardware depuis MATLAB (R2022a)

Support des capteurs : lisez les données d'un capteur APDS9960 connecté à Arduino (R2021b)

Raspberry Pi : support pour les cartes shield CAN (R2021b)

Drones : connectez-vous à plusieurs drones Tello de Ryze pour contrôler et lire des données de capteur (2021b)

L'application Arduino Explorer montrant la configuration des broches, ainsi que le tracé des signaux des broches.

Comprendre les mesures de capteurs avec l'application Arduino Explorer.