Université Sidi Mohammed Ben Abdallah Faculté Des Sciences et Techniques Fès Dé

Université Sidi Mohammed Ben Abdallah Faculté Des Sciences et Techniques Fès Département Génie Electrique LICENCE ETI Electronique, Télécommunications et Informatique Introduction à MATLAB et Simulink Pr. Abdellah MECHAQRANE Année Universitaire 2011-2012 1 Partie I Les bases de programmation avec MATLAB 1. But : Apprendre les bases de programmation à l’aide du logiciel MATLAB. Exploitation pour ETI :  Ondes &Transferts Thermiques (S4)  Traitement du signal& de l’information (S5)  Automatique (S6)  … 2. Introduction à Matlab MATLAB (abréviation deMATrixLABoratory) est un environnement puissant, complet et facile à utiliser destiné au calcul scientifique. Il intègre calcul numérique, visualisation (graphiques) et programmation dans un environnement facile à utiliser et où les problèmes et les solutions sont exprimés en notation mathématique familière. 3. Toolboxes : MATLAB dispose de nombreuses "Toolboxes" (Boîtes à outils) qui sont des collections complètes des fonctions MATLAB (M-files) spécifiques à un domaine d’applications donné :  Aerospace Toolbox,  Communication Toolbox,  Control system Toolbox,  Image ProcessingToolbox,  Signal ProcessingToolbox,  … 4. Simulink Matlab contient aussi l'environnement "Simulink" qui est un environnement puissant de modélisation basée sur les schémas-blocs et de simulation de systèmes dynamiques linéaires et non linéaires. 2 5. Quelques comparaisons avec d’autres langages de programmation :  Langage de haut niveau,  Environnement interactif,  Exécution beaucoup plus rapide que C, C++ ou Fortran,  Pas besoin d’intégration des bibliothèques comme en C : # include <stdio.h> # include <stdlib.h>  Pas de dimensionnement des variables : int, float, char, … 6. Modes de fonctionnement: Il existe deux modes de fonctionnement: 1. mode interactif: MATLAB exécute les instructions au fur et à mesure qu'elles sont données par l'usager. 2. mode exécutif: MATLAB exécute ligne par ligne un M-file (programme MATLAB dont l'extension est :".m"). 7. Environnement Matlab : 1. Présentation de l'environnement MATLAB en mode interactif : 1.1. Présentation de la fenêtre MATALB : Sous Windows, on peut démarrer MATLAB en réalisant un double clic sur l'icône Matlab dans le bureau.On verra donc s'afficher l'interface suivante : 3 Par défaut, cette interface contient les fenêtres suivantes : – Fenêtre des commandes (Command Window) : c'est la fenêtre du milieu dans laquelle on travaillera en entrant et exécutant les commandes. – Historique des commandes (Command History) : fenêtre en bas à droite. Elle contient toutes les commandes déjà exécutées. Pour réexécuter une commande, il suffit de la glisser de la fenêtre "Command History" vers la fenêtre de commande "Command Window". – Répertoire courant (Current Directory) : Contient les fichiers enregistrés dans le répertoire de travail actuel. – Espace de travail (Workspace) : Contient l'ensemble des variables qui peuvent être accessibles à partir de la ligne de commande. – Détails (Details) : donne quelques détails sur le fichier sélectionné dans la fenêtre "Current Directory ". La fenêtre de commande est la fenêtre principale de MATLAB. Pour que cette fenêtre soit la seule visible, il suffit de sélectionner dans la barre de menu : Desktop Desktop Layout Command Window Only. Pour revenir à l'interface par défaut, sélectionner dans la barre de menu : Desktop Desktop Layout Default. Les commandes Matlab sont tapées dans la "Fenêtre de commande" devant le prompt : >>. 1.2. Calculs élémentaires a) Opérateurs de calcul Fonctions Définition + Addition - Soustraction * Multiplication ^(touches : Alt Gr + 9) Puissance / Division \(touches : Alt Gr + 8) Division à gauche Si nécessaire, on utilise des parenthèses. 4 b) Expressions mathématiques Pour effectuer un calcul élémentaire, il suffit de taper une expression mathématique quelconque et valider en appuyant sur "Entrée" : >> 3+2 Le résultat est mis automatiquement dans une variable appelée "ans"(answer). Celle-ci peut être utilisée pour le calcul suivant : >> ans*2 >> (5-2)^3 >> (ans+2)/(4+2) Remarque : "ans" prend la valeur du résultat de la dernière commande exécutée. c) Format d'affichage Par défaut, Matlab affiche les résultats numériques sous le format "short" (4 chiffres après la virgule). En fait, la précision de calcul est de 15 chiffres après la virgule (format long). Matlab peut aussi afficher les résultats sous le format hexadécimal et sous d'autres formats. Pour utiliser un format, il suffit de taper son nom et de valider. >>format short >> 20/3000 Contempler l’effet des formats suivants : format short e format short g format long format long e format long g format bank format rat formathex 5 d) Historique des commandes C’est une fonctionnalité très utile, inspirée des shells UNIX modernes : toutes les commandesque vous aurez tapé sous MATLAB peuvent être retrouvées et éditées grâce aux touches de direction. Appuyez sur la touche "up" pour remonter dans les commandes précédentes, sur la touche "down" pour redescendre. Pour exécuter une commande, inutile de remettre le curseur à la fin, vous appuyez directementsur la touche «Entrée». Vous pouvez retrouver toutes les commandes commençant par une lettre ou un groupede lettres. Par exemple pour retrouver toutes les commandes commençant par "f",tapezf, puis appuyez sur la touche "up" autant de fois que nécessaire. 1.3. Variables Dans Matlab, on peut affecter une valeur ou un résultat de calcul à une variable. Un gros avantage sur les langagesclassiques : on ne déclare pas les variables : Leur type (entier, réel, complexe) et leur dimension s’affecterontautomatiquement. Remarque :Matlab travaille avec un seul type de variable : matrice.  Scalaire :Un scalaire est une matrice 1×1 >> a=1.5 >> b=3.2 >> c=-2 On peut inclure les variables déjà définies dans de nouvelles expressions mathématiques, pour en définir de nouvelles variables : >> var1 = a+b >> var_2 = var1^c >>v_mult = e*var_2 >>v_div = v_mult/(b+a) On peut aussi définir des nombres complexes : >>v_complexe = 2+3i 6 Remarques :  Le nom d'une variable doit obligatoirement commencer par une lettre. Il peut contenir des chiffres et dessous-tirets. Il ne doit pas contenir d’opérateurs spéciaux (+, -, /, &, ., *, ^, …)  MATLAB utilise seulement les 31 premiers caractères d'un nom de variable.  MATLABfait la distinction entre majuscules et minuscules : A et a ne sont pas la même variable.  Vecteurligne :Un vecteur ligne de N éléments ≡ matrice 1xN >> L1 = [1 2 3 4 5 6 7] >> L1 = [1, 2, 3, 4, 5, 6, 7] >> L2 = [-2, 1+i, 2-3i, 3] Remarques :  Dans un vecteur ligne, les éléments sont séparés par une virgule ou un espace.  Les vecteurs lignes dont les éléments sont régulièrement espacés peuvent être générés par : a) L'opérateur ":" Cet opérateur est très important dans la programmation Matlabsurtout lorsqu'il s'agit de générer les valeurs d'une fonction pour la tracer sur un intervalle donné. Ilpermet de générer un vecteurligne formé de valeurs équidistantes entre deux valeurs extrêmes. La syntaxe générale est : variable = valeur initiale :lepas: valeur finale >> L13 = 1:7 >> L14 = 0:0.1:1 >> L3 = -10:2:0 >> L4 = 10:-2:0 Pour créer 101 valeurs équidistantes sur l’intervalle [0, 2] : >> x = 0: 2*pi/100 : 2*pi; 7 b) La fonction MATLAB "linspace" : >> L1 = linspace(1,7,7) Remarques :  Pour voir la syntaxe de la fonction "linspace" tapez : >>help linspace  Le point-virgule à la fin d'une commande élimine l'affichage du résultat de la commande, mais la commande s'exécute : >> k = 0:10; On peut afficher le vecteur k en exécutant la commande: >> k Ceci est très utile surtout lorsqu’on exécutera des programmes importants : l’affichage des résultats des instructions dans la fenêtre de commande retarde l’exécution des programmes.  On peut aussi créer des valeurs réparties de manière logarithmique avec la fonction logspace : >> help logspace  vecteur colonne : Un vecteur colonne de N éléments ≡ matrice Nx1 >>C1=[-2; 1; 3i; 2] Le vecteur C1 peut être aussi créé de la façon suivante : >> C1=[-2 1 3i 2] 8 Remarques :  Dans un vecteur colonne, les éléments sont séparés par un point- virgule.  Un vecteur colonne peut être obtenu en appliquant la fonction transposé "transp" ou l'opérateur ".' "à un vecteur ligne: >> C2 = transp(L2) >> C2 = L2.'  Extractions des éléments d'un vecteur : >> a2 = L1(2) >> a24 = L1(2:4) >> c3 = C1(3) >> c35 = C2(3:5) Remarque :pour voir le contenu d’une variable, il suffit de taper son nom et de valider : >> a2 Si vous tapez : >> a3 vous recevrez le message d'erreur suivant : ??? Undefined function or variable 'a3' Ce message vous indique que la fonction ou variable 'a3' n'a pas été définie auparavant.  Matrices : Toute variable NxM éléments (N lignes et M colonnes) >> A = [1 2 3; 4 5 6; 7 8 9] La matrice A peut être créée de la manière suivante : >> A = [1 2 3 4 5 6 7 8 9] 9 On peut aussi créer des matrice à l'aide de vecteurs lignes ou colonnes de la même longueur : >> B = [L3;L4] >> C = [L3' L4'] 1.4. Accès aux éléments d'une variable 1.4.1. Si la variable est uploads/Industriel/ polycopie-initiation-a-matlab.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager