INTRODUCTION

J'ai rédigé ce didacticiel il y a très longtemps. Les choses ont beaucoup évolué depuis. Je le publie quand même, vous y trouverez certainement des choses utiles.

Ce tuto doit être visualisé sur un PC


MATLAB  (Matrix Laboratory)  est  un  environnement de programmation très adapté aux calculs numériques.  Il  associe  puissance  de  calcul,  simplicité  de  visualisation  et programmation  aisée  à  l'aide  d'un  langage  très  proche  de  l'écriture  mathématique habituelle. 

La  librairie  mathématique  de  MATLAB    est  constituée  d'une  vaste collection de fonctions de calcul allant des fonctions élémentaires comme sqrt,  sin  et cos  jusqu'à  des  fonctions  bien  plus  complexes  comme  l'inversion  d'une  matrice,  le calcul de ses valeurs propres, le calcul des fonctions de Bessel ou de la transformée de Fourier rapide.

L'élément de base de Matlab est la matrice. Toutes les opérations et les fonctions se font directement sur des matrices. Ceci lui confère une rapidité de calcul impressionnante.

Le tracé de courbes devient un jeu d'enfants grâce à un ensemble de fonction graphiques prédéfinies. Par exemple, il suffit de taper les deux lignes suivantes dans la fenêtre de commande Matlab pour obtenir la figure ci-dessous
x = 0:0.1:14;
plot(x,sin(x));grid;



En réalité, la  vraie  puissance  de  MATLAB    réside  dans  la  disponibilité  de  librairies appelées  toolboxe  constituées  de  fonctions  préprogrammées  (m-files)  directement exécutables dans l'environnement MATLAB. Les toolboxes couvrent un grand nombre de  domaines  scientifique  comme  le  traitement  du  signal,  les  télécommunications,  la mécanique, les statistiques, l'automatique …

Les commandes MATLAB   peuvent être exécutées individuellement dans la fenêtre de commande MATLAB   ou peuvent être groupée dans un fichier ayant l'extension .m formant ainsi un scripte exécutable sous  MATLAB    qu'on appèlle communément m-file.

Pour avoir une liste des fonctions mathématiques élémentaire, tapez :
help elfun

Pour avoir une liste de fonctions plus sophistiquées, tapez :
help specfun ou help matfun

Certaines fonctions comme  sqrt,  sin  ou  cos  sont implantée dans le noyau  MATLAB,(built-in function), elles s'exécutent très rapidement mais on ne peut pas consulter le détail de leurs algorithmes de calculs. Les autres fonctions sont implémentées en mfile qui sont des fichiers texte  que l'on peut consulter pour s'en inspirer et même les modifier.


La fenêtre de commande Matlab

Matlab est un langage interprété. Quand on démarre Matlab, en obtient la fenêtre suivante:


Le signe >> signifie que nous avons la main. Si on tape des instructions dans cette fenêtre, elles sont interprétées immédiatement. Si on définie des variables, elle sont stockées dans l'espace de travail durant toute la séance de travail.


Le point virgule

Si on termine une instruction par un point-virgule (;), Matlab l’interprète, mais  n'affiche rien en réponse. Le résultat (s'il y en a un) est stocké dans l'espace de travail.
>> x = 1;
>> y = sin(x);
Plus tard,  il suffira de taper le nom de la variable suivi de ⏎ pour voir sa valeur. On verra plus tard d'autres méthodes d'affichage comme disp(), fprintf() ...
>> y
y =
    0.8415

Si on ne termine pas la ligne par un point virgule, Matlab affiche le résultat de l'instruction immédiatement dans la fenêtre de commande. Si l'instruction n'affecte le résultat à aucune variable, matlab l'affecte à la variable ans. Cést une variable système qui contient toujours le résultat de la dernière instruction.
>>  x = cos(pi)
         x  =    -1
>> sin(pi/2)
        ans  =    1


la MATRICE est reine

La matrice constitue l'élément de base dans Matlab

  • Scalaire
  • Un scalaire est considéré comme une matrice 1x1, une ligne, une colonne.
    >> a = 5;
    >> size(a)
    ans =      1     1

  • Matrice ligne ou vecteur ligne
  • C'est une matrice à une ligne et plusieurs colonnes.
    >> a = [3 7 9 5 8]
    a =      3     7     9     5     8

    >> size(a)
    ans =      1     5

  • Matrice colonne ou vecteur colonne
  • C'est une matrice à plusieurs lignes et une seule colonne.
    >> a = [3 4 5 6 7]'
    a =
         3
         4
         5
         6
         7

    >> size(a)
    ans =      5     1

    Vous avez remarqué que le caractère apostrophe (' ) est un opérateur de transposition.

    Il y a une autre façon de définir un vecteur colonne:
    >> b = [20; 45; 30;  22]
    b =
        20
        45
        30
        22

  • Matrice rectangulaire
  • >> a = [10 20 30 40; 15 25 35 45; 50 60 70 80]
    a =
        10    20    30    40
        15    25    35    45
        50    60    70    80

    >> size(a)
    ans =      3     4


    Les opérations

    La variable de base étant la matrices, les opérations s'appliquent à tous les éléments de la matrice.

    >> a = [10 20 30 40; 15 25 35 45; 50 60 70 80]
    a =
        10    20    30    40
        15    25    35    45
        50    60    70    80

    >> b = a + 5
    b =
        15    25    35    45
        20    30    40    50
        55    65    75    85

    >> c = 2 * b
    c =
        30    50        70      90
        40    60        80    100
       110   130   150   170

    >> d = log(c)
    d =
        3.4012    3.9120    4.2485    4.4998
        3.6889    4.0943    4.3820    4.6052
        4.7005    4.8675    5.0106    5.1358

    Voir cette section pour plus de détail sur les opérations sur les matrices,