MATLAB Initiation à Matlab
Contenu du répertoire de travail Espace de travail Zone de saisie des commandes Historique des commandes
Aide en ligne Fonctions élémentaires de MATLAB Toolbox : des fonctions prédéfinies organisées par type.
Calculs élémentaires Dans la fenêtre de commandes on peut saisir n’importe quelle opération de calcul en utilisant les opérateurs classiques : +, -, *, /, ^. Les parenthèses s’utilisent de manière classique comme sur une calculette. Exemple : L’opération donne un résultat de 2.5 qui est affecté à une variable « ans ». Dans l’espace de travail on verra apparaitre la variable « ans » qu’on peut visualiser en la sélectionnant et en la double cliquant. Si je rentre une nouvelle commande pour un nouveau calcul, la variable « ans » prendra comme valeur le nouveau résultat.
Les variables Le calcul effectué précédemment a été stocké dans une variable de nom « ans ». On peut créer autant de variables qu’on veut sans les définir préalablement comme c’est le cas des langages classiques. Leur type (entier, réel,…) s’affectera automatiquement en fonction du calcul effectué. Pour affecter la valeur 1.2 à la variable a, il suffit d’écrire a=1.2. >> a = 1.2 a = 1.2000 On peut utiliser cette variable pour faire un nouveau calcul : >> b = 5*a^2+a b = 8.4000 On peut ensuite utiliser ces deux variables dans un autre calcul dont le résultat sera affecté à la variable c: >> c = a^2 + b^3/2 c = 297.7920 Attention MATLAB fait la différence entre les majuscules et les minuscules.
Les variables On peut supprimer la variable « a » par exemple en écrivant : >> clear a Si aucune variable n’est spécifiée toutes les variables sont supprimées On peut aussi la sélectionner dans l’espace de travail et la supprimer avec un clic droit puis « Delete » Il existe des variables prédéfinies tel que pi ( ) et d’autres encore.
Les fonctions prédéfinies Il existe un nombre important de fonctions prédéfinies. Si vous allez dans « Help/Function browser » vous allez voir apparaitre une liste de fonctions organisées par type. Si vous sélectionnez une fonction particulièrement, vous allez avoir une aide sur l’utilisation de cette fonction . Dans cet exemple nous avons choisi la fonction sinus dont l’argument doit être rentré en radian. >> sin(pi) ans = 1.2246e-016
Matrices ou tableaux Une matrice est saisie entre crochets [ et ] pour désigner le début et la fin de la matrice. Pour définir la variable A contenant la matrice: On écrira : >> A=[5 ,11, 2;8, 3, 7;2, 1, 8] A = 5 11 2 8 3 7 2 1 8 La virgule sert de séparateur de colonnes et le point virgule sert de séparateur de lignes. On peut également utiliser le blanc au lieu de la virgule. Essayez pour voir.
Accès à un élément d’un tableau Pour savoir la valeur d’une cellule dans un tableau ou d’une matrice, il suffit d’indiquer le nom de la matrice et des indices de la valeurs recherchée. Par exemple si on veux savoir la valeur qu’occupe la ligne 2 et la colonne 3 on écrira >> A(2,3) ans = 7 On peut modifier un seul élément du tableau. Par exemple je veux que A(2,3) ne soit plus égale à 7 mais à 25 : >> A(2,3)=25 A = 5 11 2 8 3 25 2 1 8
Extraction de sous-tableaux tableau(début:fin, début:fin) tableau(début:fin, début:fin) Extraction de sous-tableaux La syntaxe générale pour extraire un bloc du tableau A est la suivante: A(ligne_début:ligne_fin,colonne_début:clonne_fin) Les deux points « : » servent à indiquer la plage de lignes ou de colonnes. Exemple : si on veut extraire les deux colonnes des deux premières lignes on écrit : A(1:2,1:2) ans = 5 11 8 3 Si on utilise le caractère « : » sans rentrer de valeurs, MATLAB affiche tous les indices possibles A(1:2,:) ans = 5 11 2 8 3 25 Ici, MATLAB affiche toutes les colonnes pour les lignes 1 à 2.
Composer une matrice à partir de plusieurs blocs B=[A;A] B = 5 11 2 8 3 25 2 1 8 B=[A A] B = 5 11 2 5 11 2 8 3 25 8 3 25 2 1 8 2 1 8 OU Exercice : ajoutez la ligne [1 2 3] à la matrice A
Opérations sur les tableaux Les deux opérations soustraction et additions se font naturellement, mais il faut que ce soient deux matrices de même taille. A+A ans = 10 22 4 16 6 50 4 2 16 Les opérateurs .*, ./ et .^ servent pour effectuer respectivement, une multiplication, division ou puissance terme à terme. Exemple : Ici les termes de la matrice A ont été élevé au carré. Si on oublie le point avant l’opérateur c’est la matrice qui élevée au carré et pas les valeurs qui constituent la matrice. Le résultat est donc le produit de matrice A par elle-même. A.^2 ans = 25 121 4 64 9 625 4 1 64 >> A^2 ans = 117 90 301 114 122 291 34 33 93
Génération de matrices particulières >> B=zeros(2) B = 0 0 Cette fonction génère une matrice de taille 2*2 d’éléments nulles. Si on veux générer une matrice ayant un nombre de ligne différent du nombre de colonnes, il suffit de le spécifier : essayez B=zeros(2,4) par exemple B=ones(2) B = 1 1 La fonction « ones » crée une matrice dont les éléments sont égaux à 1.
Trouver les indices d’une valeur La fonction « find » permet de localiser une valeur ou un ensemble de valeurs dans un tableau Ici, nous avons demandé à MATLAB de trouver la position de la valeur 2 dans la matrice A. La valeur 2 se trouve à la ligne 3 colonne 1 et à la ligne 1, colonne 3. Remarquez, l’égalité est désignée par l’opérateur == . L’opérateur = est utilisé pour affecter une valeur à une variable. >> [r,c]=find(A==2) r = 3 1 c = A = 5 11 2 8 3 25 2 1 8 >> A(r,c)=5 A = 5 11 5 8 3 25 5 1 5 Avec cette commande, on remplace les deux valeurs localisées par 5
Taille des tableaux >> size(A) ans = 3 3 La fonction « size » permet de savoir la taille d’une matrice (nombre de lignes et colonnes) >> length(A) ans = 3 La fonction « length » permet de savoir la taille d’un vecteur, ou comme ici la plus grande dimension d’une matrice.
Graphique 2D L’instruction « plot » permet de tracer un graphique simple représentant deux vecteurs. Plot(vecteur en abscisses, vecteurs en ordonnées) Tappez les commandes suivantes: La première commande crée un vecteur x de 0 à 2 avec un incrément de /4; La seconde commande crée un vecteur y qui est le sinus de x; La troisième commande trace y en fonction de x. >> x=0:pi/4:2*pi; >> y=sin(x); >> plot(x,y)
Graphique 2D On peut ajouter des informations sur notre graphique pour le rendre plus clair. Par exemple, on peut ajouter des titres pour les deux axes. Il existe deux manières de le faire : Le plus simple, c’est d’utiliser le menu de la fenêtre graphique. Il suffit de choisir l’anglet « Insert » et sélectionner ensuite « X Label » pour l’axe des abscisses, « Y Label » pour l’axe des ordonnées ou « Title » pour le titre de la figure. La seconde manière de réaliser cette opération est d’ajouter une commande du type : >> xlabel('abscisse‘) Cette commande aura pour effet d’ajouter « abscisse » comme titre des abscisse.
Graphique 2D Il est également possible de tracer sur la même figure plusieurs graphiques. >> plot(x,y) >> x=0:pi/4:2*pi; >> y=sin(x); >> z=cos(x); >> hold on >> plot(x,z) La commande « hold on » permet de maintenir la fenêtre « Figure 1 » ouverte pour y ajouter un graphique. Si on veut créer un nouveau graphique sur la même figure en ayant effacé l’ancien, il suffit d’écrire « hold off » Si on veux garder l’ancienne figure et tracer un nouveau graphique sur une autre fenêtre, il suffit d’écrire : figure(2) qui ouvre seconde fenêtre dans ce cas.
Graphique 2D Pour différencier les deux courbes tracées dans la figure précédente, il suffit de les caractériser par des couleurs différentes ou des symboles différents. Ajouter dans les argument de la fonction plot ‘b’ pour bleu ou ‘r’ pour rouge par exemple. >> hold off >> plot(x,y,'b') >> hold on >> plot(x,z,'r') Pour en savoir un peu plus sur la fonction plot, il suffit d’aller dans le menu « Help », « Product Help » et de taper plot.
Graphique 2D On peut ajouter une légende, il suffit pour cela d’écrire : >> h = legend('sin(x)','cos(x)',2); Ici, sin(x) pour la première courbe et cos(x) pour la seconde. Ici, la légende est placée en haut à gauche. Retapez la commande en remplaçant 2 par 1, 3 ou 4 pour voir les différents emplacement de la légende.
Lire un fichier Excel x=xlsread('98_1mn.xlsx'); Cette commande permet de lire le fichier Excel « 98_1mn.xlsx » et de l’affecter à la variable x. Ouvrez le fichier sous son format d’origine et ensuite sur Matlab et comparez les deux fichiers.