Ateliers de Mathématiques : Initiation à Matlab TP1 : INITIATION A L’OUTIL 1. Introduction Matlab (abréviation de « Matrix Laboratory ») est un environnement informatique conçu pour le calcul matriciel. L’élément de base est une matrice dont la dimension n’a pas à être fixée. Matlab est un outil puissant qui permet la résolution de nombreux problèmes en beaucoup moins de temps qu’il n’en faudrait pour les formuler en C ou en Pascal. S’il est parfaitement adapté à l’Automatique et au traitement du signal, sa facilité d’emploi avec des nombres complexes et ses possibilités d’affichages graphiques en font un outil intéressant pour bien d’autres types d’applications. De plus, des « toolboxes » (boites à outils) sont disponibles dans de nombreux domaines (traitement du signal, traitement d’image, d’optimisation, contrôle …). Matlab peut être considéré comme un langage de programmation au même titre que C, Pascal ou Basic. C’est un langage interprété, c'est-à-dire que les instructions sont exécutées immédiatement après avoir été tapées. 2. L’interface de Matlab Pour lancer Matlab il suffit de cliquer deux fois sur l’icône Matlab.exe. La fenêtre « Command Window » apparait alors, c’est dans cette fenêtre que l’on peut taper les instructions Matlab (à la suite des chevrons >>). Current Folder Répertoire de travail en cours Command Window Fenêtre de commande ou Console d’exécution Workspace Variables en cours Command History Historique des commandes Figure 1.1 : Environnement de travail MATLAB E. CHEBBI 1 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab 2.1. Command Window C’est le terminal dans lequel on doit taper les commandes et sur lequel on verra l’affichage des résultats. Une ligne commence toujours par >>. Essayez la commande suivante : Une commande utile lorsque l’on a un doute sur le type de variable que l’on vient de créer est la commande whos 2.2. Workspace Dans cette fenêtre, on obtient la liste des variables connues par Matlab. Il est possible de doublecliquer sur une variable pour l’afficher. Un clic-droit sur les variables offre de nombreuses options telles que : Copiez, Collez, Supprimez etc. 2.3. Command History Lorsque l’on effectue une analyse de données sur les résultats d’une expérience il est essentiel de conserver une trace de toutes les opérations qui ont été réalisées. C’est la base de la traçabilité et de la reproductibilité des résultats scientifiques. Il est possible de cliquer sur une commande dans cette fenêtre pour l’exécuter a nouveau. On peut également remonter dans la liste de commandes en se plaçant dans la Command Window et en pressant les flèches de direction. 2.4. Current Folder Matlab définit le PATH (chemin). C’est les dossiers dans lesquels Matlab va chercher lorsque l’on appelle un commande. Le PATH est divisé en deux sous-parties : d’une part le MATLABPATH et d’autre par le USERPATH. 3. Opérations élémentaires 3.1. Calcul sans déclaration de variables E. CHEBBI 2 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab Remarques – Le résultat est automatiquement affectée à la variable ans (comme answer) – La variable ans apparaît dans la fenêtre Workspace – La commande apparaît dans la fenêtre Command History – Le résultat est affiché avec 5 chiffres significatifs. La précision par défaut correspond au format short. Pour plus de précision, on choisira le format long (>> format long ; >> format short). Exemple : Calculer l’expression mathématique (1 + 2^2)/(3 *4 - 5) 3.2. Calcul avec déclaration de variables Dans MATLAB, il n’est pas nécessaire de préciser le type (entier, réel, complexe, . . . ) d’une variable lors de la déclaration : il est fait automatiquement en fonction du calcul effectué. On peut affecter une valeur à une variable : E. CHEBBI 3 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab 4. Variables et constantes spéciales : Pi Π inf Plus l’infini -inf Moins l’infini NaN Not-a-Number On peut indiquer le nom de la variable dans laquelle le résultat doit être stocké (commence par une lettre, moins de 19 caractères). Attention : Matlab prend en considération les majuscules ( x est différent de X). Exemples : Evaluer dans Matlab les quantités suivantes 2 ; ; 2 4 5. Variables complexes: Matlab travaille indifféremment avec des nombres réels et complexes. Par défaut les variables i et j sont initialisées à la valeur complexe −1 . Naturellement si vous redéfinissez la variable i ou j avec une autre valeur elle n’aura plus la même signification. E. CHEBBI i Imaginaire pur j Imaginaire pur conj(X) Conjugué du nombre complexe X real(X) Partie réelle imag(X) Partie imaginaire abs(X) module angle(X) Argument(en radians) 4 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab E. CHEBBI 5 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab Exemples : Evaluer dans Matlab les quantités suivantes a=4 - 2.5i b=-2 + i c=1 + i d=(4 - 2.5i)*(-2 + i)/(1 + i) Déterminer le module et l’argument de d Déterminer le conjugué de d Calculer dd 6. Vecteurs et matrices : En fait, toute variable de Matlab est une matrice (scalaire, vecteur ou une matrice d’ordre n). On peut spécifier directement une matrice sous la forme d’un tableau, l’espace ou la virgule sépare deux éléments d’une même ligne, les points virgules séparent les éléments de lignes distinctes. 6.1. Vecteur ligne Un vecteur de type ligne possède 1 ligne et N colonnes. Sa dimension est donc 1 _ N. Par exemple, un vecteur ligne de dimension 1 x3, se déclare de la manière suivante : E. CHEBBI 6 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab Les crochets [ ] sont obligatoires et chaque élément est séparé par un espace. 6.2. Vecteur colonne Un vecteur de type colonne possède M lignes et 1 colonne. Sa dimension est donc M x1. Par exemple, un vecteur colonne de dimension 3x1, se déclare de la manière suivante : Les crochets [ ] sont obligatoires et chaque élément est séparé par un « ; ». Exécutez la commande size pour obtenir la dimension de U Exemples : Une manière de définir une matrice 3 x 3 E. CHEBBI 7 ISET Sidi Bouzid Ateliers de Mathématiques : Initiation à Matlab une autre syntaxe pour faire la même chose 7. Liste (non exhaustives) des fonctions incorporées dans Matlab Fonction Définition exp(x) Exponentielle de x log(x) Logarithme népérien de x log10(x) Logarithme en base 10 de x xˆn Logarithme en base 10 de x sqrt(x) Racine carrée de x abs(x) Valeur absolue de x sign(x) 1six > 0 et 0 si x <0 sin(x) Sinus de x cos(x) Cosinus de x tan(x) Tangente de x asin(x) Sinus inverse de x (arcsin de x) sinh(x) Sinus hyperbolique de x asinh(x) Sinus hyperbolique inverse de x rem(m,n) Reste de la division entière de m par n lcm(m,n) Plus petit commun multiple de m et n gcd(m,n) Plus grand commun diviseur de m et n factor(n) Décomposition en facteurs premiers de n E. CHEBBI 8 ISET Sidi Bouzid