MATLAB Coder

Génération de code C et C++ à partir de code MATLAB

 

MATLAB Coder™ génère du code C et C++ à partir de code MATLAB® pour une variété de plateformes hardware, depuis les PC jusqu'aux systèmes embarqués. Il supporte la plupart du langage MATLAB ainsi qu'un grand nombre de toolboxes. Vous pouvez intégrer le code généré dans vos projets sous forme de code source et de librairies statiques ou dynamiques. Le code généré est lisible et portable. Vous pouvez incorporer vos bibliothèques et votre code C existants pour optimiser l'efficacité des parties critiques de votre algorithme, ou pour réutiliser un code dans lequel vous avez confiance. Vous pouvez également packager le code généré sous forme de fonction MEX pour l'utiliser dans l'environnement MATLAB à des fins de vérification ou d'accélération.

Embedded Coder® améliore MATLAB Coder pour une utilisation en production avec support de la personnalisation du code, des optimisations spécifiques à une cible, de la traçabilité du code et des vérifications SIL (software-in-the-loop) et PIL (processor-in-the-loop).

Pour déployer des applications complètes, y compris les interfaces utilisateur, utilisez MATLAB Compiler SDK™.

En savoir plus:

Exécution sur toute cible

Générez un code source ANSI C lisible et portable. Déployez un code libre de droits.

Déployez des algorithmes libres de droits

Utilisez n'importe quel compilateur C pour compiler et exécuter votre code généré sur n'importe quelles cibles,: depuis les PC, smartphones et tablettes, jusqu'au hardware embarqué. Le code généré est libre de droits, déployez-le gratuitement dans des applications commerciales pour vos clients.

Code généré pour la multiplication matricielle.

Toolboxes et fonctions supportées

MATLAB Coder génère du code à partir d'un large éventail de fonctionnalités du langage MATLAB que les ingénieurs utilisent pour développer des algorithmes en tant que composants de systèmes plus importants. Ceci inclut plus de 1 900 opérateurs et fonctions MATLAB ainsi que les toolboxes connexes.

Support du langage et des toolboxes MATLAB pour la génération de code.

Prototypage sur hardware

Implémentez votre algorithme rapidement sur du hardware grâce à sa
conversion automatique  en code C.

Prototypage sur plateformes PC et cloud

Utilisez l'app MATLAB Coder ou des fonctions en ligne de commande équivalentes pour générer rapidement du code et le compiler pour votre hardware, quel que soit le type d'application : traitement du signal, computer vision, Deep Learning, systèmes de contrôle, etc.

Prototypage rapide d'algorithmes sur plateformes PC et cloud.

Prototypage sur plateformes embarquées et mobiles

Ciblez n'importe quel dispositif en intégrant manuellement le code généré à votre application. Automatisez le processus pour Raspberry Pi™ à l'aide du Support Package MATLAB pour Raspberry Pi.

Prototypage rapide d'algorithmes sur plateformes embarquées et mobiles.

Du prototypage à la production

Utilisez MATLAB Coder avec Embedded Coder® pour générer du code utilisant les intrinsèques propres au processeur et s'exécutant plus rapidement que du code ANSI/ISO C/C++ standard.

Profilage du temps d'exécution du code autonome généré.

Intégration logicielle

Réutilisez les algorithmes MATLAB sous forme de code C au sein de votre environnement logiciel.

Génération de code C avec des interfaces simples, faciles à intégrer

Le code généré utilise des types C de manière naturelle, facilitant l'intégration avec le code externe. Vous pouvez intégrer le code généré sous forme de code source ou de bibliothèques. Pour des tests plus complets, vous pouvez importer des bibliothèques ou composants C fiables dans MATLAB, qui seront automatiquement appelés à partir du code généré.

Rapport de traçabilité interactif avec MATLAB Coder et Embedded Coder.

Optimisation des performances du code généré

Appliquez des optimisations pour trouver le meilleur compromis entre vitesse d'exécution, utilisation de la mémoire, lisibilité et portabilité. Utilisez des outils de profilage pour identifier les goulots d'étranglement. Pour doper encore les performances, générez du code OpenMP multicœurs et appelez des bibliothèques optimisées telles que LAPACK, BLAS ou encore FFTW le cas échéant.

Exemple de code généré contenant des appels à OpenMP.

Réutilisation des tests MATLAB sur le code généré avant l'intégration

Réutilisez vos tests MATLAB existants pour vérifier le comportement du code généré dans l'environnement MATLAB interactif. Mettez à profit l'environnement de tests unitaires MATLAB pour développer rapidement un vaste jeu de tests de régression utilisables pour vérifier le code C généré.

Vérification du comportement du code généré avant l'intégration à votre application.

Accélération des algorithmes

Générez du code C et compilez-le pour l'utiliser dans MATLAB.

Accélération des algorithmes sur les CPU

Vous pouvez appeler le code généré sous forme de fonctions MEX à partir de votre code MATLAB pour accélérer son exécution. L'accélération observée dépendra de la nature de votre code MATLAB. Vous pouvez profiler les fonctions MEX générées pour identifier les goulots d'étranglement et ainsi cibler vos efforts d'optimisation.

Profilage des fonctions MEX pour identifier les goulots d'étranglement affectant les performances.

Accélération des algorithmes à l'aide de GPU

Utilisez Parallel Computing Toolbox™ pour accélérer les algorithmes exécutés dans MATLAB. Utilisez GPU Coder™ pour générer du code CUDA pour l'accélération ou le déploiement, exécutable sur tout GPU NVIDIA® moderne.

Accélération des algorithmes à l'aide de GPU.

Nouveautés

Deep Learning

générez du code pour des réseaux YOLO v2 et MobileNet-v2 pour les processeurs ARM et Intel.

Générez du code C++ possédant plus de fonctionnalités spécifiques au langage C++ et orientées objet.

Générez du code pour de nouveaux types de données MATLAB

categorical, duration et table.

Objet de rapport de génération de code

accédez à des informations sur le code et créez des logs de manière programmatique.

Profilage MEX

observez les temps d’exécution des fonctions MEX générées dans MATLAB Profiler.

Génération de code pour Optimization Toolbox

générez du code pour l’optimisation non linéaire contrainte avec fmincon.

Génération de code pour Statistics and Machine Learning Toolbox

générez du code pour des fonctions de distribution de probabilité.

Utilisez les fonctionnalités de MATLAB Coder dans MATLAB Online.

Reportez-vous aux notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.

Générer du code C depuis MATLAB

Profitez de conseils et de recommandations pour optimiser l'utilisation de MATLAB Coder et découvrez des applications réussies de code généré par différents acteurs, tels que Delphi, Baker Hughes, iSonea et dorsaVi.

Version d’évaluation

Bénéficiez d'une version d'évaluation de 30 jours.

Télécharger

Prêt à acheter ?

Obtenez les tarifs et explorez les produits associés.

Vous êtes étudiant ?

Obtenez la version étudiante des logiciels MATLAB et Simulink.

En savoir plus