Plan du cours
Module 1 : Environnement MATLAB, Flux de travail et fondations des données
Établit une maîtrise de l'écosystème de développement MATLAB, couvrant à la fois les flux de travail de bureau et cloud, les types de données principaux, les E/S de fichiers et les stratégies de gestion des données qui forment la base de toutes les tâches de calcul technique avancé.
1.1 L'écosystème MATLAB : Bureau, en ligne et Drive
- Travail avec l'environnement de bureau MATLAB : Fenêtre de commande, Éditeur, Espace de travail, Dossier actuel et Historique des commandes
- MATLAB Online : développement basé sur le cloud, collaboration MATLAB Drive et accessibilité multi-appareils
- Gestion de l'espace de travail, chemins de recherche et configuration de l'environnement
- Raccourcis, profils et personnalisation de l'environnement de développement pour une efficacité en ingénierie
1.2 Types de données principaux et fondations mathématiques
- Littéraux, variables, conventions de nommage et affectation dans MATLAB
- Scalaires, vecteurs, matrices et tableaux multidimensionnels : création, indexation et manipulation
- Constantes, opérateurs et fonctions mathématiques intégrées
- Opérations sur les tableaux vs matrices : élément par élément vs algèbre linéaire
- Indexation logique, opérateurs relationnels et tableaux logiques pour le filtrage avancé
- Cellules de tableaux, structures (structs) et objets handle pour une organisation complexe des données
- Tableaux et tableaux temporels : le paradigme de données tabulaires moderne de MATLAB pour les séries temporelles et les données expérimentales
1.3 E/S de fichiers et interopérabilité des données
- Importation et exportation de fichiers CSV, TXT et délimités
- Travail avec les feuilles de calcul Excel : opérations de lecture, écriture et formatage
- Formats de fichiers natifs de MATLAB (.mat) et persistance de l'espace de travail
- Assistant d'importation et génération automatisée d'importation de données
- Connectivité aux bases de données : connexion à SQL Server, Oracle, PostgreSQL et bases de données cloud
- Données Web : récupération de réponses JSON, XML et API REST dans MATLAB
Compétences alignées sur le marché : Environnement de développement MATLAB, Flux de travail MATLAB Online, Collaboration MATLAB Drive, Gestion des données numériques, Fondamentaux du calcul scientifique, Importation et exportation de données techniques, Manipulation des données CSV et Excel, Connectivité aux bases de données, Tableaux et tableaux temporels MATLAB, Organisation des données structurées, Bases du calcul mathématique, Flux de travail des données d'ingénierie
Module 2 : Programmation MATLAB, algorithmes et architecture du code
Approfondit la maîtrise de la programmation au-delà de la syntaxe de base, couvrant la programmation structurée, MATLAB orienté objet, l'organisation du code, le débogage, le profilage des performances et les meilleures pratiques d'ingénierie logicielle pour des bases de code techniques maintenables.
2.1 Programmation structurée et flux de contrôle
- Scripts vs fonctions : quand utiliser chacun et meilleures pratiques
- li>Logique conditionnelle : if/else, switch/case et conditions imbriquées
- Boucles : for, while et stratégies d'optimisation des boucles (vectorisation vs itération)
- Flux de contrôle dans les sous-fonctions et fonctions imbriquées
- Gestion des erreurs et techniques de débogage : try/catch, assert, dbstop et débogueur MATLAB
2.2 Programmation fonctionnelle et organisation du code
- li>Création de fonctions, arguments d'entrée/sortie et flexibilité varargin/varargout
- Fonctions anonymes et handles de fonctions : programmation fonctionnelle dans MATLAB
- Sous-fonctions, fonctions locales et fonctions imbriquées
- Organisation basée sur les fichiers, packages et gestion des packages au niveau du dossier
- Transmission par valeur vs transmission par référence (objets handle)
2.3 Programmation orientée objet dans MATLAB
- Classes : définition des propriétés, méthodes et niveaux d'accès (public/private/protected)
- Classes handle vs classes valeur : sémantique de valeur vs sémantique de référence
- Constructeurs, destructeurs et gestion du cycle de vie des objets
- Héritage, substitution de méthodes et classes abstraites
- Mise en œuvre d'interfaces et gestion des événements dans les classes MATLAB
- Méthodes statiques, propriétés dynamiques et validation des propriétés
2.4 Profilage, qualité du code et test
- Profilleur MATLAB : identification des goulots d'étranglement et optimisation du code intensif en calcul
- Analyse de la couverture du code et framework de tests unitaires MTest
- Intégration du contrôle de version : flux de travail Git et SVN dans l'éditeur MATLAB
- Concepts d'intégration continue (CI/CD) avec Jenkins et le pipeline CI MATLAB
- Avertissements d'analyse statique du code et meilleures pratiques
Compétences alignées sur le marché : Programmation et scripting MATLAB, Développement et optimisation d'algorithmes, Programmation MATLAB orientée objet, Architecture basée sur les fonctions, Vectorisation et optimisation des performances, Débogage MATLAB et gestion des erreurs, Profilage du code et réglage des performances, Tests unitaires MATLAB (MTest), Analyse de couverture du code, Contrôle de version avec Git, Intégration continue (CI/CD), Normes professionnelles de qualité du code, Ingénierie logicielle pour le calcul technique
Module 3 : Visualisation des données, rapports et applications interactives
Couvre les fondamentaux du tracé jusqu'à la visualisation avancée, la création de tableaux de bord interactifs, le développement d'interfaces graphiques (GUI) avec App Designer, les scripts interactifs pour des rapports reproductibles et la génération automatisée de rapports pour la documentation d'ingénierie.
3.1 Tracés fondamentaux et avancés
- Tracés 2D : tracés linéaires, nuages de points, diagrammes à barres, diagrammes circulaires, tracés de zone et barres d'erreur
- Tracés multi-axes : hold, subplot, tiledlayout et positionnement des axes
- Tracés 3D : surf, mesh, contour, slice et visualisation de volume
- Personnalisation des tracés : titres, étiquettes, légendes, annotations, styles de ligne, marqueurs et couleurs
- Cartes de couleurs, barres de couleurs et tracés perceptuellement précis
- Exportation de figures haute résolution pour les publications : formats (PNG, PDF, SVG, EMF)
3.2 Visualisation interactive et tableaux de bord
- Personnalisation des figures avec des contrôles UI : curseurs, boutons, listes déroulantes et rappels
- MATLAB App Designer : création d'applications de bureau interactives avec des composants UI glisser-déposer
- Interactions avec les tracés : zoom, déplacement, sélection et rappels
- Applications Web : déploiement des visualisations MATLAB en tant que tableaux de bord interactifs en ligne
3.3 Scripts interactifs et rapports automatisés
- Script interactif MATLAB (.mlx) : notebooks exécutables combinant code, tracés et texte formaté
- Support Markdown et LaTeX dans les scripts interactifs pour les équations mathématiques
- Sections de scripts interactifs personnalisées, paramètres d'entrée et flux de travail de partage
- Génération automatisée de rapports : exportation de scripts interactifs vers les formats PDF, HTML et Word
Compétences alignées sur le marché : Visualisation de données et tracé, MATLAB App Designer, Développement GUI, Conception de tableaux de bord interactifs, Rédaction de scripts interactifs, Génération de rapports techniques, Présentation de données scientifiques, Visualisation et tracé 3D, Système graphique MATLAB, Visualisation d'ingénierie, Conception de figures de qualité publication, Déploiement d'applications Web, Calcul scientifique interactif
Module 4 : Algèbre matricielle, optimisation linéaire et mathématiques symboliques
Couverture complète de l'algèbre linéaire en tant que cœur mathématique de MATLAB, de l'optimisation de la programmation linéaire et du calcul symbolique pour des solutions analytiques. Essentiel pour les applications d'ingénierie, de recherche opérationnelle et de modélisation scientifique.
4.1 Algèbre linéaire et opérations matricielles
- Construction de matrices : eye, zeros, ones, rand, randn, diag et matrices spéciales
- Décomposition matricielle : LU, QR, Cholesky, SVD et analyse des valeurs propres
- Fonctions spéciales : det, trace, rank, norm, nombre de condition et pseudo-inverse
- Résolution de systèmes linéaires : division gauche (\), mldivide et solutions des moindres carrés
- Valeurs propres, vecteurs propres et applications de fonctions matricielles (expm, logm, sqrtm)
- Opérations sur les matrices clairsemées et calcul efficace en mémoire
4.2 Fondamentaux de l'optimisation
- Programmation linéaire : linprog pour l'optimisation sous contraintes
- Optimisation non linéaire : fmincon, fminsearch et fzero
- Ajustement de courbes et estimation de paramètres : fit, polyfit et lsqcurvefit
- Introduction au flux de travail de l'optimisation toolbox
4.3 Mathématiques symboliques
- Création de variables symboliques et manipulation d'expressions symboliques
- Dérivation et intégration analytiques avec dsolve et int
- Arithmétique de précision variable (vpa) pour un calcul haute précision
- Transformées de Laplace et de Fourier en mode symbolique
- Résolution d'équations analytiquement : solve et vpasolve
Compétences alignées sur le marché : Algèbre linéaire et calculs matriciels, Décomposition et analyse matricielle, Optimisation et programmation mathématique, Programmation linéaire, Optimisation non linéaire, Ajustement de courbes et approximation de données, Mathématiques symboliques et calcul analytique, Transformées de Laplace, Analyse des valeurs propres et stabilité numérique, Calcul de matrices clairsemées, Calcul scientifique et analyse numérique
Module 5 : Traitement du signal, traitement d'images et simulation
Applique les boîtes à outils standard de l'industrie de MATLAB à l'analyse du signal, au traitement d'images et à la simulation de systèmes. Ce module couvre les boîtes à outils principales les plus demandées dans les secteurs des télécommunications, du traitement audio, du génie biomédical et de l'inspection industrielle.
5.1 Fondamentaux du traitement du signal
- Théorie de l'échantillonnage : fréquence d'échantillonnage, effet de repliement (aliasing) et critère de Nyquist
- Génération de signaux fondamentaux : sinusoïde, cosinus, carré, dent de scie et signaux chirp
- li>Génération de signaux fondamentaux : sinusoïde, cosinus, carré, dent de scie et signaux chirp
- Analyse dans le domaine de la fréquence : FFT, spectrogramme et tracés d'amplitude/phase
- Conception de filtres : filtres passe-bas, passe-haut, passe-bande et coupe-bande FIR et IIR
- Analyse spectrale, densité spectrale de puissance et applications de filtrage
- Débruitage des signaux, lissage et détection d'enveloppe
5.2 Traitement d'images et de vidéos
- Création, lecture, écriture et affichage d'images avec la boîte à outils de traitement d'images MATLAB
- Amélioration d'images : ajustement du contraste, égalisation d'histogramme et filtrage
- Segmentation d'images : seuillage, détection de contours et watershed
- Transformations géométriques et recalage d'images
- Opérations morphologiques : dilatation, érosion, ouverture et fermeture
- Détection de caractéristiques : détection de coins (Harris), détection de blobs et correspondance de motifs
5.3 Introduction à Simulink et modélisation de systèmes
- Environnement Simulink : création de modèles, bibliothèque de blocs et routage des signaux
- Construction de diagrammes de blocs : sources, puits, blocs continus/discrêts et intégrateurs
- Paramètres de simulation : sélection du solveur, pas de temps et durée de la simulation
- Sous-systèmes, masques et blocs de bibliothèque pour des composants réutilisables
- Analyse de modèles : oscilloscopes, messages de diagnostic et explorateur de modèles
- Introduction à Simulink pour les systèmes de contrôle : modélisation de la plante et simulation de contrôleurs
5.4 Systèmes de contrôle et systèmes dynamiques
- Fonctions de transfert et diagrammes de blocs dans la boîte à outils des systèmes de contrôle
- Analyse par échelon, impulsion, fréquence (Bode) et lieu des racines
- Fondamentaux de la conception et du réglage des contrôleurs PID
- Représentation dans l'espace d'état et analyse des systèmes
Compétences alignées sur le marché : Traitement numérique du signal (DSP), Analyse FFT et filtrage, Traitement d'images et vision par ordinateur, Boîte à outils de traitement d'images MATLAB, Segmentation d'images et détection de caractéristiques, Conception basée sur les modèles Simulink, Ingénierie des systèmes de contrôle, Analyse des fonctions de transfert, Conception de contrôleurs PID, Simulation de systèmes dynamiques, Analyse spectrale, Diagramme de Bode et réponse en fréquence, Analyse du lieu des racines, Modélisation dans l'espace d'état, Traitement des signaux biomédicaux, Traitement des signaux audio, Inspection industrielle et contrôle qualité
Module 6 : Apprentissage automatique, apprentissage profond et intégration IA
Couvre la capacité IA/ML en rapide expansion dans MATLAB, de l'apprentissage supervisé/non supervisé classique aux réseaux neuronaux profonds, aux modèles pré-entraînés et à l'intégration avec Python pour des flux de travail IA hybrides. Répond au profil de compétences techniques les plus demandées en ingénierie aujourd'hui.
6.1 Apprentissage automatique classique avec MATLAB
- Algorithmes de classification : KNN, Bayes naïf, SVM, arbres de décision et méthodes d'ensemble
- Algorithmes de régression : régression linéaire, régression polynomiale et régression régularisée
- Apprentissage non supervisé : clustering (k-means, hiérarchique), ACP et réduction de dimensionnalité
- Validation des modèles : validation croisée, matrices de confusion, courbes ROC et métriques de précision
- Sélection de fonctionnalités, prétraitement des données et division apprentissement/validation/test
6.2 Apprentissage profond dans MATLAB
- Fondamentaux de l'apprentissage profond : architecture de réseau neuronal, couches et flux d'entraînement
- Réseaux de neurones convolutifs (CNN) pour la classification d'images, utilisant des modèles pré-entraînés (ResNet, GoogLeNet, AlexNet)
- Réseaux séquence-à-séquence pour le traitement des séries temporelles et du texte
- Apprentissage par transfert : adaptation des modèles pré-entraînés à des ensembles de données personnalisés
- Conception de réseaux profonds : construction couche par couche avec layerPlot et layerGraph
- Gestion de l'entraînement : taille des mini-lots, calendriers de taux d'apprentissage et accélération GPU
6.3 Intégration Python et flux de travail IA hybrides
- Appel de Python depuis MATLAB : importation de classes, modules et bibliothèques Python
- Utilisation des frameworks d'apprentissage profond Python (TensorFlow, PyTorch) dans les flux de travail MATLAB
- Utilisation des bibliothèques ML Python (scikit-learn, pandas) pour le prétraitement des données
- Échange de données bidirectionnel entre les tableaux MATLAB et les ndarrays Python
- Construction de pipelines IA hybrides exploitant les forces en ingénierie de MATLAB et l'écosystème IA de Python
Compétences alignées sur le marché : Apprentissage automatique dans MATLAB, Apprentissage supervisé, Apprentissage non supervisé, Apprentissage profond et réseaux neuronaux, Réseaux de neurones convolutifs (CNN), Apprentissage par transfert, ML de séries temporelles, Ingénierie des fonctionnalités, Validation des modèles et évaluation de la précision, Interopérabilité Python-MATLAB, Intégration Python pour l'IA/ML, TensorFlow et PyTorch dans MATLAB, Analyse prédictive, Solutions IA pour l'ingénierie, Flux de travail d'apprentissage profond hybrides, Adaptation de modèles pré-entraînés, Conception d'architecture de réseau neuronal
Module 7 : Calcul GPU, déploiement et intégration entreprise
Couvre le calcul haute performance avec accélération GPU, la génération de code pour le déploiement en production, la distribution des applications, la conception basée sur la simulation et les modèles de déploiement de qualité entreprise essentiels pour les ingénieurs MATLAB seniors et les chefs d'équipe.
7.1 Calcul accéléré par GPU et parallèle
- Vérification de la disponibilité du GPU et création de tableaux GPU (gpuArray)
- Fonctions intégrées accélérées par GPU : mathématiques et apprentissage profond automatiquement accélérés
- Boîte à outils de calcul parallèle : parfor pour la parallélisation des boucles
- SPMD (Single Program Multiple Data) et tableaux distribués pour le HPC
- Calcul en cluster et MATLAB Parallel Server pour le calcul à grande échelle
7.2 Génération de code et déploiement
- MATLAB Coder : génération de code C/C++ à partir de fonctions MATLAB pour les systèmes embarqués et de production
- Rapports MATLAB Coder : analyse de la génération de code, opportunités d'optimisation et vérifications de compatibilité
- MATLAB Compiler : emballage des applications MATLAB en exécutables autonomes et bibliothèques partagées
- Interopérabilité Java et .NET pour l'intégration entreprise
- MATLAB Production Server : déploiement du code MATLAB en tant que services Web REST sur une infrastructure entreprise
7.3 Distribution et partage des applications MATLAB
- Publication d'applications MATLAB pour la distribution organisationnelle interne
- Partage des applications MATLAB Online via MATLAB Drive
- Création de boîtes à outils personnalisées avec App Builder et App Designer
7.4 Simulink pour la conception basée sur les modèles (MBD)
- Génération de code à partir de modèles Simulink (Simulink Coder / Embedded Coder)
- Tests Hardware-in-the-loop (HIL) et model-in-the-loop (MIL)
- Simulink pour la simulation de systèmes automobiles, aéronautiques et robotiques
- Stateflow : modélisation des machines à états pour la logique de contrôle et les systèmes événementiels
7.5 IoT et systèmes embarqués
- li>Connexion de MATLAB à du matériel physique : support des packages Arduino, Raspberry Pi et BeagleBone
- Lecture de données de capteurs en temps réel : température, accéléromètre, gyroscope, ultrason et IMU
- Génération de code C pour les processeurs embarqués ARM et déploiement sur des microcontrôleurs
Compétences alignées sur le marché : Calcul accéléré par GPU, Calcul parallèle, Calcul haute performance (HPC), Calcul en cluster, MATLAB Coder pour la génération de code C/C++, MATLAB Compiler, Déploiement d'applications autonomes, Serveur de production MATLAB, Déploiement de services API REST, Développement de systèmes embarqués, Tests Hardware-in-the-Loop (HIL), Ingénierie des systèmes basée sur les modèles (MBSE), Modélisation Stateflow, Génération de code Simulink, Intégration de capteurs IoT, Calcul en périphérie (Edge Computing), Acquisition de données en temps réel, Intégration MATLAB entreprise, Déploiement MATLAB en équipe et organisationnel, Développement de microcontrôleurs ARM
Module 8 : Applications spécifiques au domaine et projet final
Applique MATLAB dans des domaines industriels les plus pertinents pour le marché de l'emploi (ingénierie, finance, science des données et biomédical), aboutissant à un projet final pratique qui intègre toutes les compétences dans une solution complète de calcul technique.
8.1 Applications MATLAB spécifiques au domaine
- Génie financier avec MATLAB : optimisation de portefeuille, analyse des risques, simulation de Monte Carlo et tarification des options (Black-Scholes)
- Traitement du signal biomédical : filtrage des signaux ECG/EEG, extraction de fonctionnalités et visualisation
- Simulation d'ingénierie : modélisation de systèmes mécaniques, électriques et thermiques
- Analyse statistique et tests d'hypothèses pour la recherche et l'assurance qualité
8.2 Projet final : Solution MATLAB de bout en bout
- Scénario réel complet : ingestion de données de capteurs ou expérimentales, nettoyage et analyse, construction d'un modèle prédictif et génération d'une application de tableau de bord interactif
- Implémentation d'une solution basée sur les classes MATLAB pour le domaine du problème
- Création d'un modèle Simulink du système étudié
- Application de l'apprentissage profond pour la reconnaissance de motifs sur l'ensemble de données
- Génération d'un rapport technique complet à partir d'un script interactif
- Documentation du flux de travail et déploiement de la solution dans un environnement semblable à la production
8.3 Pratiques professionnelles de développement MATLAB
- Normes de codage : guide de style MATLAB (nommage, formatage, conventions de commentaire)
- Construction et documentation des boîtes à outils MATLAB pour la réutilisation en équipe
- Gestion des projets MATLAB volumineux : organisation des dossiers, dépendances et CI/CD
Compétences alignées sur le marché : Livraison de solutions finales, Génie financier et analyse quantitative, Traitement du signal biomédical, Analyse des risques de portefeuille, Simulation de Monte Carlo, Tarification des options, Tests d'hypothèses statistiques, Développement d'applications MATLAB, Normes de codage MATLAB, Documentation technique et rapports, Architecture MATLAB professionnelle, Simulation et modélisation d'ingénierie, Finance computationnelle, Analyses d'assurance qualité, Gestion des flux de travail et outillage MATLAB, Collaboration MATLAB en équipe et gouvernance, Analyse de données enterprise
Pré requis
Des connaissances de base en programmation sont recommandées
Nos clients témoignent (6)
Sa grande disponibilité, il repondais comme il peut aux différentes sollicitations
Mamadou - ENS
Formation - Basic MATLAB Programming
Le sérieux de la formation
Mohamed - ENS
Formation - Basic MATLAB Programming
Le professionnalisme du formateur L'organisation du cours par jour La diversification des exercices d'applications L'animation des solutions graphiques impeccables
SOANGA Issaka - ENS
Formation - Basic MATLAB Programming
La disponibilité et l'attention du formateur. Il était très disponible et attentif à nos préoccupations. Vraiment c'était génial
Moussa - ENS
Formation - Basic MATLAB Programming
J'ai beaucoup apprécié la capacité du formateur à s'adapter à notre besoin spécifique et à nous proposer un support de formation adapté.
Jeremy Herviou - Michelin
Formation - Basic MATLAB Programming
La disponibilité, l'écoute et le relationnel de Guillaume. Il a su s'adapté à notre besoin assez spécifique.