Recent Changes - Search:

Home?

RunningExperiments

AnalysingData

MEG Group

Administrative info

Computers and network

Meetings

How to improve this site

NotesDeCours

Quelques considérations générales

Pour accéder à Matlab:

  • taper matlab dans le terminal pour afficher la version standard de matlab
  • ou taper matlab -nodesktop pour afficher matlab sans la fenêtre graphique

Pour sortir de matlab:

  • taper quit ou exit

La version graphique de matlab ouvre 3 fenêtres

  1. la fenêtre de commandes, située à droite, dans laquelle on tape les commandes
  2. la fenêtre en haut à gauche contient 2 onglets
    • Current directory: qui représente le répertoire courrant
    • Workspace qui liste les variables du repertoire de travail
      un click droit sur le nom de la variable permet de la dupliquer, la supprimer, ou de l'éditer (et donc de modifier la valeur)
  3. la fenêtre en bas à gauche contient l'historique

On peut générer 2 types de fichiers avec matlab

  • des fichiers .m dans lesquels sont stockés du code
  • des fichiers .mat dans lesquels sont stockés des résultats

Différentes commandes

  • save par défaut sauvegarde dans un fichier matlab.mat
  • what liste les .mat et .m du répertoire courant
  • clear remet la mémoire à zéro
  • who liste les variables qui sont dans le workspace
  • whos liste ces mêmes variables mais en donnant plus d'informations (taille etc...)
  • Pour passer en mode unix il faut faire précéder la commande d'un point d'exclamation (!)
    exemple: >>!rm file pour détruire le fichier file
  • path: liste les fichiers de matlab
  • which file donne le chemin d'accès au fichier file
  • addpath file place le fichier tout en haut de l'arborescence de matlab
  • rmpath file retire le fichier de l'arborescence de matlab (mais ne supprime pas le fichier pour autant)
  • help fonction affiche l'aide de la fonction en question (nécessite de connaître le nom de la fonction)
  • lookfor permet de rechercher dans l'aide une fonctionnalité
    exemple: lookfor display entraînera l'affichage de chacune des fonctions dont l'aide contient display

Navigation

  • ctrl a permet de retourner directement en début de ligne
  • ctrl e permet de retourner directement en fin de ligne
  • ctrl d supprime le caractère situé au niveau du curseur

Vecteurs et matrices

Un vecteur se définit entre crochets [ ]

  • vecteur ligne A=[1,2,3] ou A=[1 2 3] (Séparation par des virgules ou des espaces)
    >> A =

       1     2     3
  • vecteur colonne B=[5;6;7] (Séparation par des points virgules)
    >> B =

          5
          6
          7  
  • matrice C=[1 2 3; 4 5 6; 7 8 9]
    >> C =

           1     2     3
           4     5     6
           7     8     9
  • size(nom de la matrice) détermine la taille de la matrice (le premier nombre indique les lignes et le second les colonnes)
    >> size (A)

       ans =

          1     3 (le vecteur A contient 1 ligne et 3 colonnes)


    >> size (B)

       ans =

          3     1 (le vecteur B contient 3 lignes et 1 colonne)


    >> size (C)

       ans =

          3     3 (la matrice C contient 3 lignes et 3 colonnes)
  • length(nom du vecteur) définit le nombre d'éléments du vecteur
    >>length(A)

       ans =

         3

    >>length(B)

       ans =

         3
  • Transposition: On peut transposer les colonnes en lignes et les lignes en colonne d'une matrice en utilisant la commande '
    >> A'

        ans =

              1
              2
              3

    >> C'

        ans =

              1     4     7
              2     5     8
              3     6     9
  • fliplr(nom de la matrice) retourne les vecteurs ligne de la matrice(lr pour left right)
     >> fliplr(A)

          ans =

                3     2     1

     >> fliplr(C)

          ans =

                3     2     1
                6     5     4
                9     8     7
  • flipud(nom de la matrice) retourne les vecteurs colonne de la matrice (ud pour up down)
     >> flipud(C)

           ans =

                 7     8     9
                 4     5     6
                 1     2     3

Initialiser une matrice

  • zeros(n) crée une matrice ne contenant que des zéros de n lignes et n colonnes
     >> zeros(3)

           ans =

                 0     0     0
                 0     0     0
                 0     0     0
  • ones(n) crée une matrice ne contenant que des uns de n lignes et n colonnes
    >> ones(3)

           ans =

                 1     1     1
                 1     1     1
                 1     1     1
  • rand(n) crée une matrice contenant des nombres aléatoires compris entre 0 et 1 de n lignes et n colonnes.
    >> rand(3)

           ans =

                 0.8147    0.9134    0.2785
                 0.9058    0.6324    0.5469
                 0.1270    0.0975    0.9575
  • eye(n) crée une matrice de n lignes et n colonnes comprenant des 1 sur la diagonale et des zéros ailleurs
     >> eye(3)

           ans =

                 1     0     0
                 0     1     0
                 0     0     1

Manipuler les matrices et les vecteurs

  • Pour obtenir la diagonale d'une matrice, taper diag (nom de la matrice)
    >> diag(C)

          ans =

                1
                5
                9
  • Pour construire une matrice composée par tous les éléments sous la diagonale, les autres éléments étant remplacés par des 0,

taper tril(nom de la matrice) (triangulaire lower)

     >> tril(C)

          ans =

                1     0     0
                4     5     0
                7     8     9
  • Pour construire une matrice composée par tous les éléments au dessus de la diagonale, les autres éléments étant remplacés par des 0,

taper triu(nom de la matrice) (triangulaire upper)

     >> triu(C)

          ans =

                1     2     3
                0     5     6
                0     0     9
  • Pour transformer une matrice C en vecteur colonne, taper C(:)
       >> C(:)

            ans =

                  1
                  4
                  7
                  2
                  5
                  8
                  3
                  6
                  9
  • la fonction max(nom du vecteur) donne le plus grand élément du vecteur
        >> max(A)

              ans =

                    3

        >> max(B)

              ans =

                    7
  • la fonction sum(nom du vecteur) additionne tous les éléments du vecteur
       >> sum(A)

              ans =

                    6

       >> sum(B)

              ans =

                   18

       >> sum(C)

               ans =

                     12    15    18  (les colonnes sont prioritaires)
  • la fonction cumsum(nom de la matrice) donne une matrice composée de la somme cumulée des éléments
       >> cumsum(A)

              ans =

                     1     3     6

       >> cumsum(B)

              ans =

                     5
                    11
                    18

       >> cumsum(C)

             ans =

                   1     2     3
                   5     7     9
                  12    15    18
  • la fonction sort(nom du vecteur) trie les éléments du vecteur dans l'ordre croissant
         >> E=[9,3,6,5]

                 E =

                     9     3     6     5 

         >> sort(E)

                  ans =

                      3     5     6     9
  • la fonction sparse(nom de la matrice) convertit la matrice en retirant tous les zéros
         >> A=[0:3,0:4;0:8]

               A =

                    0     1     2     3     0     1     2     3     4
                    0     1     2     3     4     5     6     7     8

         >> B=sparse(A)

              B =

                (1,2)        1  (l'élément de la première ligne et de la deuxième colonne est 1)
                (2,2)        1  (l'élément de la deuxième ligne et de la deuxième colonne est 1)
                (1,3)        2  (l'élément de la première ligne et de la deuxième colonne est 3)
                (2,3)        2  (etc....)
                (1,4)        3
                (2,4)        3
                (2,5)        4
                (1,6)        1
                (2,6)        5
                (1,7)        2
                (2,7)        6
                (1,8)        3
                (2,8)        7
                (1,9)        4
                (2,9)        8

     Les éléments (1,1), (2,1) et (1,5) sont des 0 donc n'apparaissent pas.
  • La fonction full est l'inverse de la fonction sparse. Elle convertit une matrice creuse en full matrice.
     >> full(B)

          ans =

              0     1     2     3     0     1     2     3     4
              0     1     2     3     4     5     6     7     8
  • Les produits de Kronecker: kron(matriceA,matriceB) donne une matrice dans laquelle les éléments sont les produits des éléments de X par les éléments de Y.
    >> X=[1:3;4:6]

         X =

             1     2     3
             4     5     6

    >> Y=[1 10 100 1000]

          Y =

             1          10         100        1000

    >> Z=kron(X,Y)

          Z =

           Columns 1 through 9

             1          10         100        1000           2          20      200        2000           3
             4          40         400        4000           5          50      500        5000           6

          Columns 10 through 12

            30         300        3000
            60         600        6000
  • Vous pouvez observer que Z(1,1)=X(1,1)*Y(1,1), Z(1,2)=X(1,1)*Y(1,2), Z(1,3)=X(1,1)*Y(1,3), Z(1,4)=X(1,1)*Y(1,4), Z(1,5)=X(1,2)*Y(1,1), Z(1,6)=X(1,2)*Y(1,2), etc...
  • NB. Ce produit n'est pas commutatif: kron(X,Y) est différent de kron(Y,X)
      >> W=kron(Y,X)

           W =

               Columns 1 through 9

                     1           2           3          10          20          30         100         200         300
                     4           5           6          40          50          60         400         500         600

              Columns 10 through 12

                     1000        2000        3000
                     4000        5000        6000
  • Vous pouvez observer que W(1,1)=Y(1,1)*X(1,1), W(1,2)=Y(1,1)*X(1,2), W(1,3)=Y(1,1)*X(1,3), Z(1,4)=Y(1,2)*X(1,1), Z(1,5)=Y(1,2)*X(1,2), Z(1,6)=Y(1,2)*X(1,3), etc...

Opérations sur les matrices

Addition

On ne peut additionner des matrices si et seulement si elles sont de même dimension.

Multiplication

On ne peut multiplier des matrices que si le nombre de colonnes de la première matrice est égal au nombre de lignes de la seconde.

Fonction ^

  • C^2 correspond à C*C
   >> C^2

       ans =

            30    36    42
            66    81    96
           102   126   150
  • C.^2 met au carré chacun des éléments de la matrice A
   >> C.^2

        ans =

               1     4     9
              16    25    36
              49    64    81
Edit - History - Print - Recent Changes - Search
Page last modified on March 06, 2009, at 05:13 PM