Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
-----------------------------------------------------------------------------------------------------------------
Introduction
Matlab ( de MATrix LABoratory) est développé et commercialisé par la société américaine Math
Works1 . Matlab est à la fois un langage de programmation et une plateforme de développement
destinée au calcul scientifique. C’est un outil simple et très efficace, indispensable pour l’ingénieur
soit en tant qu’étudiant, soit dans sa vie professionnelle. Au fur et à mesure qu’il progresse dans
sa formation académique il a à traiter des sujets de plus en plus compliqués à moins de posséder
une bibliothèque de fonctions très complète. Matlab dispose d’une banque de librairie très
étendue en plus d’un environnement de programmation très convivial (voir figure 1).
Il évolue continuellement et est considéré comme étant un langage de haut niveau, avec un
environnement interactif permettant de réaliser des taches très couteuses avec une vitesse plus
rapide que les langages traditionnels. Son principal avantage est l’utilisation d’un langage
interprété (Ainsi, dans un programme MATLAB chaque instruction est interprétée et évaluée
avant de passer à l’instruction suivante, ce mode d’exécution nécessite un interpréteur). Il exécute
les commandes introduites sans passer par l’étape de compilation. En plus, il possède un très
grand nombre de fonctions allant des fonctions élémentaires telles que les fonctions
trigonométriques, les opérations sur les matrices, la génération de nombres aléatoires jusqu’aux
fonctions les plus compliquées telles que les méthodes numériques pour le calcul matriciel ou la
résolution d’équations différentielles ou encore les méthodes d’optimisation. Il contient aussi des
outils de représentation graphique en 2D ou 3D.
Ce document a pour but de vous familiariser avec le logiciel Matlab. Ici, on présente Matlab dans
un contexte pratique d’utilisation, autrement dit, comment utiliser Matlab pour résoudre un
problème. Un résumé de quelques fonctions et commandes utiles est présenté.
Pour démarrer Matlab, ouvrir le groupe Matlab for Windows puis placer le curseur sur l’icône de
Matlab et appuyer 2 fois sur le bouton gauche de la souris. Une fois lancé, La 1ere fenêtre qui
apparait sur l’écran est la fenêtre de commande (voir figure 2). L’Interface graphique de Matlab se
présente comme plusieurs fenêtres avec une barre de menu.
----------------------------
1. http://www.mathworks.com
2. http://www.mathworks.com/products/matlab/index.html
Toutes les interactions avec le logiciel s’effectuent dans cette fenêtre. A droite, la fenêtre
principale permet d’écrire et de lancer les commandes. En dessous à gauche, on dispose d’une
fenêtre Command history qui contient l’historique des commandes. On évite ainsi de réécrire
d’anciennes (longues) commandes et ceci en cliquant sur la commande qu’on veut lancer. Il est
possible ainsi de relancer une ancienne commande en tapant sur la flèche du haut du clavier dans
la fenêtre de commandes. A gauche, en haut, on a aussi le choix entre 2 fenêtres : un workspace
montrant l’ensemble des variables déjà déclarées et une fenêtre Current directory affichant les
fichiers de répertoire courant.
Le répertoire courant
Fig.3 Interface graphique de Matlab (2)
Le curseur de Matlab est représenté par le symbole ‘>>’. Les commandes ainsi que les lignes de
calculs sont entrées à partir de ce curseur.
Les programmes sauvés dans les fichiers matlab (*.m) sont alors directement utilisables comme
des fonctions Matlab à partir de la fenêtre de commande. Pour cela le répertoire dans lequel se
trouve le fichier doit se trouver dans les chemins reconnus par celui-ci ( → File → Set Path…). Il
est toutefois conseillé de toujours sauver ces programmes dans un même répertoire de travail.
Pour quitter Matlab, on a le choix entre la sélection de ‘Exit Matlab’ dans le menu ‘File’ ou bien
taper la commande ‘Exit’ dans la fenêtre des commandes.
Pour connaitre tous les détails de fonctionnement du logiciel il faut consulter le manuel
de Matlab.
1- Notions de base
1.1 La fenêtre de commande Matlab
Lorsque vous ouvrez Matlab vous vous retrouvez face à un prompt (le plus souvent 2 guillemets)
qui vous invite à entrer des commandes. L'une des plus utiles est assurément help qui appelle
pour vous la commande d'aide. Utilisée seule et sans argument, la commande help affiche la liste
des sujets pour lesquels l'aide est disponible, chaque sujet étant accompagné d'une brève
description des fonctionnalités qu'il contient.
Il y a aussi la commande help help, elle est utilisable avec deux types de paramètres :
. help sujet renvoie l'aide sur un sujet complet. Par exemple, help matfun affiche l'aide relative
aux fonctions agissant sur des matrices.
. help commande décrit une commande unique. Par exemple, help schur affiche l'aide relative à
la commande schur qui permet de décomposer une matrice selon la forme de Schür.
Que ce soit relativement à un domaine ou a une commande unique, l’aide se décompose toujours
en deux parties :
1) une courte description de quelques mots : l'entête de l'aide
2) quelques lignes décrivant plus en détails la méthode et que nous appelons : le corps de l'aide
La commande lookfor mot permet de retrouver la liste de toutes les commandes dont l'entête
d'aide contient "mot". Ces dernières sont affichées accompagnées de leur entête d’aide.
L'exécution de cette commande peut prendre un certain temps, car Matlab est obligé de
rechercher dans tous les fichiers d'aide à sa disposition.
Précision importante:
Matlab est sensible à la casse des commandes. Et, quand bien même l’aide de Matlab indique le
nom des commandes en majuscule, il est impératif de taper en minuscules le nom de toutes les
commandes prédéfinies de Matlab, qu’elles soient internes ou externes.
» tklp???
Undefined function or variable tklp.
»
Lorsque vous tapez une expression simple sur la ligne de commande, le résultat de celle-ci est
automatiquement affecté à la variable prédéfinie ans.
De manière générale, une ligne de commande Matlab est de la forme : variable(s) = expression
où expression est une commande Matlab quelconque. Par exemple :
» x=0.5
x=
0.5000
» y=cos(1-x^2)
y=
0.7317
» v=[x y]
v=
0.5000 0.7317
«
Si les deux premiers cas se passent de commentaire, le troisième montre comment générer un 2-
vecteur en concaténant les variables x et y à l'aide de l’opérateur [ ]. Notez que le caractère de
séparation des éléments à l'intérieur d'un vecteur est l'espace. Nous reviendrons en détail sur les
tableaux car ils constituent l'élément fondamental de Matlab.
La commande who permet de connaître à un instant donné la liste des variables utilisateur. Par
exemple :
« who
Your variables are:
avxy
«
Cette liste est utile lorsque l'on souhaite connaître la liste des identificateurs utilisés (par exemple,
au moment de créer une nouvelle variable). Toutefois, les informations proposées sont trop
limitées pour permettre de gérer la mémoire du système. Dans ce cas, on préférera la commande
whos dont nous donnons un exemple :
« whos
Name Size Elements Bytes Density Complex
a 3 by 3 9 72 Full No
v 1 by 2 2 16 Full No
x 1 by 1 1 8 Full No
y 1 by 1 1 8 Full No
Grand total is 13 elements using 104 bytes
«
1.4 Matrices
1.4.1 Création de matrices
Une matrice est un ensemble de lignes comportant toutes le même nombre de colonnes Matlab,
depuis la version 5, supporte les matrices à n dimensions (n>2)
a) Par énumération des éléments
>> m1 = [ 1 2 3 ; 4 5 6 ; 7 8 9] % on sépare les lignes par des point-
virgules
m1 =
1 2 3
4 5 6
7 8 9
On peut étendre aux matrices les autres manières de définir des vecteurs.
Par exemple:
1.4.2 Transposition
L’opérateur apostrophe utilisé pour créer un vecteur colonne est en fait l’opérateur
transposition:
>> m2’
ans =
1 11
2 12
3 13
Une exception:
>> m2^2
??? Error using ==> ^
Matrix must be square.
Dans ce cas, Matlab veut calculer le produit matriciel m2 * m2. La solution est l’usage du
point qui force l’opération sur chaque élément:
>> m2.^ 2
ans =
1 4 9
121 144 169
b) Divisions
>> m2/m3 % division matricielle à droite
ans =
1.0000 -0.0000
9.5406 -1.5960
>> ones(3)
ans =
1 1 1
1 1 1
1 1 1
>> zeros(2,5)
ans =
0 0 0 0 0
0 0 0 0 0
>> eye(4) % aussi: eye(2,4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> A = [1 2 3 ; 4 5 6 ; 7 8 9 ]
A =
1 2 3
4 5 6
7 8 9
Les opérateurs arithmétiques précédés d’un point ‘.’ Effectuent leur opération élément par
élément. Soit la matrice A définie comme précédemment, le résultat de A.^2 est tout à fait
différent de A^2. La première élève chacun des éléments de A à la puissance 2 alors que la
seconde opération est traduite en AxA.
On peut couper une ligne de calcul en plusieurs lignes d’écran par la commande de continuité
‘…’. Ainsi :
>> x = 12/4 + foo(y)^2, …
x=X+1 ;
est identique à la ligne sans les 3 points.
Il faut retenir que la variable x n’est pas la même que X car Matlab distingue les majuscules des
minuscules. ainsi, vous pouvez définir des variables portant des noms à la manière des langages
de programmation évoluées.
a)For
for n = 1:5
for m = 5:-1:1
A(n,m) = n^2 + m^2;
end
disp(n)
end
1
2
3
4
5
>> A
A =
2 5 10 17 26
5 8 13 20 29
10 13 18 25 34
17 20 25 32 41
26 29 34 41 50
b) While
while expression
(commands)
End
c) If-then-else
if expression1
(commandes à exécuter si expression1 est“vrai”)
elseif expression2
(commandes à exécuter si expression2 est“vrai”)
else
(commandes à exécuter si aucune expression est “vrai”)
end
2- Composants de Matlab
2.1 Interface de commande
Les fichiers de fonctions ont deux rôles. Ils permettent à l'utilisateur de définir des
fonctions qui ne figurent pas parmi les fonctions incorporées de MATLAB (<<
built-in functions >>) et de les utiliser de la même manière que ces dernières (ces
fonctions sont nommées fonctions utilisateur). Ils sont également un élément
important dans la programmation d'applications où les fonctions jouent le rôle des
fonctions et procédures des langages de programmation usuels.
séquence d'instructions
où
Introduction à Simulink
Simulink est l'extension graphique de MATLAB permettant de représenter les fonctions
mathématiques et les systèmes sous forme de diagramme en blocs, et de simuler le
fonctionnement de ces systèmes.
Démos
CONSTRUCTION D'UN DIAGRAMME SIMULINK
Pour commencer, dans le menu File, on choisit New - Model. Une fenêtre de travail Untitled
s'ouvrira.
Ouvrir les collections de blocs en cliquant dessus (double). Faire glisser dans la fenêtre de travail
les blocs dont on a besoin pour construire le diagramme. Faire des liaisons entre les blocs
à l'aide de la souris.
Lorsqu'on clique (double) sur un bloc, une fenêtre de dialogue s'ouvrira. On peut alors changer
les paramètres de ce bloc. Une fois terminé, on ferme la fenêtre de dialogue.
Une fois le diagramme terminé, on peut l'enregistrer dans un fichier: dans le menu File, choisir
Save As et donner un nom (*.mdl) au fichier.