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

NOUVEAU Thèmes dans MATLAB Online : changez les couleurs de la version desktop de MATLAB en sélectionnant un thème clair ou sombre (R2022a)

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

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

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

Éditeur : remaniement de code et édition de blocs, améliorations pour la suggestion de code, la complétion automatique et les 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)

Contrôles du Live Editor : créez des contrôles dynamiques en reliant des variables avec les valeurs des contrôle du Live Editor (R2021a) ; définissez les valeurs par défaut (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 Fonction pcode : créez des fichiers au format p-code avec une obfuscation améliorée (R2022a)

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

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

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

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)

Objet pattern : créez des patterns pour la recherche de texte dans des chaînes de caractères (R2020b)

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 des données désorganisées dans une timetable (R2022a)

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

NOUVEAU Fichiers Opus : travaillez avec des fichiers audio Opus (.opus) (R2022a)

E/S fichiers : lisez et écrivez des fichiers XML, HTML et Microsoft Word directement dans des tables, des timetables et des structs (R2021b, R2021a, R2020b)

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)

Fonctiontrenddecomp : identifiez des tendances saisonnières et à long terme dans des données (R2021b)

Fonctiontimeseries2timetable : convertissez des objets timeseries en timetables (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 : utilisez le 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 (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)

Datastore personnalisé : lecture depuis des bases de données Hadoop en utilisant un environnement de datastore personnalisé (R2019a)

 Objet FileDatastore : lecture de fichiers personnalisés volumineux en les important par portions (R2019a)

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 Fonction tensorprod : calculez les produits tensoriels entre deux tableaux (R2022a)

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

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 tableau : passez des tables directement 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 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 Tâches du Live Editor : développez vos propres tâches du Live Editor pour les utiliser dans vos live scripts (R2022a)

NOUVEAU Composants d'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

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

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

NOUVEAU 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 Python : convertissez des listes et des tuples Python en types MATLAB (R2022a)

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

Exécution de Python hors processus : exécutez des fonctions Python hors processus pour éviter les conflits de bibliothèques (R2019b)

Performance

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

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

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

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

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

NOUVEAU Fonction fzero : amélioration des performances (R2022a)

Fonctions qrinsert et qrdelete : amélioration des performances lors des modifications de factorisations QR (R2021b)

Représentations graphiques dans les applications : amélioration des performances lors de la création de tracés dans uifigure (R2021b)

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

Systèmes linéaires creux : performances améliorées 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 Application Code Compatibility Analyzer : identifiez et résolvez les problèmes de compatibilité concernant la version actuelle de MATLAB (R2022a)

NOUVEAU Infrastructure de test unitaire : 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)

MATLAB Online : collaborez en utilisant des projets et Git dans MATLAB Online (R2021b)

Projets : organisez votre travail, automatisez vos tâches et processus et collaborez avec votre équipe (R2019a)

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 des données de capteurs et d'images depuis des drones.

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

NOUVEAU Arduino : support pour les cartes de développement MCU ESP32 (R2022a)

Arduino : connectez et contrôlez les cartes avec l'application Arduino Explorer (R2021b) ; connectivité BLE pour Arduino (R2021b)

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.