Initiation à Matlab Appliqué à l'automatique et au traitement du signal TABLE D

Initiation à Matlab Appliqué à l'automatique et au traitement du signal TABLE DES MATIERES 1. INTRODUCTION 5 1.1. Qu'est ce que Matlab ? 5 1.2. Démarrer Matlab 5 1.3. Arrêter Matlab 5 1.4. A propos des versions 5 2. MATLAB COMME INTERPRETEUR EN LIGNE 7 2.1. Premiers pas 7 Premier essai 7 Deuxième essai 7 Troisième essai 7 2.2. Un peu de méthode 8 Choisir un répertoire de travail 8 Les expressions 8 Un peu plus sur les matrices 9 Les structures 10 3. CTRL-C CTRL-V, M-FILES, FONCTIONS : RATIONALISONS NOTRE TRAVAIL 13 3.1. Historique 13 3.2. Copier-Coller (Ctrl-C Ctrl-V) 13 3.3. Scripts 13 3.4. Fonctions 14 3.5. Instructions et structures de contrôle 15 3.6. Un peu plus sur la programmation 15 4. LES FIGURES 17 4.1. Tracer des courbes 17 Créer une figure 17 Style et couleurs des lignes 17 Superposer des courbes 18 Variables complexes 18 Ajouter des courbes à une figure existante 18 Plusieurs courbes dans une même fenêtre 18 Placer des titres et des commentaires 19 4.2. Un peu plus sur les graphiques 19 5. MATLAB POUR L'AUTOMATICIEN 21 5.1. Rappels 21 5.2. Les objets : description des systèmes linéaires 21 Fonction de transfert 22 Représentation d'état 22 Passage d'une représentation à l'autre 22 Systèmes discrets 23 5.3. Analyse des systèmes et simulation 23 Analyse d'un système 23 Réponse d'un système 23 Un outil avancé : ltiview 23 Un outil avancé : sisotool 23 Simulink 24 Introduction 24 Un exemple très simple 24 6. MATLAB POUR LE TRAITEMENT DU SIGNAL 26 6.1. Les fonctions de base du traitement du signal 26 6.2. Les signaux numériques 26 Représentation des signaux 26 Signaux courants 26 Importer des signaux 27 Analyser les signaux 27 6.3. Les filtres numériques 27 La convolution de signaux 27 Filtres 28 La fonction filter 28 Réponse impulsionelle d'un filtre 28 Réponse fréquentielle d'un filtre 29 Pôles et zéros d'un filtre 29 6.4. Les signaux et les filtres continus 29 6.5. Les outils avancés 30 7. SCILAB, LE CONCURRENT FREEWARE DE MATLAB 31 REFERENCES 33 Introduction à Matlab page 5 1. Introduction 1.1. Qu'est ce que Matlab ? Matlab est un langage de programmation de haut niveau destiné au calcul scientifique. On le trouve dans les applications de : - calcul, - développement d'algorithmes, - modélisation et simulation, - analyse et visualisation de données, - création de graphiques scientifiques, - création d'application avec interfaces utilisateurs. Il existe un grand nombre de toolboxes, familles de fonctions étendant les fonctions de base de Matlab à un certain type de problème. On trouve ainsi des toolboxes dans les domaines du traitement du signal, de la commande des systèmes, des réseaux de neurones, de la logique floue, des ondelettes, de la simulation, etc… 1.2. Démarrer Matlab 1. Trouvez Matlab sur votre ordinateur. 2. Démarrez le programme. Un certain nombre de fenêtres apparaissent. Les plus importante sont l'interpréteur en ligne et la fenêtre Help. Si cette dernière n'apparaît pas, dans l'onglet Help sélectionnez Matlab Help. C'est tout ; l'aide en ligne est extrêmement conviviale et permet d'acquérir tout seul la maîtrise du logiciel… Ce manuel se propose tout de même de décrire l'utilisation du logiciel pour une utilisation en automatique et en traitement du signal. 1.3. Arrêter Matlab Taper quit ou exit ou fermez les fenêtre. 1.4. A propos des versions Le présent manuel a été rédigé avec Matlab 6.0 sous les yeux. La plupart de ce qui est écrit dans ce manuel s'applique néanmoins à Matlab 5.3 et versions antérieures. Introduction à Matlab page 7 2. Matlab comme interpréteur en ligne 2.1. Premiers pas Au lancement de Matlab, une fenêtre s'ouvre et propose le prompt >> : on est en présence de l'interpréteur en ligne. Premier essai Taper 2+2 et appuyez sur envoi. L'affichage propose alors : >> 2+2 ans = 4 >> Bravo : Matlab sait résoudre des opérations Deuxième essai Taper a=2 et envoi. L'affichage propose : >> a=2 a = 2 >> Bravo : Matlab sait manipuler des objets. Pour travailler en silence : taper a=2; L'affichage propose : >>a=2; >> Troisième essai Taper i^2. La réponse est : >> i^2 ans = -1 >> Ouf. Matlab sait manipuler des nombres complexes voire compliqués. Introduction à Matlab page 8 2.2. Un peu de méthode Choisir un répertoire de travail Avant toutes choses, choisir un répertoire de travail : c'est dans celui-ci que vous stockerez vos fichiers personnels. Dans la barre de menu, utilisez File/Set Path… Les expressions La programmation en Matlab consiste en l'enchaînement d'expressions composées de variables, de nombres, de opérateurs et de fonctions. • Variables Il n'est pas nécessaire de déclarer le type ou la dimension des variables : Matlab choisit selon le contexte. Par exemple : a=2.37 Crée la variable a de dimension 1 et lui attribue la valeur 2.37. Autre exemple : >> a(2)=1.5 a = 2.37 1.5 >> reprend la variable a et modifie sa dimension : c'est maintenant un vecteur de dimension 2 dont la deuxième valeur vaut 1.5 • Nombres Exemples de nombres : 3 -99 0.001 1.6e-20 1i -3.14j 3e5i Les nombres ont jusqu'à 16 chiffres significatifs et doivent rester entre 10-308 et 10+308. • Matrices Exemple : >> mamatrice=[1 2 3;4,5,6;7 8,9] mamatrice = 1 2 3 4 5 6 7 8 9 >> Les données sont entrées en ligne, séparées par des virgules ou des espaces. Les lignes sont séparées par des point virgules. Introduction à Matlab page 9 • Opérateurs + Addition - Soustraction * Multiplication / Division ˆ Puissance ./ Division élément par élément (matrices) ' Conjugué et transpose .* Multiplication élément par élément (matrices) .' Transposée Pour la liste des opérateurs disponibles, tapez help ops. • Fonctions Pour obtenir une liste des fonctions mathématiques élémentaires taper : >>help elfun Pour obtenir une liste des fonctions matricielles élémentaires taper : >>help elmat Pour obtenir la liste des fonctions d'une toolbox spécifique, par exemple signal toolbox (traitement du signal) taper : >>help signal Bien sûr il est aussi possible de définir ses propres fonctions, voir le chapitre 3.4 page 14. • Constantes Un certain nombre de fonctions prédéfinies (sans arguments) renvoient les valeurs de constantes usuelles : pi 3.14159265358979 i unité imaginaire -1 j pareil que i eps précision relative en virgule flottante : 2-52 realmin plus petit nombre en virgule flottante : 2-1022 realmax plus grand nombre en virgule flottante : 2+1022 Inf Infini (résultat de 1/0 par exemple) NaN Not A Number (résultat de 0/0 par exemple) Attention : il est possible de réaffecter les valeurs de ces constantes (éviter d'utiliser i et j comme indice dans les boucles de calcul, notamment). Un petit jeu amusant : essayer Inf+Inf, Inf/0, Inf-Inf, realmax+eps, realmax*(1+eps), etc… Un peu plus sur les matrices • Opérations sur les matrices et fonctions matricielles Introduction à Matlab page 10 Les additions, soustractions transposées et autres inversions de matrices (taper A^-1) sont triviales. Un élément de la matrice s'appelle avec les parenthèses. Par exemple A(1,3) renvoie l'élément de la première ligne, troisième colonne. Attention : pas de colonne 0. La concaténation de matrice est triviale, attention cependant à respecter les dimensions. (Exemple : Z=[A,B;C,D]) L'opérateur : s'utilise de différentes manières : - pour créer des listes. Par exemple 1:4 renvoie [1 2 3 4] et 1:2:5 renvoie [1 3 5]. - Pour faire appel à des sous-parties de matrices. Par exemple A[:,3] renvoie la troisième colonne de A et A[1:2:k,3] renvoie les k premiers éléments impairs de la troisième colonne de A… - Pour supprimer une ligne ou une colonne. Par exemple X(2,:)=[] supprime la deuxième ligne (et redimensionne donc la matrice) • Stocker des matrices dans des fichiers On utilise souvent des matrices de grandes dimensions (résultats de mesures par exemple). Les données doivent alors être écrites sous forme de tableau, séparées par des blancs et des fins de lignes dans un fichier.dat Par exemple un fichier donnees.dat crée par n'importe quel éditeur de texte contient : 1.001 2.34 0.12 2.44431 2.2 2.0091 3.1 47 4.31112 La commande load donnees.dat charge le fichier sous matlab et crée la matrice donnees. A l'inverse, disposant sous Matlab d'un tableau résultat par exemple, il est possible de le stocker dans un fichier par la commande save fichier_resultat resultat. Il est alors stocké sous forme binaire dans un fichier fichier_resultat.mat et récupérable par la commande load. Pour créer un fichier texte1 (ressemblant au fichier donnees.dat par exemple) utiliser la commande fwrite. Les structures Matlab permet de manipuler des données sous formes de structures : les données sont rangées dans une arborescence et accessibles par des champs. L'exemple suivant permet de comprendre comment créer une structure simple : >> toto.tata=[1 2 3 4] toto = tata: [1 2 3 4] >> toto.titi=2 toto = tata: [1 2 3 4] 1 Par exemple pour être traité par un autre logiciel comme Excel… Introduction à Matlab page 11 titi: 2 >> toto toto = tata: [1 2 3 4] titi: 2 >> La structure toto contient deux champs : tata (qui est un vecteur de dimension uploads/s3/ initiation-a-matlab.pdf

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