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.
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 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,