MATLAB Coder

 

MATLAB Coder

Générer du code C et C++ à partir de code MATLAB

Capture d'écran de code C généré pour une opération de multiplication matricielle.

Exécuter sur toute cible

Utilisez n'importe quel compilateur C/C++ pour compiler et exécuter votre code généré sur toute sorte de hardware, depuis les systèmes desktop, smartphones et tablettes, jusqu'au hardware embarqué. Le code généré est libre de droits ; vous pouvez donc le déployer gratuitement dans des applications commerciales pour vos clients.

Image d'une personne avec une boîte virtuelle englobante placée sur son visage.

Utiliser des fonctions depuis des toolboxes

Utilisez l'application MATLAB Coder ou des fonctions en ligne de commande équivalentes afin de générer du code pour des applications de traitement du signal, Computer Vision, Deep Learning, systèmes de contrôle, ou pour toute autre application utilisant des produits MATLAB et Simulink.

Une image avec un robot, des téléphones mobiles, des cartes embarquées et un symbole Wifi.

Prototyper sur du hardware embarqué

Implémentez votre algorithme rapidement sur du hardware grâce à la conversion automatique en code C/C++. 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.

Capture d'écran d'une application montrant la fonctionnalité de traçabilité interactive entre le code de classe MATLAB et le code de classe C/C++ généré.

Déployer du code C++ depuis MATLAB

Générez des classes C++ à partir des classes de votre code MATLAB, notamment des classes de type value, de type handle et des system objects. Compilez le code généré dans des bibliothèques C++ ou dans des exécutables et intégrez-les dans votre code source C++ existant.

Capture d'écran du code C généré, incluant des appels à OpenMP.

Optimiser du code généré

Générez du code OpenMP multicœur et appelez des bibliothèques optimisées telles que LAPACK, BLAS ou encore FFTW. Utilisez Embedded Coder pour générer du code intrinsèque spécifique au processeur et s'exécutant plus rapidement que du code C/C++ ANSI/ISO standard.

Diapositive montrant une classification d'images en utilisant SqueezeNet avec déploiement sur Raspberry Pi.

Déployer des modèles de Machine Learning et des réseaux de Deep Learning

Déployez une variété de réseaux entraînés tels que ResNet-50, MobileNet-v2, des modèles de machines à vecteurs de support (SVM) et des modèles d'arbres de décision, avec une logique de prétraitement et de post-traitement, sur n'importe quel CPU, y compris des puces basées sur Intel® et ARM® Cortex®.

Capture d'écran d'une application montrant la fonctionnalité de traçabilité interactive entre le code MATLAB et le code C/C++ généré.

Effectuer une intégration logicielle

Réutilisez des algorithmes MATLAB en tant que code source C/C++ ou bibliothèques dans votre environnement logiciel. Le code généré utilise des types C/C++ de manière naturelle, facilitant l’intégration avec du code externe. Appelez automatiquement du code C/C++ fiable à partir du code généré.

Capture d'écran de l’application MATLAB Coder vérifiant le code pour les fonctions MEX.

Réutiliser les tests MATLAB sur le code généré

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 Unit Test Framework pour développer rapidement un vaste jeu de tests de régression utilisables pour vérifier le code C/C++ généré.

Générez et déployez des algorithmes de détection de véhicules sur des dispositifs hardware tels que des GPU.

Accélérer les algorithmes

Appelez le code généré sous forme de fonctions MEX depuis votre code MATLAB pour accélérer son exécution. Profilez les fonctions MEX générées pour identifier les goulots d'étranglement et ainsi cibler vos efforts d'optimisation.

« L'utilisation de MATLAB, MATLAB Coder et Fixed-Point Designer a permis à notre petite équipe de développer un algorithme complexe de traitement du signal temps réel, de l'optimiser pour réduire les besoins en puissance et en mémoire, d'accélérer l'implémentation du code embarqué et de mener à bien les tests rigoureux nécessaires à la validation des équipements médicaux. »

Demander une version d’essai gratuite

Profitez de 30 jours pour tester.


Demander plus d'informations

Comment pouvons-nous vous aider ?