Cours Matlab Réalisé par: Dr. Essid Chaker 1
Ouvrages Introduction à Matlab J.-T. Lapresté (Ellipses, 1999) Apprendre et maîtriser Matlab M. Mokhtari A. Mesbah, (Springer, 1997) Numerical Methods Using Matlab G. Lindfield J. Penny (Prentice Hall, 2nd edition : 2000) Introduction à Matlab, J.-T. Lapresté (Ellipses 1999) 2
Partie 1: Introduction à MATLAB MATLAB = MATrix LABoratory Logiciel commercial de calcul matriciel à syntaxe simple (http://www.mathworks.com) Matlab est un outil très efficace qui est largement utilisé pour le calcul numérique et la visualisation graphique. Dans Matlab, les variables et les scalaires sont manipulés comme des matrices de "n" colonnes par "m" rangées. Par exemple, un scalaire serait une matrice de 1 x 1. À l'exécution, Matlab affiche plusieurs fenêtres sur l'écran. Les trois types de fenêtres les plus importants sont: 3
Fenêtre Commande: Dans cette fenêtre, l'usager donne les instructions et MATLAB retourne les résultats. Fenêtres Graphique: MATLAB trace les graphiques dans ces fenêtres. Fichiers M: Ce sont des programmes en langage MATLAB (écrits par l'usager). Toolboxes: Ce sont des collections de fichiers M développés pour des domaines d'application spécifiques (Signal Processing Toolbox, System Identification Toolbox) Simulink: C'est l'extension graphique de MATLAB permettant de travailler avec des diagrammes en blocs. 4
Démarrage de MATLAB Trois étapes très simples : 1. Ouvrir Matlab : cliquer sur l icône (windows) ou taper la commande «matlab» (unix) 2. Écrire un script ou une «suite complexe d instructions» : éditeur de texte de Matlab 3. Exécuter ce script : après le prompt «>>» dans l espace de travail Pour accéder au logiciel, nous lançons "matlab.exe". Nous obtenons la fenêtre suivante : 5
6
Dans l espace de travail (Workspace): les variables sont définies au fur et à mesure que l'on donne leurs noms et leurs valeurs numériques ou leurs expressions mathématiques. Les variables ainsi définies sont stockées dans l'espace de travail et peuvent être utilisées dans les calculs subséquents. Pour quitter le logiciel, on tape exit ou quit. 7
Plan du cours 1. Introduction 2. Aspects élémentaires 3. Vecteurs 4. Matrices 5. Programmer en Matlab 6. Lecture de données et graphisme 8
2.1. Éléments de base Les instructions sont séparées les unes des autres par «;». Dans l espace de travail, on revient à la commande précédente par la flèche du haut; on peut le faire plusieurs fois de suite. >> help nom_fonction : donne de l aide sur une fonction ex >> help sin SIN(X) is the sinus of the elements of X >> help cos >> whos : liste des variables ouvertes dans l espace de travail 9
Fenêtre de Commande Exemple: Dans la fenêtre de commande, tapez: >>a = 4*5; À cause du point-virgule à la fin de l'expression, la réponse n'a pas été affichée sur l'écran. Pour obtenir le résultat, utilisez: >>disp(a); Ceci affichera "20" dans la fenêtre. Pour complètement effacer le "workspace" et toutes les variables en mémoire, tapez dans la fenêtre de commande: >> clear 10
Fenêtre pour figures ("Figure Window") Cette fenêtre est utilisée pour afficher des graphiques en deux ou trois dimensions, des images ou des "graphical user interface (GUI)". Exemple: Créez un fichier Matlab comme décrit auparavant. Tapez: x=1:0.01:10; y=sin(x); plot(x, y); 11
"Command window", où toutes les commandes sont entrées "Figure Windows", dans lesquelles des figures et des graphiques sont dessinés 12
2-2 Instruction de Base 13
14
15
16
. Fonctions mathématiques De nombreuses fonctions mathématiques existent déjà dans matlab sans que l on ait besoin de les programmer ex >> cos(pi) ans = -1 sin, cos, tan, sinh, cosh, tanh asin, acos, atan, asinh, acosh exp, log, log10, sqrt fix, floor, ceil, round, mod, rem, sign factor, isprime besselj, besselh, gamma, legendre fprintf, fclose, fopen, fread min, max, mean 17
18
19
20
21
22
23
Une matrice est un ensemble de lignes ayant toutes le même nombre de colonnes - Matrice définie par énumération des éléments : >> M1=[1 2 3 ; 4 5 6 ; 7 8 9] les lignes sont séparées par des «;» M1 = 1 2 3 4 5 6 7 8 9 - On peut étendre aux matrices les autres manières de définir les vecteurs : >> M2=[1:1:3 ; 11:1:13]!! respecter le même nombre de colonnes par ligne!! M2 = 1 2 3 11 12 13 - Transposition d une matrice : >> M3=M2 M3 = 1 11 2 12 3 13 24
4.4. Caractéristiques des matrices Caractéristiques principales : >> size (M2) ans = 2 3 2 lignes et 3 colonnes >> length (M2) équivaut à max (size (M2)) : dimension maximale ans = 3 >> min (M2) usage équivalent pour max (M2) et pour mean (M2) ans = 1 2 3 >> M2 (2, :) toutes les colonnes de la deuxième ligne ans = 11 12 13 >> mean (M2 (2, :)) ans = 12 25
Matrices particulières Elles servent notamment à initialiser la dimension des matrices : >> M4 = ones (3) M4 = 1 1 1 1 1 1 1 1 1 >> M5 = zeros (3,5) M5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> a = 2; >> b = 3; >> M6 = NaN * ones (a,b) M6 = NaN NaN NaN NaN NaN NaN 26
Récapitulatif des notations [ ] Énumération d éléments : Descripteur d éléments de vecteurs / matrices ( ) Ensemble d arguments, Séparateur d arguments ; Séparateur des lignes dans les matrices Suppression de l affichage dans l espace de travail du résultat de l évaluation d une instruction Transposition d une matrice / vecteur. Force l opérateur à s appliquer sur chaque élément d une matrice / vecteur % Délimiteur de commentaires Continuation de l instruction sur la ligne suivante 27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
SIMULINK SIMULINK est une plateforme de modélisation et de simulation de systèmes dynamiques. Il offre un environnement de développement graphique et une bibliothèque de blocs qui permettent de simuler divers systèmes de contrôle, communication, traitement de signaux. SIMULINK est entièrement intégré à MATLAB, ce qui procure une grande souplesse d utilisation. Il permet de créer des modèles de «haut niveau» avec une décomposition hiérarchique en blocs. 89
SIMULINK 90
91
92
93
94
95
96
97
98
99
100
101
102
103