37
Chapitre 3. Les Fonctions Prédéfinies
Chapitre 3. Les Fonctions Prédéfinies 38
Chapitre 3. Les Fonctions Prédéfinies
1. Introduction
Les bibliothèques et librairies Matlab sont très riches et diversifiées en matière
de fonctions mathématiques utilisées sur des vecteurs ou matrices. Matlab compte
des milliers de fonctions, dans les prochains chapitres nous allons voir les fonctions
générales et opérateurs arithmétiques relatifs au calcul matriciel et des fonctions
pour la visualisation [7, 8].
Les principales fonctions mathématiques disponibles sous MATLAB sont les
suivantes :
Fonctions Description
sin(var), asin(var), cos(var), acos(var), Fonctions trigonométriques (angle en radian) : sinus,
tan(var) , atan(var), cot(var), acot(var) arc sinus, cosinus …
asin(var), asind(var), acos(var), Fonctions inverses des fonctions sin, sind, cos, cosd,
acosd(var), atan(var), atand(var) tan et tand respectivement
sqrt(var) Racine carrée de var.
log(var) Logarithme naturel de var (de base e), respectivement
log10(var) de base 10,
log2(var) et de base 2
exp(var) Exponentielle de var
fix(var) Troncature à l'entier, dans la direction de zéro
round(var) Arrondi à l'entier le plus proche de var
floor(var) Le plus grand entier qui est inférieur ou égal à var
ceil(var) Le plus petit entier plus grand ou égal à var
abs(var) Valeur absolue (positive) de var
real(nb_complexe) Partie réelle,
Chapitre 3. Les Fonctions Prédéfinies 39
imag(nb_complexe) Partie imaginaire, du « nb_complexe »
conj(nb_complexe) Retourne le conjugué du « nb_complexe »
Exercices corrigés (commandes et résultats)
>> sin(pi/2) % Calculer le sinus d’un angle donné en radian
ans = 1
>> cos(pi) % Calculer le cosinus d’un angle donné en radian
ans = -1
>> sind(90) % Calculer le sinus d’un angle donné en degré
ans = 1
>> cosd(180) % Calculer le cosinus d’un angle donné en degré
ans = -1
>> x=90;
>> acosd(cosd(x)) % Calculer l’inverse du cosinus
ans = 90
>> log(exp(1)) % Calculer Logarithme de base e
ans = 1
>> log10(1000) % Calculer Logarithme de base 10
ans =3
>> log2(8) % Calculer Logarithme de base 2
ans =3
>> fix(3.7) % troncature { l’entier en direction de zéro
ans =3
Chapitre 3. Les Fonctions Prédéfinies 40
>> round(3.7) %Arrondi à l'entier le plus proche
ans =4
>> floor(3.7) %Le plus grand entier qui est inférieur ou égal
ans =3
>> ceil(3.7) %Le plus petit entier plus grand ou égal
ans =4
2. Fonctions générales relatives aux chaînes de caractères
Fonctions Description
Retourne le nombre de caractères de la chaîne
length(string)
string
upper (string) Convertit la chaîne string en majuscules
lower (string) Convertit la chaîne string en minuscules
strcat(s1,s2…) Concatène horizontalement les chaînes s1, s2...
Exercices corrigés (commandes et résultats)
>> strcat(‘MAT’,’LAB’) %Concaténer deux chaînes de caractères
ans = MATLAB
>> strcat(‘TP’,’ Fnct’,’ Mat’,’lab’) %Concaténer plusieurs chaînes de caractères
ans=TP Fnct Matlab
>> upper(‘tpFNCTmatlab’) %Conversion en minuscules
ans = TPFNCTMATLAB
Chapitre 3. Les Fonctions Prédéfinies 41
>> lower(‘tpFNCTmatlab’) %Conversion en majuscules
ans = tpfnctmatlab
>> x=‘abcde’; %Calculer le nombre de caractères de la chaîne
>> length(x)
ans = 5
Remarque : Pour l’affectation d’une chaîne de caractères à une variable, la chaîne
doit être délimitée par des apostrophes (‘). Si la chaîne contient elle-même des
apostrophes, le mécanisme d'échappement consiste à dédoubler les apostrophes
dans la chaîne. Exemple :
>>ch1 = 'Sciences et ingénierie de l''environnement'
ch1 = Sciences et ingénierie de l'environnement
TP 3 : Les Fonctions Prédéfinis 42
TP 3 : Les Fonctions Prédéfinies
1. Objectifs
Parmi les approches d’utilisation de Matlab, la première utilisation comme
calculateur puisant. Le but de ce TP est la manipulation des principales fonctions
mathématiques prédéfinies de Matlab.
2. Application
Exercice 1 : { l’aide des fonctions mathématiques de Matlab calculez :
1) Troncature à l'entier, dans la direction de zéro de : 3.3 , -3.7 , -3.3
2) Arrondi à l'entier le plus proche de : -3.7 , 3.3 , -3.3
3) Le plus grand entier qui est inférieur ou égal à : -3.3 , 3.3 , -3.7
4) Le plus petit entier plus grand ou égal à : -3.7 , 3.3 , -3.3
Exercice 2 :
Nous considérons les variables suivantes :
X= 2.5 S1=’TP Matlab’
Y=2 S2=’Fonctions de base’
Donnez les commandes Matlab qui permettent de :
1) Créez un nombre Complexe C1 ayant X comme partie réelle et Y comme partie
imaginaire.
2) Mettre la partie réelle de C1 dans la variable P_re et la partie imaginaire dans
P_ima
3) Calculez le conjugué de C1 et mettre le résultat dans C2
4) Inverser les parties, réelle et imaginaire de C1 en mettant le résultat dans C_inv
5) Calculez la concaténation de S1 et S2 en mettant le résultat dans S_conc
TP 3 : Les Fonctions Prédéfinis 43
6) Créez la chaine CH qui représente la concaténation des chaines : S1 en minuscule
et S2 en MAJUSCULE
7) Remplacez le mot ‘Fonctions’ par ‘Commandes’ dans CH
8) calculez la longueur de la chaine CH et mettre le résultat dans la variable
CH_nombre
Exercice 3: nous considérons les variables X=3 et Y=2, donnez les commandes
Matlab permettant de calculer les expressions suivantes :
1 2 sin(45)
1) ln( 4)
83 2 e2
𝑒𝑋 𝑌
2) − 𝑒 + 𝑌𝑠𝑖𝑛(𝑋𝑌)
|𝑋+𝑌|
NB : Les angles sont exprimés en degré.
44
Chapitre 4. Matrices et Vecteurs sous
Matlab
Chapitre 4. Matrices et Vecteurs sous Matlab 45
Chapitre 4. Matrices et Vecteurs sous Matlab
1. Introduction
En mathématique, une matrice est un ensemble de valeurs organisées dans un
tableau de « n » lignes et de « m » colonnes. Les coefficients de la matrice sont situés
entre deux parenthèses (voir exemple). Une matrice est caractérisée par sa
Dimension= (n x m).
Dans le cas général, une matrice A (n x m) a pour coefficients aij
Avec : 0≤ i ≤ n et 0≤ j ≤ m, et ses coefficients sont les suivants :
𝑎11 𝑎12 𝑎13 … 𝑎1𝑚
𝑎21 𝑎22 𝑎23 … 𝑎2𝑚
𝑎31 𝑎32 𝑎33 … 𝑎3𝑚
𝐴= … … … … ⋮
… … … … ⋮
𝑎𝑛1 𝑎𝑛2 𝑎𝑛3 … 𝑎𝑛𝑚
Un élément de la matrice A est repéré par le couple d’indices (i,j) : (numéro de la
ligne, numéro de la colonne).
2. Propriétés et caractéristiques
Les vecteurs (ligne ou colonnes) : Matlab ne fait pas vraiment de différence
entre un scalaire, un vecteur, une matrice ou un tableau à N-dimensions, ces
objets pouvant être redimensionnés dynamiquement. Ainsi, un vecteur n'est
donc qu'une matrice (n x m) dégénérée d'une seule ligne (1xm) ou une seule
colonne (nx1).
Une matrice ligne est une matrice d’ordre 1 appelée vecteur
ligne.
Exemple de vecteur ligne (1x3) : M 1.5 4 3
Chapitre 4. Matrices et Vecteurs sous Matlab 46
Une matrice colonne est une matrice d’ordre 1 appelée vecteur
colonne. 4
M 9
Exemple de vecteur colonne (3x1) :
11
Les Matrices : Une matrice Matlab est un tableau à deux dimensions de
(nxm) éléments de types nombres réels ou complexes ou de caractères.
Une matrice carrée est caractérisée par le fait d’avoir le même
le nombre de lignes et le nombre de colonnes (n=m).
Exemple de matrice carrée (4x4) : 0 2 0 99
3 2 9 1
M
0 1 1 2
44 11 42 77
Matlab offre la possibilité de création de matrice
(3D) multidimensionnelle: (n x m x p)
Addition A+B de deux matrices de mêmes dimensions : le
résultat est une matrice C de même dimension. Exemple :
1 6 6 5 9 2 4 15 8
2 9 0 0 8 1 2 17 1
Soustraction A-B de deux matrices de mêmes dimensions : le
résultat de la soustraction donne une matrice C de même
dimension. Exemple :
5 8 6 8 3 2 13 5 4
3 9 0 5 4 1 2 5 1
Chapitre 4. Matrices et Vecteurs sous Matlab 47
Multiplication A(NAxMA)*B(NAxMA) : cette opération est
réalisable seulement si le nombre de colonnes de la matrice A
est égale au nombre de ligne de la matrice B c'est-à-dire :
MA=NB. Le résultat de la multiplication est une matrice de
dimension NAxMB. Exemple :
4 2 9 2
4 0 1 19 8 37 9
7 8 0 1
2 5 3 3 0 1 1 52 44 21 12
Multiplication d’une matrice par un scalaire : il suffit de
multiplier tous les éléments de la matrice par le scalaire en
question. 1 2 3 2 4 6
2
5 4 0 10 8 0
Transposition : il s’agit d’une matrice notée AT de dimensions
(MxN) obtenue en échangeant les lignes et les colonnes d’une
matrice initiale A de dimensions (NxM). Exemple : 34 2
A T
1 5
34 1 9
A 9 11
2 5 11
La Diagonale d’une matrice : il s’agit de l’ensemble des
éléments d’une matrice carrée qui se situent du coins haut
gauche vers le coin bas droit.
Chapitre 4. Matrices et Vecteurs sous Matlab 48
Matrice Diagonale : il s’agit d’une matrice carrée où tous les
éléments ui n’appartienent pas la diagonale sont nuls (=0) et
les éléments de la diagonale peuvent être nuls. Exemple :
2 0 0 0
0 8 0 0
A
0 0 9 0
0 0 0 21
Trace d’une Matrice carée : c’est la somme des éléments de sa
diagonale. Exemple : Trace (A) = 2 + 8 +9 +21 = 40
Matrice identité : il s’agit d’une matrice diagonale dont tous les
éléments de la diagonale =1. Exemple : 1 0 0
A 0 1 0
0 0 1
Remarque : Dans Matlab, les éléments d’un vecteur sont numérotés par des
entiers débutant par la valeur 1. Le même principe pour les matrices, les indices de
ligne et de colonne sont des valeurs entières débutant par 1 (et non pas 0, comme
dans la plupart des autres langages de programmation).
3. Manipulation de Matrices sous Matlab
Le tableau suivant résume les principales commandes couramment utilisées
(affectation par l’usage des crochets [ ], adressage des éléments par les parenthèses
( ), fonctions d'initialisation spéciales liées aux matrices…) :
Chapitre 4. Matrices et Vecteurs sous Matlab 49
Vecteurs
Fonctions Description
V= [val1 val2 val3 ...] Créer un vecteur ligne V contenant des
valeurs (val), des variables (var), ou
expressions (expr) spécifiées. Il faut
V = [val var expr ...] délimitées les éléments par des espace,
virgules (,) ou bien « tab ».
V=[val ; var ; expr ...] Créer un vecteur colonne V contenant
des valeurs (val), variables (var), ou
V =[val1 expressions (expr) spécifiées. il faut
val2 délimitées les éléments par des points-
... ] virgules ( ;) et/ou par la touche enter.
V =[var val var val ...]' Une autre méthode, consiste à définir un
vecteur ligne et à le transposer lors de
l’affectation { V.
Permet de transposer un vecteur V.
Vecteur ligne devient un vecteur
V’
colonne et vice-versa
Pour accéder aux éléments d'un vecteur
avec la variable « indices » qui est un
vecteur (ligne ou colonne) de valeurs
entières positives indiquant les indices
V(indices)
des éléments concernés de V.
indices peut prendre les formes
suivantes :
Chapitre 4. Matrices et Vecteurs sous Matlab 50
• ind1:indN : suite (série) d'indices
allant de ind1 jusqu'à indN
• ind1:pas:indN : séquence d'indices de
ind1 à indN avec un pas
• [ind1 ind2 ...] : indices ind1, ind2 ...
spécifiés (séquence discontinue) (notez
bien les crochets [ ])
Si indN indique le dernier élément du
vecteur, on peut utiliser la valeur
prédéfinie : end
Suppression des éléments indicés du
vecteur V. Matlab effectue un
V(indices)=[] redimensionnement dynamique après
destruction des cases.
Renvoie le nombre d’élément (taille) du
length(V) vecteur V (ligne ou colonne).
Créer un vecteur ligne V (suite) dont le
premier élément est Val0 et le dernier
V = Val0:P:Valf
élément Valf et le pas= P
Créer un vecteur de suite arithmétique
en précisant : le premier terme V0, le
dernier terme Vf et le nombre de termes
A = linspace(V0,Vf,n)
n. Matlab calcule automatiquement le
pas (La raison=(Vf-V0)/(n-1))
Chapitre 4. Matrices et Vecteurs sous Matlab 51
A partir d’un Vecteur ligne ou colonne, la
fonction retourne une matrice carrée
dont la diagonale principale porte les
diag(Vecteur)
éléments du vecteur et les autres
éléments sont égaux à "0"
Matrices
Fonctions Description
Créer une Matrice Mat de dimension
(nxm) avec les éléments vij. Les
Mat=[v11 v12 ... v1m ;
éléments d'une ligne sont séparés par
v21 v22 ... v2m ;
des espace ou virgules, les différentes
... ... ... ... ;
lignes sont délimitées par des (;) points-
vn1 vn2 ... vnm ]
virgules ou par la touche enter.
Il est aussi possible de définir une
matrice Mat par concaténation de
vecteurs colonnes Vcoi ou de vecteurs
Mat=[Vco1 Vco2 ...]
ligne Vlii .
Mat=[Vli1 ; Vli2 ; ...] Les séparateurs entre les vecteurs
colonnes est l'espace, et celui entre les
vecteurs lignes est le (;) points-virgules.
Il s’agit d’une concaténation de matrices
(ou vecteurs) pour la création d’une
Mat = [mat1 mat2 {mat3...}] matrice finale Mat. on concatène côte à
côte (horizontalement) les matrices
horzcat(mat1, mat2 {,mat3...})
mat1, mat2, mat3..., qui doivent avoir le
même nombre de lignes.
Chapitre 4. Matrices et Vecteurs sous Matlab 52
Même chose, { partir d’une
concaténation verticale des matrices
Mat = [mat4; mat5 {; mat6...}]
mat4, mat5, mat6..., pour créer Mat. Les
vertcat(mat1, mat2 {,mat3...}) matrices doivent avoir le même nombre
de colonnes.
Créer une matrice numérique de n
lignes et m colonnes dont tous les
ones(n{,m}) éléments sont mis à la valeur 1 pour
ones et à 0 pour zeros.
zeros(n{,m})
Si m n’est pas mentionner, la matrice
crée est une matrice carrée de
dimension (n x n).
Créer une matrice identité de dimension
(n x m) avec la diagonale=1, et les autres
éléments à 0.
eye(n{,m}) Si m n’est pas mentionner, la matrice
crée est une matrice carrée de
dimension (n x n).
Appliquée à une Matrice (carré ou pas),
elle retourne un vecteur-colonne formé
diag(Matrice) à partir des éléments de la diagonale de
cette matrice.
Renvoie, sur un vecteur ligne, la taille
(nombre n de lignes et nombre m de
[n m]=size(Var)
colonnes) de la matrice ou du vecteur
Var.
Chapitre 4. Matrices et Vecteurs sous Matlab 53
Calculer le nombre de lignes et le
nombre de colonnes de Mat puis
length(Mat)
renvoie le plus grand de ces deux
valeurs.
Retourne le nombre d'éléments de la
numel(Mat)
matrice Mat
Pour accéder aux éléments d'une
matrice de dimension (n x m), où ind1 et
ind2 sont des vecteurs (ligne ou
colonne) de valeurs entières positives
désignant les indices des éléments
concernés de mat.
Mat(ind1,ind2)
ind1 représente les numéros de lignes
Si on remplace ind1 par : cela
désigne toutes les lignes.
ind2 indique les numéros de colonnes.
Si on utilise : à la place de ind2,
cela désigne toutes les colonnes.
Accéder a une matrice à la façon d'un
vecteur en ne précisant qu'un vecteur
d'indices, l'adressage s'effectue en
Mat(indices)
considérant que les éléments de la
matrice sont numérotés de façon
continue colonne après colonne.
Suppression d’éléments de lignes ou de
colonnes d'une matrice avec un
Mat(ind1,ind2)=[] redimensionnement automatique par
Matlab.
TP 4 : Manipulation de vecteurs sous Matlab 54
TP 4 : Manipulation de vecteurs sous Matlab
1. Objectifs
Matlab ne nécessite pas l’étape de déclaration des variables comme la plupart des
langages de programmation (C/C++,…), ainsi toutes les variables et les identifiants
de variables n’ont pas { être déclarés. Il suffit de définir la variable avec une valeur,
ensuite Matlab va créer cette nouvelle variable ou bien il modifie l’ancienne si la
variable est déjà créée. Avec Matlab il n’y a aucune différence entre variables
‘entière’, variables ‘réelle’ ou variables ‘complexe’, le système d’allocation
dynamique s’en charge de l’opération. Le but de ce TP est de maitriser la création de
vecteurs et le calcul arithmétique sur les vecteurs.
2. Exercices corrigés (commandes et résultats)
>> V1 = [ 5 -3 2] %Créer un vecteur ligne (1 x 3)
V1 = 5 -3 2
>> V2 = [1 ; 9 ; 15] %Créer un vecteur colonne (3 x 1)
V2=
1
9
15
>> V3 = [V2 V1 -4] %Combiner un vecteur colonne avec un vecteur ligne
Error using horzcat
Dimensions of matrices being concatenated are not consistent.
>> V3 = [V2’ V1 -4] %Concaténation des vecteurs
V3 = 1 9 15 5 -3 2 -4
TP 4 : Manipulation de vecteurs sous Matlab 55
>> V4 = [-7 ; 5 ; 2*pi] %Créer un vecteur colonne contenant une expression
V4 = -7.00
5.00
9.42
>> V5 = V4’ %Définir le vecteur V5 à partir du vecteur V4
V5 = -7.00 5.00 9.42
>> V = 0:2:10 %Définir une suite de 10 à 20 avec un pas de 2
V = 10 12 14 16 18 20
>> V = 0:0.5:2 %Définir une suite de 0 à 2 avec un pas de 0.5
V = 0 0.50 1.00 1.50 2.00
>> A = linspace(0,200,5) %Définir vecteur de suite arithmétique de 0 à 200 et n=5
A = 0 50.00 100.00 150.00 200.00
>> A = 1:5 ; B= 6:10 ; ADD = A + B , SOUS = A – B %Opérations sur les vecteurs
ADD = 7.00 9.00 11.00 13.00 15.00
SOUS = -5.00 -5.00 -5.00 -5.00 -5.00
>> C = A + 1 %Commentez ce résultat ?
C = 2.00 3.00 4.00 5.00 6.00
>> C = A * 3 %Commentez ce résultat ?
C = 3.00 6.00 9.00 12.00 15.00
>> C= A – 1 %Commentez ce résultat ?
C= 0 1.00 2.00 3.00 4.00
TP 4 : Manipulation de vecteurs sous Matlab 56
>> C = A ./ 2 %Division élément par élément
C = 0.50 1.00 1.50 2.00 2.50
>> C = A.^2 %Puissance élément par élément
C = 1.00 4.00 9.00 16.00 25.00
>> V=[-3 2 1 -4 5 -3] ; a= V(2) , b= V(2)*2 %Accès aux éléments d’un vecteur
a = 2.00
b = 4.00
>> V(3) = 0 ; V(4) = V(4)*2; V %Manipuler des éléments d’un vecteur
V = -3.00 2.00 0 -8.00 5.00 -3.00
>> A = V(1:3) , B = A(4:6) %Manipuler Plusieurs éléments consécutifs
A = -3.00 2.00 0
B = -8.00 5.00 -3.00
>> V (2:4)=1 %Remplacer les valeurs 2, 0 et -8 de V par la valeur 1
V = -3.00 1.00 1.00 1.00 5.00 -3.00
>> W= V([1 3 6]) % %Manipuler Plusieurs éléments Non consécutifs d’un vecteur
W = -3.00 1.00 -3.00
>> W = V(V>0) %Manipuler Plusieurs éléments de vecteur selon une condition
W = 1.00 1.00 1.00 5.00
TP 4 : Manipulation de vecteurs sous Matlab 57
>> V(5) = []; %Suppression du 5ème élément du vecteur V
V = -3.00 1.00 1.00 1.00 -3.00
>> V (2:4) = [] %Suppression des éléments de positions 2,3,4 dans V
V = -3.00 -3.00
>> V (V<0)= [] %Suppression de toutes les valeurs < 0 dans V
V = Empty matrix: 1-by-0
>> length(V) %Commentez le résultat ?
ans = 0
3. Applications
Exercice 1 : Donnez les commandes Matlab permettant de construire les vecteurs
16
suivants : 𝑋 10 11 12 , 𝑌 13 14 15 , 𝑍 17
18
1) Construire les vecteurs A, B, C et E à partir des vecteurs X, Y et Z.
10
11
𝐴 10 11 12 13 14 15 10 12
11 13
𝐶 12 , 𝐷 14
13 15
14
𝐵 10 11 12 13 14 15 16 17 18 15 16
17
18
TP 4 : Manipulation de vecteurs sous Matlab 58
Exercice 2 : Donnez Deux commandes Différentes permettant de créer le vecteur V :
𝑽(21 23 25 27 29 31 33 35 37)
1) Définir les vecteurs V1 et V2 à partir de V sachant que :
V1 (25 27 29) et V2 (31 33 35 37)
2) Remplacez les valeurs 23, 25 et 27 de V par la valeur 0
3) Multipliez les valeurs 33,35 et 37 de V par 3
Exercice 3: Définir le vecteur A(1 3 5 7 9 11 13 15 17) Par la suite créer le
vecteur B à partir de A : B=(1 5 9 13 15 17).
1) Donnez deux solutions différentes pour la création du vecteur B ?
2) Donnez la commande permettant de mettre toutes les valeurs inférieures à 8
dans le vecteur C ? Et toutes les valeurs supérieures à 8 dans un vecteur D ?
TP 5 : Manipulation de Matrices sous Matlab 59
TP 5 : Manipulation de Matrices sous Matlab
1. Objectifs
Le calcul matriciel est le point fort de Matlab. La déclaration des matrices est très
simple sous Matlab des matrices. Une matrice est un tableau à deux dimensions avec
(n) lignes et (m) colonnes et contenant des éléments de même type. L’objectif de ce
TP est de maitriser la manipulation des matrices avec le langage Matlab.
2. Exercices corrigés (commandes et résultats)
>> M=[-2:0 ; 4 sqrt(9) 3] %Créer une matrice (2 x 3)
M = -2.00 -1.00 0
4.00 3.00 3.00
>> M = [ 3 , 7 ; 1 , 0] %Virgules pour séparer les colonnes et points-virgules lignes
M= 3 7
1 0
>> M = [ 0 1 4 1 ; 2 7 8 5 ; 9 6 8 3] %Espace pour séparer les colonnes
M= 0 1 4 1
2 7 8 5
9 6 8 3
>> V1=1:3:7 ; V2=9:-1:7 ; M1=[v2 ; v1] %Commentez le résultat ?
M1 = 9.00 8.00 7.00
1.00 4.00 7.00
>> size(M1) %Commentez le résultat ?
ans = 2.00 3.00
TP 5 : Manipulation de Matrices sous Matlab 60
>> C1 = eye(2) , C2 = 3*ones(2) , C=[C1 C2] %Agrégation de matrices
C1 = 1.00 0
0 1.00
C2 = 3.00 3.00
3.00 3.00
C = 1.00 0 3.00 3.00
0 1.00 3.00 3.00
>> C= [C; 22 33 44 55] %Commentez le résultat ?
C = 1.00 0 3.00 3.00
0 1.00 3.00 3.00
22.00 33.00 44.00 55.00
>> C ([2 3],[1 3]) %Extraction des éléments des lignes 2, 3 et les colonnes 1,3
ans = 0 3.00
22.00 44.00
>> C([2 3],1:2) %Commentez le résultat ?
ans = 0 1.00
22.00 33.00
>> C([2 3],:) %Extraction des éléments des lignes 2, 3 et toutes les colonnes
ans = 0 1.00 3.00 3.00
22.00 33.00 44.00 55.00
>> C([2 3],end) %Extraction des éléments des lignes 2, 3 et la dernière colonne
ans =3.00
55.00
TP 5 : Manipulation de Matrices sous Matlab 61
>> C(:) %Extraction des éléments de façon continue Colonne après Colonne
ans = 1.00
0
22.00
0
1.00
33.00
3.00
3.00
44.00
3.00
3.00
55.00
>> C(5) %Extraction du 5ieme élément de la matrice avec l’indexation linéaire
ans = 1.00
>> C( 2 , 1 ) = 11 %Modifier l’élément de la ligne 2 et colonne 1
C = 1.00 0 3.00 3.00
11.00 1.00 3.00 3.00
22.00 33.00 44.00 55.00
>> C( 1 , : ) = [2 1 5 -3] %Modifier tous les éléments de la ligne 1
C = 2.00 1.00 5.00 -3.00
11.00 1.00 3.00 3.00
22.00 33.00 44.00 55.00
>> %Modifier les éléments (1,1), (1,3), (3,1) et (3,3)
TP 5 : Manipulation de Matrices sous Matlab 62
>> C ([1,3] , [1,3] ) = [-2 -5 ; -22 -44]
C = -2.00 1.00 -5.00 -3.00
11.00 1.00 3.00 3.00
-22.00 33.00 -44.00 55.00
>> A = [3 :8] %Créer une suite de 3 à 8
A= 4 5 6 7 8 9
>> A= reshape(A,[2,3]) %Créer une matrice à partir du vecteur
A= 4 6 8
5 7 9
>> 2*A+1 %Opérations arithmétiques sur les matrices
ans = 9 13 17
11 15 19
>> A.^2 %Opérations éléments par éléments
ans = 16 36 64
25 49 81
>> A./2 %Opérations éléments par éléments
ans = 2.0000 3.0000 4.0000
2.5000 3.5000 4.5000
>> size(A) %Dimension de A est 2 linges et 3 colonnes
ans = 2 3
TP 5 : Manipulation de Matrices sous Matlab 63
>> A’ , size(A’) %Dimension de l’inverse de A est 2 linges et 3 colonnes
ans = 4 5
6 7
8 9
ans = 3 2
3. Applications
Exercice 1 : soit la matrice M :
1 5 9 13
2 6 10 14
M
3 7 11 15
4 8 12 16
1) Créez la matrice M de deux façons différentes ?
2) Extraire la sous-matrice 2x2 centrale de M ensuite inversé le résultat et le mettre
dans la matrice M1.
3) Définir les matrices M2 et M3 à partir de M :
6 10 14 2 14
𝑀2 = , 𝑀3 =
7 11 15 4 16
4) Modifier la valeur 16 de la matrice M par la valeur 18
5) Mettre à 0 tous les éléments impairs de la matrice M
6) Supprimez tous les éléments de la ligne n°3 de la matrice M
7) Créez une matrice magique M4 de dimension 6 { l’aide de la commande magic
TP 5 : Manipulation de Matrices sous Matlab 64
8) Calculez la somme des éléments de chaque ligne et la somme des éléments de
chaque colonne de la matrice M à l’aide de la commande sum, commentez le
résultat.
10) Affichez les variables en mémoire (Workspace) ensuite Sauvegardez seulement
la moitié de l’ensemble des variables, puis Effacez le Workspace. Finalement,
vérifiez que l’espace de travail ne contient aucune variable et recharger à nouveau
les variables sauvegardées (utilisez les commandes save, load et clear).
NB : utilisez le help de Matlab pour avoir plus de détail sur l’utilisation des
fonctions.
Exercice 2:
1) Expliquez la différence entre les opérateurs * et .* ? [ l’aide la fonction (ones)
créez une matrice C (30 x 50) contenant que la valeur 8 ? Utilisez la fonction numel
pour calculer le nombre d’éléments de C.
2) Créez une matrice particulière A(3 x 3) { l’aide de la commande rand ? Calculez
pour la matrice A :
La moyenne pour chaque colonne ;
Le maximum pour chaque colonne ;
Le minimum pour chaque colonne ;
La diagonale, la trace et le déterminant.
NB : utilisez les commandes Matlab : mean, max, min, diag, trace, det