Académique Documents
Professionnel Documents
Culture Documents
: outils logiciels
CIP2
1- Intoduction
« Matlab » est un logiciel conçu pour les calculs numériques. Le nom « Matlab » est l’abréviation
des deux mots « Matrix Laboratory » .Comme ce nom indique, Matlab est basé sur le traitement des
matrices. Autrement dit,Matlab manipule les données,les variables,les image,… comme étant des
matrices. Ce logiciel est developpé par la société américainne « mathworks » ( le site
www.mathworks.com). Le logiciel Matlab permet d’analyser les données , de developper les
algorithmes,de faire les calculs mathématiques , de faire des simulations et des modélisations des
différents systémes et de representer graphiquement les résultats obtenus.
Matlab est un logiciel permettant d’´ecrire des programmes. Il sera utilisé tout au long de
votre formation, soit pour exécuter des programmes déjà écrits par d’autres, ou bien pour réaliser des
prototypes de programmes. Quelle que soit l’utilisation que vous en aurez, il est important de savoir
manipuler ce logiciel afin qu’il soit une aide `a votre futur travail plutôt qu’un obstacle. L’objectif de ce
TP est de vous familiariser avec les bases de Matlab : présentation de l’interface, ´écriture de lignes de
code tr`es simples, et création de vos premiers programmes.
Lors de ce TP, que vous devez lire attentivement, vous devez écrire dans Matlab toutes
les lignes de code qui vous sont données afin de les tester, réaliser toutes les opérations demandées
ou suggérées, et répondre `a chaque question qui est posée.
2- Démarrage du « Matlab »
Pour démarrer «Matlab » il suffit un double clik sur l’icone Matlab . Une fenétre
appelée « fênetre de commandes » ( anglais : command window) apparait(figure 1).
L’explorateur de fichiers permet de se déplacer sur le disque dur pour éditer ou exécuter
des programmes écrits en Matlab.
La zone de commande est la zone la plus importante : elle permet d’´ecrire des
commandes `a Matlab, et de visualiser leurs résultats.
La zone des variables rassemble toutes les variables actuellement en mémoire de Matlab, et
permet de visualiser leur type, leur taille et leur contenu.
Le détail des fichiers affiche des d´etails sur le script sélectionné . C’est la zone la moins
importante. Si par accident vous fermiez une des zones, ou modifiez l’interface de Matlab et que vous
n’en étiez pas satisfait, vous pouvez revenir à la pésentation par défaut. Pour ce faire dans le menu
en haut, cliquez sur le bouton Layout, puis sur Default.
Pour quitter Matlab, vous pouvez taper « quit » ou bien « exit » mais il est conseillé d’eviter de
quitter Matlab directement par le boutton .
3- Opérations arithmétiques.
Matlab permet de faire les différentes opérations arithmétiques telles que l’addition, la
soustraction, la multiplication et la division.
Exemples :
Tapez :
» 2+3 <entrée>
ans =
On remarque que Matlab fait le calcul est affiche le résultat qui est automatiquement affecté à la
variable spécifique « ans ». On appel l’écriture « 2+3 » une commande ou une expression Matlab.
Essayer de taper les commandes suivantes et indiquer le rôle de chaque commande.
» 3-2 <entrée>
ans =
1
» 3*2 <entrée>
ans =
6
» 1/2 <entrée>
ans =
0.5000
» 2^3 <entrée>
ans =
8
» 2\1 <entrée>
ans =
0.5000
Que remarquez-vous pour ce qui concerne les commandes suivantes ?
0
» 1/0 <entrée>
ans =
Inf
» 0/0 <entrée>
ans =
NaN
Pour la première commande, on remarque que le résultat est 0. Dans la deuxième le résultat est Inf
(infini) et pour la troisième expression le résultat est NaN qui signifie Not-a-Number ( c’est pas un
nombre).
30
- tapez la commande suivante :
» b=3 ; <entrée>
»b <entrée>
b=
3
Quel est le rôle du « ; » ?
»c = a+b; <entrée>
»d = c/2; <entrée>
»who <entrée>
Your variables are:
a ans b c d
»whos <entrée>
a 1x1 8 double
ans 1x1 8 double
b 1x1 8 double
»clear b <entrée>
»who <entrée>
Your variables are:
a ans c d
La commande « who » est utilisé pour afficher les variables stocké dans le Workspace (espace de
travail)). La fonction « whos » donne plus de détails sur ces variables. La fonction « clear » sert pour
effacer une variable. Lorsqu’on tape « clear b » puis on tape « who », on remarque que la variable « b »
disparait car elle est effacée.
6- L’affichage
» x=2/3 ; <entrée>
» disp(x) <entrée>
0.6667
» format long <entrée>
» disp(x) <entrée>
0.666666666666667
» format short <entrée>
»x <entrée>
x=
0.6667
» format bank <entrée>
0.67
» format rat <entrée>
» disp(x) <entrée>
2/3
-1
» sin(pi) <entrée>
ans =
1/8165619676597685
» tan(pi) <entrée>
ans =
-1/8165619676597685
» log(2) <entrée>
ans =
1588/2291
» exp(pi) <entrée>
ans =
2431/329
» sqrt(4) <entrée>
ans =
2
» gcd(6,9) <entrée>
ans =
3
» lcm(4,3) <entrée>
ans =
12
Pour savoir le rôle et comment utiliser une fonction, on utilise la fonction « help ».
Exemple
» help sqrt <entrée>
sqrt Square root.
sqrt(X) is the square root of the elements of X. Complex
results are produced if X is not positive.
Overloaded methods:
Overloaded methods:
codistributed/sinh
gpuArray/sinh
Overloaded methods:
sym/gcd
8- Calcul complexe
Matlab manipule les variables complexes facilement :
Exemple :
» z1=2+3*i <entrée>
z1 =
2 + 3i
» z2=3+sqrt (-1)*5 <entrée>
z2 =
3 + 5i
Toutes les opérations arithmétiques vues précédemment s’appliquent normalement sur les
variables complexes.
» sqrt(z1) <entrée>
ans =
2312/1381 + 646/721i
» exp(i*pi) <entrée>
9- Les vecteurs :
Création de vecteurs par les commandes suivantes :
» v1 = [ 1 3 0 -1 5 ] <entrée>
v1 =
1 3 0 -1 5
» v2 = [ 2,4,8,-3,7,-2,1] <entrée>
v2 =
2 4 8 -3 7 -2 1
» v3 = [ ] <entrée>
v3 =
[]
» v4 = [ 1 ;3 ;0 ;-1; 5 ] <entrée>
v4 =
1
3
0
-1
5
» v5 = [2 4 8 -3 7 -2 1] <entrée>
v5 =
2
4
8
-3
7
-2
1
» b = [4 5]; <entrée>
» c = [a -b] <entrée>
Error using -
Matrix dimensions must agree.
» a = [ a 0 -1] <entrée>
a=
1 2 3 0 -1
Columns 1 through 8
1 2 3 4 5 6 7 8
Columns 9 through 10
9 10
» x = 1 : 0.5 : 4 <entrée>
x=
Columns 1 through 8
10 9 8 7 6 5 4 3
Columns 9 through 10
2 1
»x= 5:1 <entrée>
x=
Columns 1 through 8
Columns 9 through 10
1420/1017 355/226
Permet de créer un vecteur qui contient 10 éléments équidistants entre 0 et pi/2
La transposition « ‘ » :
» x = 1 : 5 <entrée>
x=
1 2 3 4 5
» x = x’ <entrée>
x = x’
|
Error: The input character is not valid in MATLAB statements or expressions.
» y = [ 1 4 8 0 -1 ]’ <entrée>
y = [ 1 4 8 0 -1 ]’
|
Error: The input character is not valid in MATLAB statements or expressions.
Les indices :
On peut repérer un élément d’un vecteur par son indice,
» r = [ 2 8 -5 6 -1 0 3] <entrée>
r=
2 8 -5 6 -1 0 3
» r (3) <entrée>
ans =
-5
» r ([ 1 7 2 6 ]) <entrée>
ans =
2 3 8 0
» r (2)=-7 <entrée>
Noter que :
L’indice est toujours citer entre parenthèses et commence par 1
L’indice est un scalaire ou un vecteur (x(1.7) est égale a x(1))
On peut aussi repérer un élément par la commande « find », exemple
» r = [ 2 8 -5 6 -1 0 3] <entrée>
r=
2 8 -5 6 -1 0 3
» find(r) <entrée>
ans =
1 2 3 4 5 7
» find(r>4) <entrée>
ans =
2 4
» w = [1 3 0 -4] ; <entrée>
» q=v*w <entrée>
Error using *
Inner matrix dimensions must agree.
» z=v*w’ <entrée>
z=v*w’
|
Error: The input character is not valid in MATLAB statements or expressions.
» p=v.*w <entrée>
p=
2 12 0 -20
» d=v./w ; <entrée>
» d=v^2 ; <entrée>
Error using ^
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.
» d=v.^2 ; <entrée>
5 7 2
-6 8 -3
» a=a’ <entrée>
a=a’
|
Error: The input character is not valid in MATLAB statements or expressions.
» x = 0 : 30 : 180 <entrée>
x=
» x = [5 6]; <entrée>
» a = [a; x] <entrée>
a=
1 2
3 4
5 6
Pour créer une matrice à partir d’autre matrice il faut faire attention à la taille des matrices.
» a = [10 20 30 ; 31 41 51 ;4 8 12]; <entrée>
» x = [5 6]; <entrée>
» a = [a; x] <entrée>
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
Indexation des éléments d’une matrice
On peut repérer les différents éléments de la matrice en donnant sa position par rapport aux lignes
et sa position par rapport aux colonnes.
» a(3,3) <entrée>
ans =
12
» e= a(2,1) <entrée>
e=
31
» a(1,3)=-11 <entrée>
» a(2) <entrée>
» a(5) <entrée>