Vous êtes sur la page 1sur 13

CHAPITRE 2

Calcul et Opérations mathématiques avec MATLAB


(Nombre et Opérations arithmétiques, Vecteurs et Matrices)

2.1 Nombres et opérations arithmétiques :

2.1.1 Nombres :

MATLAB gère trois types de nombres (scalaires) définis comme suit :

➢ Entier : Les nombres entiers sont tous les nombres qui ne possèdent pas de
décimales (de nombres après la virgule). Ils peuvent être positifs (entiers naturels)

)
PC
ou négatifs.

N
➢ Réel : MATLAB utilise un point ‘.’ pour représenter une notation décimale. La
(E
notation scientifique (Floating point) utilise la lettre ‘e’ pour spécifier le facteur
d’échelle en puissance de 10.
u
io
ba

➢ Complexe : Les nombres complexes utilisent les caractères ‘i’ et ‘j’


Za

(indifféremment) pour designer la partie imaginaire.


T.

Le tableau suivant donne un résumé des différents nombres en MATLAB :


r.

Type Exemples Format MATLAB


D

Entier 8 -90 8 -90


Réel en notation
0,059 3,14159 0.059 3.14159
décimale
Réel en notation
2,806x10−20 7,524x104 2.806e-20 7.524e+4
scientifique
Complexe (forme
2+4i 6,538j 2+4i (2+4*i) 6.538j (6.538*j)
cartésienne)
Complexe (forme
1.35× 𝑒 0.625×𝑗 1.35*exp(0.625j)
polaire)

Tableau 2.1 Les différents nombres en MATLAB.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
2.1.2 Formats d’affichage MATLAB :

MATLAB dispose de plusieurs formats d’affichage des réels. Par défaut, MATLAB
affiche à l’écran un nombre réel avec quatre chiffres après la virgule. Pour changer ce
type de format, il suffit d’écrire :

format type_de_format

Le tableau 2.2 donne les différents types de format possibles ainsi qu’un exemple
d’affichage avec le nombre π (pi).

Type de
Description Exemple
format

)
format short affichage avec 04 chiffres après la virgule 3.1416

PC
affichage avec 14 ou 15 chiffres
Format long 3.141592653589793
après la virgule

N
affichage scientifique avec 04 chiffres
Format short e (E 3.1416e+000
après la virgule
affichage scientifique avec 14 ou 15
Format long e 3.141592653589793e+000
u
chiffres après la virgule
io

Format bank affichage avec 02 chiffres après la virgule 3.14


ba

Format rat affichage sous forme d’une ration (a/b) 355/113


Za

Format hex affichage sous forme hexadécimale 400921fb54442d18

Tableau 2.2 Les différents types d’affichage de MATLAB.


T.

2.1.3 Opérations arithmétiques :


r.
D

Les opérations de base dans une expression sont résumées dans le tableau suivant :

Symbole Forme
Opération
MATLAB MATLAB
^ Puissance : 𝑥 𝑦 𝑥^𝑦
* Multiplication : 𝑥 × 𝑦 𝑥∗𝑦
/ Division : 𝑥/𝑦 𝑥/𝑦
\ Division gauche (ou la division inverse) : 𝑦/𝑥 𝑥\𝑦
+ Addition : 𝑥 + 𝑦 𝑥+𝑦
- Soustraction : 𝑥 − 𝑦 𝑥−𝑦
' Transposé 𝑥′

Tableau 2.3 Les différentes opérations en MATLAB.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
2.1.4 Priorité des opérations dans une expression :

Les opérations sont évaluées en considérant l’ordre suivant :

Ordre de priorité
Opération
1
➢ Les parenthèses ( )

➢ La puissance et le transposé ^ et ' 2

➢ La multiplication et la division * et / 3

4
➢ L’addition et la soustraction + et -

Tableau 2.4 Priorité des opérations.

)
Exemple :

PC
>> 10 * 2/2^2+8

N
>> 3 + 2 * 6^2 ----
-----
36
(E 4
------------
---------
u
5
io

72
Le résultat est : 75 Le résultat est : 13
ba
Za

2.2 Vecteurs et matrices :


T.

2.2.1 Introduction :
r.

MATLAB travaille essentiellement avec un seul type d’objet mathématique, une matrice
D

rectangulaire avec des valeurs entières, réelles ou complexes. Toutes les variables sous
MATLAB sont représentées comme des matrices. Ainsi un scalaire sera pour MATLAB
une matrice de 1 ligne et 1 colonne. Les matrices avec une seule ligne ou une seule
colonne sont appelées un vecteur.

2.2.2 Vecteurs :

Il existe plusieurs façons pour créer un vecteur.

• Pour créer un vecteur ligne il suffit d’écrire la liste de ses éléments entre crochets [ ]
et de les séparés par des espaces ou des virgules comme suit :

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
>> V = [1 2 3] % Création d’un vecteur ligne V
V=
1 2 3

>> U = [4 , 5 , 6] % Création d’un vecteur ligne U


U=
4 5 6

• Pour créer un vecteur colonne on peut soit :

➢ Écrire les composants du vecteur entre crochets [ ] et de les séparés par des points
virgules ‘; ‘ comme suit :

>> V = [1 ; 2 ; 3] % Création d’un vecteur colonne V

)
V=

PC
1

N
2
3
(E
➢ Calculer la transposée d’un vecteur ligne :
u
>> V = [ 1 2 3] ' % Création d’un vecteur colonne V
io

V=
ba

1
Za

2
T.

3
➢ Écrire directement le vecteur en position verticale en utilisant la touche
r.

Entrée/Enter.
D

>> V =
[1
2
3] % Création d’un vecteur colonne V

V=
1
2
3

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
• Il existe des commandes pour créer des vecteurs de manière automatique. Par
exemple deux points ‘ : ‘ permettent de créer des séquences de nombres en indiquant
en option l’intervalle (le pas d’incrémentation ou décrémentation) entre ces nombres.
La valeur de ce pas est par défaut 1 si on ne met pas de valeur.

V = premier_élément : dernier_élément

>> V= 1:4 % Le pas par défaut égale 1


V=
1 2 3 4

>> V= [1:4]
V=

)
1 2 3 4

PC
V = premier_élément : pas : dernier_élément

N
>> V= 0:2:6 % Incrémentation (E
V=
0 2 4 6
u
io

>> V = 2:-2:-6 % Décrémentation


ba

V=
1 0 -2 -4 -6
Za

➢ Les crochets dans ce cas [ ] sont facultatifs.


T.

2.2.3 Outils d’indexage et accès aux éléments d’un vecteur :


r.

La syntaxe générale qui permet d’accéder aux éléments d’un vecteur est la suivante :
D

nom_vecteur (position)
On peut donc récupérer :
• N’importe quel élément d’un vecteur avec un seul indice représentant le numéro
de la position.

• Un ensemble d’éléments en utilisant une liste de numéro (un vecteur de


positions) ou en utilisant l’operateur ‘ : ‘ pour une liste de numéro spécifique.

• Le dernier élément avec l’operateur ‘ end ‘.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
Exemples :

>> X = [1, 3, 5, 7, 9] % création du vecteur X qui contient 5 éléments.


X=
1 3 5 7 9

>> X(4) % l’élément de la quatrième position.


ans =
7

>> X([1,3,5]) % un vecteur de position contenant la 1ère, la 3ème et la 5ème


position.
ans =
1 5 9

)
>> X(1:3) % de la première position jusqu'au troisième position.

PC
ans =
1 3 5

N
>> X(end) % le dernier élément. (E
ans =
u
9
io

On peut aussi :
ba

• Ajouter un élément à un vecteur.


Za

• Modifier la valeur d’un élément d’un vecteur.


• Supprimer un élément d’un vecteur.
T.
r.

>> X(6) = 11 % Ajouter un sixième élément au vecteur X avec la valeur 11


D

X=
1 3 5 7 9 11

>> X(3) = -2 % donner la valeur -2 au troisième élément du vecteur X.


X=
1 3 -2 7 9 11

>> X(2) = [ ] % supprimer le deuxième élément du vecteur X.


X=
1 -2 7 9 11

➢ Sous MATLAB, l’indexage commence à 1 contrairement à d’autres langages comme


le langage C par exemple, où l'indexage commence à 0.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
2.2.4 Matrices :

Pour insérer une matrice, il faut respecter les règles suivantes :


• Les éléments doivent être mises entre des crochets [ ].

• Les espaces ou les virgules sont utilisés pour séparer les éléments dans la
même ligne.

• Un point-virgule (ou la touche entrer) est utilisé pour séparer les lignes.

Exemples :
>> A = [1 , 2 , 3 ; 4 , 5 , 6; 7 , 8 , 9]
A=
1 2 3

)
4 5 6

PC
7 8 9

N
>> A = [1 2 3 ; 4 5 6; 7 8 9]
A=
(E
1 2 3
u
4 5 6
io

7 8 9
ba

➢ Le nombre d’éléments dans chaque ligne (nombre de colonnes) doit être identique
Za

dans toutes les lignes de la matrice, sinon une erreur sera signalée par Matlab.

2.2.5 Outils d’indexage et accès aux éléments d’une matrice :


T.

L’accès aux éléments d’une matrice se fait en utilisant la syntaxe générale suivante :
r.
D

nom_matrice ( position_ligne , position_colonne )


ou
A (i,j)

avec : A=nom_matrice, i=position_ligne, j= position_colonne

• A(i,j) : Accès à un élément de la ligne i et de la colonne j .


• A(i,:) : Accès à toute la ligne numéro i .
• A(:,j) : Accès à toute la colonne numéro j .

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
Exemples :
>> A = [1 2 3 ; 4 5 6; 7 8 9]
A=
1 2 3
4 5 6
7 8 9

>> A(1,3) % l’élément de la 1ème ligne et de la 3ème colonne.


ans =
3

>> A(1,:) % tous les éléments de la 1ère ligne.


ans =
1 2 3

)
PC
>> A(:,2) % tous les éléments de la 2ème colonne.
ans =

N
2
5 (E
8
u
io

2.2.6 Création des matrices spéciales :


ba

MATLAB possède des fonctions qui permettent de créer automatiquement des matrices
Za

spéciales. Dans le tableau suivant nous présentons les plus importantes :


T.

Commande Description

zeros(n) Créer une matrice (n × n) avec tous les éléments = 0


r.
D

zeros(m,n) Créer une matrice (m × n) avec tous les éléments = 0

ones(n) Créer une matrice (n × n) avec tous les éléments = 1

ones(m,n) Créer une matrice (m × n) avec tous les éléments = 1

eye(n) Créer une matrice identité de dimension (n × n)

magic(n) Créer une matrice magique de dimension (n × n)

rand(m,n) Créer une matrice (m × n) de valeurs aléatoires


Tableau 2.5 Matrices spéciales de MATLAB.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
Exemples :

>> A = zeros(2) >> A = ones(2,3)


A= A=
0 0 1 1 1
0 0 1 1 1

>> A = eye (3) >> A = magic(3)


A= A=
1 0 0 8 1 6
0 1 0 3 5 7
0 0 1 4 9 2

>> A = rand(2)

)
PC
A=
0.9595 0.0357
0.6557 0.8491

N
(E
u
2.2.7 Opérations sur les vecteurs et les matrices :
io

Ici "a" et "b" peuvent être des matrices ou des vecteurs.


ba
Za
T.
r.
D

Tableau 2.6 Opérations sur les vecteurs et les matrices.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
2.2.8 Commandes pour les vecteurs et les matrices :

sum(V) : calcule la somme des éléments du vecteur V.

prod(V) : calcule le produit des éléments du vecteur V.

max (V) : maximum des éléments du vecteur V.

min(V) : minimum des éléments du vecteur V.

length(A) : fourni le nombre d’éléments de A si A est un vecteur ou la valeur max de


‘m’ ou ‘n’ si A est une matrice (m×n).

size(A) : fourni un vecteur ligne contenant les dimensions (m×n) de la matrice A,


c’est-à-dire il fourni la taille de la matrice.

)
det(A) : calcule le déterminant de la matrice A.

PC
inv(A) : calcule l’inverse de la matrice A.

N
diag(A) : calcule la diagonale de la matrice A. (E
rank(A) : calcule le rang de la matrice A.
u
io

eig(A) : calcule les valeurs propres de la matrice A.


ba

2.2.9 Fonction ‘linspace’ :


Za

La création d’un vecteur dont les composants sont ordonnés par intervalle régulier et avec
T.

un nombre d’éléments bien déterminé peut se réaliser avec la fonction :


r.

linspace (début, fin, nombre d’éléments)


D

Le pas d’incrémentation est calculé automatiquement par MATLAB comme suit :


Fin − Début
pas =
Nombre d ' éléments − 1
Exemple :

>> X = linspace(1,10,3) % crée un vecteur de trois élément de 1 à 10


X=
1.0000 5.5000 10.0000

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
>> Y= linspace(20,40,6) % crée un vecteur de six élément de 20 à 40
Y=
20 24 28 32 36
2.2.10 Concaténation des matrices :

La concaténation consiste à coller des matrices bout à bout afin d’obtenir une matrice
supplémentaire. Cette opération s’effectue entre crochets. À l’intérieur de ces crochets,
les différentes matrices doivent être séparées, soit par des points virgules pour une
concaténation verticale, soit par des virgules ou des espaces pour une concaténation
horizontale.

)
a) Concaténation verticale :

PC
La concaténation verticale consiste à mettre des matrices les unes sur les autres. Les

N
différentes matrices doivent impérativement avoir le même nombre de colonnes.
(E
Exemple :
u
Concaténation verticale de trois matrices suivantes :
io
ba
Za
T.
r.
D

Figure 2.1 Concaténation verticale de trois matrices.

>> A = [1 2 3]
A=
1 2 3

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
>> B = ones(2,3)
B=
1 1 1
1 1 1

>> C = [3 2 1]
C=
3 2 1

>> X = [A ; B ; C]

X=
1 2 3
1 1 1

)
1 1 1

PC
3 2 1

N
➢ Si les matrices n’ont pas le même nombre de colonnes, MATLAB retourne un message
d'erreur. (E
u
b) Concaténation horizontale :
io
ba

La concaténation horizontale consiste à mettre des matrices les unes à coté des autres.
Les différentes matrices doivent impérativement avoir le même nombre de lignes.
Za
T.

Exemple :
Concaténation horizontale de trois matrices suivantes :
r.
D

Figure 2.2 Concaténation horizontale de trois matrices.

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou
>> A = [1;2;3]
A=
1
2
3

>> B = ones(3,2)
B=

1 1
1 1
1 1

>> C = [3;2;1]
C=

)
3

PC
2
1

N
>> X = [A,B,C] (E
X=
u
1 1 1 3
io

2 1 1 2
3 1 1 1
ba

➢ Si les matrices n'ont pas le même nombre de lignes, MATLAB retourne un message
Za

d'erreur.
T.
r.
D

Ecole Nationale Polytechnique de Constantine (ENPC) Département E.E.A


Cours : Langages de programmation (3ème année ÉLE et AUT) Par : Dr. T. Zabaiou

Vous aimerez peut-être aussi