Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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 lecalcul numérique et la visualisation graphique.
� Dans Matlab, les variables et les scalaires sont manipulés commedes matrices de "n" colonnes par "m" rangées. Par exemple, unscalaire serait une matrice de 1 x 1.
� À l'exécution, Matlab affiche plusieurs fenêtres sur l'écran. Les troistypes 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 cesfenêtres.
• Fichiers M: Ce sont des programmes en langage MATLAB (écritspar 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 Matlabtexte 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 lafenê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 expressionsmathématiques.
� Les variables ainsi définies sont stockées dans l'espace de travail etpeuvent ê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
8
5. Programmer en Matlab
6. Lecture de données et graphisme
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 fonctionex >> help sin
SIN(X) is the sinus of the elements of X
>> help cos
9>> whos : liste des variables ouvertes dans l’espace de travail
• 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:
Fenêtre de Commande
>>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 outrois 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;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 sin, cos, tan, sinh, cosh, tanh…
asin, acos, atan, asinh, acosh…
exp, log, log10, sqrt…
fix, floor, ceil, round, mod, rem, sign…
factor, isprime…
17
factor, isprime…
besselj, besselh, gamma, legendre…
fprintf, fclose, fopen, fread…
min, max, mean…
>> cos(pi)
ans = -1
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 !!
24
• >> 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
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 maximaleans =
3
>> min (M2) � usage équivalent pour max (M2) et pour mean (M2)ans =
25
ans = 1 2 3
>> M2 (2 , :) � toutes les colonnes de la deuxième ligneans =
11 12 13
>> mean (M2 (2 , :))ans =
12
Matrices particulières Elles servent notamment à initialiser la dimension des matrices :
>> M4 = ones (3)M4 =
1 1 11 1 11 1 1
>> M5 = zeros (3,5)M5 =
0 0 0 0 00 0 0 0 0
26
0 0 0 0 00 0 0 0 0
>> a = 2;>> b = 3;>> M6 = NaN * ones (a,b)M6 =
NaN NaN NaNNaN NaN NaN
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 matricesSuppression de l’affichage dans l’espace de travail du
27
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
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
SIMULINKSIMULINK
• SIMULINK est une plateforme de modélisation etde simulation de systèmes dynamiques. Il offre unenvironnement de développement graphique etune bibliothèque de blocs qui permettent desimuler divers systèmes de contrôle,simuler divers systèmes de contrôle,communication, traitement de signaux.
• SIMULINK est entièrement intégré à MATLAB, cequi 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