0% ont trouvé ce document utile (0 vote)
24 vues28 pages

Chap3 A Chap4

Le chapitre présente les fonctions prédéfinies de Matlab, notamment les fonctions mathématiques et celles relatives aux chaînes de caractères. Il fournit des exemples d'utilisation de ces fonctions, ainsi que des exercices pratiques pour manipuler des matrices et des vecteurs. Le chapitre aborde également les propriétés des matrices, y compris les opérations de base comme l'addition, la soustraction et la multiplication.

Transféré par

Kabrel Kamela
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues28 pages

Chap3 A Chap4

Le chapitre présente les fonctions prédéfinies de Matlab, notamment les fonctions mathématiques et celles relatives aux chaînes de caractères. Il fournit des exemples d'utilisation de ces fonctions, ainsi que des exercices pratiques pour manipuler des matrices et des vecteurs. Le chapitre aborde également les propriétés des matrices, y compris les opérations de base comme l'addition, la soustraction et la multiplication.

Transféré par

Kabrel Kamela
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi