Chapitre 1 Initiation ` a Matlab MATLAB est un logiciel de calcul et de visuali
Chapitre 1 Initiation ` a Matlab MATLAB est un logiciel de calcul et de visualisation, dont les entit´ es de base sont des matrices : MATLAB est une abr´ eviation de Matrix Laboratory. MATLAB est un langage interpr´ et´ e : il propose des facilit´ es de programmation et de vi- sualisation, ainsi qu’un grand nombre de fonctions r´ ealisant diverses m´ ethodes num´ eriques. La meilleure fac ¸on d’apprendre ` a utiliser ce logiciel est de l’utiliser vous mˆ eme, en faisant des essais, en commettant des erreurs et en essayant de comprendre les messages d’erreur qui vous seront renvoy´ es. Ces messages sont en anglais ! Ce document est destin´ e ` a vous aider pour quelques premiers pas avec MATLAB. Les sections et sous-sections signal´ ees par (*) donnent des compl´ ements qui pourront vous ˆ etre utiles ` a l’avenir, mais peuvent ˆ etre r´ eserv´ ees pour une lecture ult´ erieure. 1.1 Pour commencer Nos salles de TP utilisent un environnemment Linux. Pour acc´ eder au logiciel MAT- LAB, vous avez plusieurs possibilit´ es : - Vous pouvez utiliser les icˆ ones du menu d´ eroulant de KDE, et suivre les arbores- censes ` a partir du menu CRI. Vous aurez acc` es ` a plusieurs versions de MATLAB. Les sessions compl` etes mettent en œuvre une machine virtuelle java. Elles peuvent se r´ ev´ eler un peu trop lourdes lorsqu’il y a de nombreux utilisateurs. Elles ouvrent une fenˆ etre du type de celle repr´ esent´ ee ` a la figure 1.1. - Vous pouvez acc´ eder aux mˆ emes versions ` a partir d’un terminal. C’est cette fac ¸on de proc´ eder que nous vous recommandons. Elle vous permet en effet de mieux organiser votre travail. Vous devez : – ouvrir un terminal (icˆ øne sur la barre de tˆ ches de votre ´ ecran), – cr´ eer un r´ epertoire pour le TP en cours. Aujourd’hui, vous aller cr´ eer le r´ epertoire InitMatlab en entrant la commande : mkdir InitMatlab – vous rendre dans ce r´ epertoire : cd InitMatlab – lancer par exemple une session compl` ete : 1 2 CHAPITRE 1. INITIATION ` A MATLAB matlab -jvm FIG. 1.1 – Exemple de session matlab avec le support java (matlab -jvm). Vous reconnaˆ ıtrez votre fenˆ etre de travail par le “prompt” : >> Vous pourrez quitter MATLAB en tapant dans cette fenˆ etre : >> quit Dans la suite de cette s´ eance, vous ˆ etes invit´ es ` a tester les instructions pr´ esent´ ees en les tapant apr` es le “prompt”. Les instructions et variables MATLAB sont donn´ ees dans une typographie de machine ` a ´ ecrire. Les op´ erations math´ ematiques et valeurs repr´ esent´ ees par ces variables sont ´ ecrites en italiques. Un certain nombre de fichiers vous sont fournis. Vous pourrez les r´ ecup´ erer en utilisant un navigateur et en vous rendant ` a l’adresse : http ://www-gmm.insa-toulouse.fr/∼huard/InitMatlab/ 1.2 Utiliser les aides en ligne 1.2.1 La recherche par mot clef La commande lookfor est une commande de recherche par mot clef. Elle permet de retrouver toutes les fonctions MATLAB dont les commentaires introductifs contient une chaine de caract` eres donn´ es. 1.2. UTILISER LES AIDES EN LIGNE 3 Si, par exemple, je cherche une fonction permettant de tracer un histogramme, je peux entrer l’instruction : lookfor histogram En r´ eponse, j’obtiens la liste suivante : HIST Histogram. HISTC Histogram count. ROSE Angle histogram plot. On utilise ensuite la commande help pour plus de pr´ ecisions. Cette commande af- fiche les commentaires de la fonction indiqu´ ee. Ces commentaires contiennent l’objet de la fonction ainsi que les diff´ erents formats d’appel. Ils contiennent ´ egalement une rubrique “See Also” qui donne les noms de fonctions dont l’objet est en rapport avec la fonction consid´ er´ ee. Ces commentaires sont affich´ es sur la fenˆ etre de travail. FIG. 1.2 – Page d’accueil de la fenˆ etre ouverte par helpwin. 1.2.2 La recherche par navigation La fonction helpwin ouvre une fenˆ etre qui donne acc` es ` a ces commentaires sur une fenˆ etre s´ epar´ ee. L’acc` es est arborescent, partant d’un classement par domaine d’applica- tion jusqu’` a l’aide de chaque fonction. Le lien est fait avec les aides des renvois sugg´ er´ es par la rubrique “See Also”. 4 CHAPITRE 1. INITIATION ` A MATLAB La figure 1.2 nous montre sa page d’accueil. On peut cliquer sur une ligne pour conti- nuer sa recherche... La commande helpdesk donne acc` es ` a une documentation hypertexte compl` ete support´ ee par le navigateur internet. Il suffit alors de se laisser guider dans sa recherche. Cette aide n’est pas accessible lorsque l’on utilise MATLAB sans le support java. 1.3 Variables et Matrices 1.3.1 Matrices Dans MATLAB, toutes les variables repr´ esentent des matrices. Par exemple, on multi- plie deux matrices a et b par a*b, et le produit de deux scalaires s’´ ecrit de la mˆ eme fac ¸on : ils sont interpr´ et´ es comme des matrices 1X1. On peut d´ efinir une matrice dans MATLAB de plusieurs fac ¸ons : – par la liste de ses ´ el´ ements, – en la g´ en´ erant par une suite d’instructions et de fonctions, – en la lisant dans un fichier ext´ erieur. Si l’on repr´ esente la touche enter de votre clavier par le symbole ← -, les instructions suivantes : >> A = [3 2 -2 ;-1 0 1 ;1 1 0] ← - et >> A = [ ← - 3 2 -2 ← - -1 0 1 ← - 1 1 0 ] ← - cr´ eent la mˆ eme matrice 3X3. Dans la suite, le symbole ← - ne sera plus indiqu´ e. Le symbole = d´ esigne l’op´ erateur d’affectation. Il permet de fixer ou de changer la valeur d’une variable. En ayant ´ execut´ e l’une ou l’autre de ces commandes, vous aurez remarqu´ e que MAT- LAB affiche la valeur de la variable A que vous venez de d´ efinir. Vous pouvez ´ eviter l’affi- chage en faisant suivre la commande d’un point-virgule. Ne la retapez pas pour le v´ erifier ; en utilisant la fl` eche ascendante de votre clavier ↑, vous pouvez rappeler la commande >> A = [3 2 -2;-1 0 1;1 1 0] et ajouter le point-virgule >> A = [3 2 -2;-1 0 1;1 1 0] ; MATLAB distingue les majuscules et les minuscules ; si vous tapez : >> a vous recevrez le message : 1.3. VARIABLES ET MATRICES 5 ??? Undefined function or variable ’a’. L’ensemble des variables actives peut ˆ etre consult´ e grˆ ace aux commandes whos et who : >> t = 1; >> whos Name Size Bytes Class A 3x3 72 double array Grand total is 9 elements using 72 bytes La commande clear permet de d´ etruire une variable. >> who Your variables are: A t >> clear t >> who Your variables are: A La commande clear all r´ einitialise l’environnement (en d´ etruisant toutes les va- riables actives). L’´ enum´ eration des ´ el´ ements d’une matrice ou d’un vecteur peut ˆ etre implicite. Es- sayez par exemple : >> m = [-3:3] >> x = [1:-0.25:-1] Les matrices m et x sont des matrices ` a une ligne (vecteurs-lignes). MATLAB vous fournit les dimensions d’une variable par la fonction size : >> size(m) ans = 1 7 Si l’on veut un vecteur, on peut taper >> m = m’ ou >> x = x(:) L’apostrophe d´ efinit la transposition : A’ repr´ esente la matrice AT. Les deux points imposent le format colonne : 6 CHAPITRE 1. INITIATION ` A MATLAB >> format compact % pour ´ eviter les sauts de ligne ` a l’affichage. >> A’ ans = 3 -1 1 2 0 1 -2 1 0 >> A(:)’ ans = 3 -1 1 2 0 1 -2 1 0 On peut aussi cr´ eer directement un vecteur en s´ eparant les composantes par un point- virgule : >> b = [3 ; 0 ; 2 ] ; size(b) Un coefficient quelconque d’une matrice est r´ ef´ erenc´ e par ses indices de ligne et de colonne, dans cet ordre. Par exemple, l’instruction : >> A(1,2) renvoie la r´ eponse : ans = 2 ans est le nom d’une variable qui rec ¸oit le dernier r´ esultat d’une instruction ou d’une suite d’instructions lorsqu’il n’a ´ et´ e affect´ e ` a aucune variable. On peut faire s’afficher la valeur d’une variable sans affichage de son nom ni de ans >> disp(A(1,2)) Certaines fonctions de MATLAB cr´ eent des matrices particuli` eres. Les quelques ma- trices suivantes sont parmi les plus couramment utilis´ ees : – eye(n) renvoie la matrice identit´ e, habituellement not´ ee In en math´ ematiques ; essayez eye(4), – ones(n,m) renvoie une matrice ` a n lignes et m colonnes dont tous les coeffi- uploads/Industriel/ cours-initiation-a-matlab.pdf
Documents similaires










-
40
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 11, 2022
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.3934MB