MATLAB Coder

Principales fonctionnalités

  • Génération de code C et C++ compatible ANSI/ISO
  • Génération de fonctions MEX pour calcul en virgule fixe et en virgule flottante
  • Application MATLAB Coder pour spécifier les points d'entrée, les propriétés des données d’entrée et d'autres options de configuration de génération de code.
  • Allocation de mémoire statique et dynamique pour les données à taille variable
  • Prise en charge de la génération de code pour un grand nombre de fonctions et System objects dans Communications System Toolbox, Computer Vision System Toolbox, DSP System Toolbox et Phased Array System Toolbox™
  • Prise en charge des fonctionnalités courantes du langage MATLAB, en particulier les opérations de matrice, l'indiçage, les instructions conditionnelles (if, switch, for, while) et les structures

MATLAB Coder fonctionne avec Simulink Coder et Embedded Coder pour générer du code C à partir des modèles Simulink® qui contiennent du code MATLAB. Vous pouvez utiliser le code C généré aux fins suivantes :

  • Exécution autonome
  • Intégration à d'autres logiciels
  • Accélération des algorithmes MATLAB
  • Mise en œuvre intégrée
MATLAB Coder project manager interface and code generation report showing the generated C code.
Interface du gestionnaire de projet MATLAB Coder (à gauche) et rapport de génération de code (à droite) montrant le code C généré.

Sous-ensemble du langage MATLAB pour la génération de code

MATLAB Coder génère le code à partir d'un sous-ensemble du langage MATLAB que les ingénieurs de conception utilisent normalement pour développer des algorithmes en tant que composants de systèmes plus complexes. Le sous-ensemble pris en charge inclut plus de 400 opérateurs et fonctions issus de MATLAB.

Un ensemble limité de fonctions est pris en charge pour la génération de code à partir de Aerospace Toolbox, Fixed-Point Designer™, Image Processing Toolbox, Signal Processing Toolbox et Statistics Toolbox™. MATLAB Coder prend également en charge la génération de code à partir d'un grand nombre System objects™ de Communications System Toolbox, Computer Vision System Toolbox, DSP System Toolbox et Phased Array System Toolbox™.

MATLAB Coder prend en charge une vaste gamme d'attributs du langage MATLAB pour développer des algorithmes. En particulier :

Matrices et tableaux, par exemple variables persistantes, variables globales, opérations matricielles, tableaux à n dimensions, indiçage et images

Classes et types de données, par exemple nombres complexes, correspondance d'entiers, précision double et simple, arithmétique à virgule fixe, caractères, structures, classes numériques et données de taille variable

Constructions de programmation, par exemple instructions conditionnelles (if, for, while, switch) et opérateurs arithmétiques, relationnels et logiques

Fonctions, par exemple handles de fonction, sous-fonctions, sous-ensemble de fonctions MATLAB, entrée de longueur variable et listes d'arguments de sortie, ainsi que possibilité d'invoquer les fonctions MATLAB

Consultez la liste complète des attributs du langage MATLAB pris en charge pour la génération de code.

Cas d'usage pour MATLAB Coder

MATLAB Coder permet aux ingénieurs qui développent des algorithmes dans MATLAB, de générer du code C/C++ lisible et portable. Avec ce code généré, vous pouvez :

  • Prototyper vos algorithmes MATLAB sous forme d'exécutables autonomes sur PC et les partager sous forme de spécifications de conception avec vos ingénieurs logiciel
  • Accélérer des parties de votre simulation en remplaçant le code MATLAB par un exécutable MATLAB généré automatiquement (fonction MEX) qui invoque le code C ou C++ compilé
  • Intégrer vos algorithmes MATLAB sous forme de composant de bibliothèque compilé dans un autre logiciel tel qu'un simulateur personnalisé
  • Implémenter et vérifier vos algorithmes MATLAB sur un processeur embarqué
MATLAB Coder use cases.
Cas d'usage pour MATLAB Coder

Génération de code à partir de MATLAB

La conversion d'algorithmes MATLAB en code C implique la spécification des conditions d'implémentation. MATLAB Coder vous guide dans ce processus itératif tout en vous permettant de ne jamais quitter le langage MATLAB. Vous vous assurez que votre algorithme est conforme à la génération du code en générant une fonction MEX qui empaquette le code compilé pour l'exécuter une nouvelle fois dans MATLAB. MATLAB Coder génère un rapport identifiant les erreurs qui doivent être corrigées afin d'assurer que votre algorithme MATLAB est compatible avec la génération du code. Vous effectuez des itérations entre la correction des erreurs et la régénération d'une fonction MEX jusqu'à ce que votre algorithme MATLAB soit adapté à la génération du code.

Désormais, vous pouvez générer du code source C ou C++ ou une fonction MEX adaptée à vos exigences de performances à partir de votre algorithme MATLAB.

Le code source C ou C++ vous permet de:

  • Exécuter le prototypage sur les PC
  • Créer une bibliothèque
  • Implémenter sous forme de code embarqué

La fonction MEX peut être invoquée à la place du code MATLAB original pour:

  • Vérifier le code compilé en revenant dans MATLAB
  • Accélérer l'exécution
Three-step iterative workflow for generating code from MATLAB using  MATLAB Coder.
Flux de travail itératif en trois étapes pour la génération de code à partir de MATLAB par l'intermédiaire de MATLAB Coder.

MATLAB Coder avec Simulink Coder et Embedded Coder

Le bloc MATLAB Function pour la simulation et la génération de code vous permet d'ajouter des algorithmes MATLAB écrits avec un sous-ensemble de fonctions MATLAB afin d'intégrer le code MATLAB dans des modèles Simulink. Simulink Coder vous permet de générer du code à partir des modèles Simulink qui contiennent ce code MATLAB.

Radar tracking model in Simulink with a Kalman filtering algorithm that is written in MATLAB and called using the MATLAB Function block.
Modèle de surveillance radar dans Simulink. Le modèle met en œuvre un algorithme de filtrage de Kalman écrit dans MATLAB et invoqué par l'intermédiaire du bloc MATLAB Function.

Embedded Coder génère le code pour les processeurs embarqués pris en charge, les cartes de prototypage rapide sur cible et les microprocesseurs utilisés dans la production de masse. Il étend les capacités de MATLAB Coder et Simulink Coder en fournissant des options de configuration et des fonctions avancées d'optimisation pour un contrôle plus fin de la façon dont les fonctions, fichiers et données sont générée. Embedded Coder améliore l'efficacité du code et facilite l'intégration avec le code existant, les types de données et les paramètres de calibration utilisés en production.

Le code généré avec Embedded Coder peut être exporté dans des environnements de développement tiers, ce qui vous permet d'automatiser la création d'un exécutable pour déploiement sur votre système embarqué. Le code généré peut également être exécuté sur les processeurs pour vérifier les performances comportementales et rrécupérer des métriques d'utilisation des ressources par l'intermédiaire du processor-in-the-loop (PIL) et de techniques de profilage.

Essayer MATLAB Coder

Obtenir une version d'évaluation

Guide de démarrage rapide gratuit

Voir le guide