MATLAB - Programmation avancée

Référence : CS-N2-MATLAB-PROG

Infos pratiques

  • Durée : 3 jours soit 21 heures
  • Population visée : Employé – Technicien – Cadre – Chercheur – Etudiant
  • Public concerné : Toute personne souhaitant se perfectionner dans l’utilisation du logiciel de calcul scientifique MATLAB dans un contexte de programmation

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • Créer et manipuler les matrices, les vecteurs, les graphiques
  • Lire et écrire des fichiers de données
  • Lire et écrire des scripts élaborés
  • Utiliser une structure de contrôle (structures de sélection, boucles de répétition)
  • Créer des fonctions utilisateurs d’automatisation de tâches complexes
  • Optimiser un programme
  • Accéder au potentiel de MATLAB par l’utilisation de fonctions avancées
  • Résoudre des systèmes linéaires et non linéaires
  • Générer un code source C à partir d’une fonction MATLAB

Thèmes principaux

  • Rappels des bases de la programmation sous MATLAB (interface, création et manipulation des matrices, des vecteurs, des graphiques…)
  • Lecture/écriture de fichiers de données
  • Structure de contrôle du langage
  • Ecriture de scripts et de fonctions avancées
  • Optimisation d’un programme
  • Résolution des systèmes linéaires et non linéaires
  • Compilateur MATLAB (langage C)

Quelques mots-clés

  • Vecteurs, matrices, matrices creuses (structure sparse)
  • Graphiques
  • Scripts
  • Fonctions
  • Fichiers de données (binaires et ASCII)
  • Structure de contrôle
  • Vectorisation
  • Code source C

Objectifs opérationnels et contenu de la formation

Maîtriser les « bases » de la programmation sous MATLAB

  • Généralités
    • Eléments de l’interface
    • Présentation des menus ou des rubans selon la version du logiciel
    • Aide en ligne
    • Gestion des variables dans l’espace de travail
    • Saisie de commandes
    • Raccourcis permettant de rappeler une ligne de commandes en dehors d’un programme
    • Sauvegarde des sorties de la fenêtre de commandes
    • Caractères spéciaux (%, %{ %}, !, @...)
    • Editeur MATLAB pour l’écriture des scripts et des fonctions
  • Création et manipulation avancée des matrices et des vecteurs
    • Fonctions d’initialisation
    • Indexation standard et linéaire des éléments
    • Extraction des éléments d’une matrice ou d’un vecteur
    • Extraction à l’aide des opérateurs de comparaisons et des opérateurs logiques
    • Opérations arithmétiques et opérations élément par élément sur les vecteurs et les matrices
    • Structure sparse pour les matrices (creuses)
    • Matrices de chaînes de caractères
  • Exploration des bibliothèques
    • MATLAB et ses bibliothèques
    • Accès à l’aide (commandes help et doc)
    • Commande lookfor
    • Localisation d’une fonction

Déclarer et utiliser les différents types de variables selon le contexte

  • Variables locales
  • Variables globales
  • Variables persistantes
  • Variables symboliques

Maîtriser les principales commandes utiles

  • Les commandes du quotidien : path, ls, which, pwd…
  • Fonctions de test : is…, find…
  • Fonctions sur les matrices
    • Opérations sur les coefficients d’une matrice
    • Propriétés d’une matrice : déterminant, valeurs propres et vecteurs propres, rang…
    • Norme et conditionnement d’une matrice
    • Réductions classiques pour les matrices : factorisation LU, décomposition QR….
  • Fonctions associées aux chaînes de caractères (toolbox strfun)
  • Fonctions dédiées au calcul scientifique
    • Polynômes (racines, évaluation en un point…)
    • Interpolation numérique
    • Intégration numérique
    • Résolution des équations différentielles ordinaires
    • Matrice jacobienne
  • Fonctions dédiées à la résolution des systèmes linéaires
    • Par inversion de matrice
    • En utilisant une méthode directe (opérateur spécifique)
    • En utilisant une méthode itérative (méthode de gradient biconjugué…)
  • Fonctions dédiées à la création et la manipulation des graphiques
    • Courbes 2D
    • Graphiques spécifiques : camemberts, histogrammes, structure d’une matrice…
    • Options sur les graphiques (axes, légende, couleur…)
    • Créer une animation à partir des graphiques

Lire et écrire des fichiers de données

  • Fichiers MATLAB
  • Fichiers binaires
  • Fichiers ASCII
  • Fichiers Excel

Créer et exécuter des scripts élaborés

  • Lecture
  • Ecriture
  • Exécution
  • Débogueur de MATLAB

Utiliser les ressources de MATLAB sur la structure algorithmique

  • Opérateurs de comparaison
  • Opérateurs logiques
  • Contrôle conditionnel
    • if end, if else end, if elseif else end
    • switch case otherwise end
  • Répétition
    • Boucles for
    • Itérations conditionnelles while
    • Utilisation de break et continue
  • Traitement des erreurs (try catch end)

Créer et exécuter des fonctions élaborées

  • Syntaxe générale
  • Règles et propriétés
  • Les entrées, les sorties
    • Gestion des arguments d’entrées et de sorties d’une fonction (nombre, type, arguments optionnels…)
    • Les entrées clavier
    • Les sorties écran (sorties structurées, formats…)
  • Récursivité des fonctions
  • Sous-fonctions
  • Fonctions imbriquées
  • Fonctions privées
  • Fonctions anonymes (pointeurs de fonctions)
  • Fonctions en ligne
  • Passer une fonction en argument d’une fonction

Optimiser un programme MATLAB

  • Conseils et astuces
  • Le JIT-accelerator
  • Variables symboliques
  • Vectorisation d’un programme
  • Pré-allocation mémoire (pré-dimensionnement)
  • Générer un code source C à partir d’une fonction MATLAB (compilateur MATLAB)

Méthodes et moyens

Explications théoriques suivies de pratiques guidées puis mises en autonomie

  • 1 vidéoprojecteur par salle
  • 1 ordinateur par stagiaire

Méthodes d’évaluation des acquis

  • Exercices d’applications
  • Evaluation de fin de stage

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB