Vous êtes sur la page 1sur 39

Préparé par : LALLALI

Calcul vectoriel et matriciel

2.1. Introduction.
2.2. Les vecteurs : déclaration, accès a un élément, calculs vectoriels.
2.3. La fonction linspace.
2.4. Les matrices : déclaration, accès à un élément.
2.5. Instructions pour la génération automatique de matrices spécifiques.
2.6. Les opérations de base sur les matrices.
2.7. Quelques fonctions pour le traitement des matrices.
2.8. Résolution d'un système d'équations linéaires.
2-1-Introduction :

Matlab était conçu à l’origine pour permettre aux


mathématiciens, scientifiques et ingénieurs d‘utiliser facilement
les mécanismes de l’algèbre linéaire. Par conséquent,
l’utilisation des vecteurs et des matrices est très intuitif et
commode en Matlab.
2-2-Vecteur:

Un vecteur est une liste ordonnée d’éléments. Si les éléments


sont arrangés horizontalement on dit que le vecteur est un
vecteur ligne, par contre si les éléments sont arrangés
verticalement on dit que c’est un vecteur colonne.
2-2-Vecteur:

Pour créer un vecteur ligne il suffit d’écrire la liste de ses


composants entre crochets [ ] et de les séparés par des espaces
ou des virgules comme suit :
>> V = [ 5 , 2 , 13 , -6 ] % Création d’un vecteur ligneV

V=
5 2 13 -6
>> U = [ 4 -2 1 ] % Création d’un vecteur ligne U
U=
4 -2 1
2-2-Vecteur:

Pour créer un vecteur colonne il est possible d’utiliser une des


méthodes suivantes :
écrire les composants du vecteur entre crochets [ ] et de les
séparés par des points-virgules (;) comme suit :
>> U = [ 4 ; -2 ; 1 ] % Création d’un vecteur colonne U
U=
4
-2
1
2-2-Vecteur:

écrire verticalement le vecteur :


>> U = [
4
-2
1
]
U=
4
-2
1
2-2-Vecteur:

calculer le transposé d’un vecteur ligne :


>> U = [ 4 -2 1 ]' % Création d’un vecteur colonne U
U=
4
-2
1

Donc, le transposé d’un vecteur colonne est de quelle


dimension?
>> U = [ 4 ; -2 ; 1 ]’
2-2-Vecteur - calcul vectoriels :

Définition automatique d’un vecteur:


Si les composants d’un vecteur X sont ordonnés avec des valeurs
consécutives avec un pas (d’incrémentation/décrémentation),
nous pouvons spécifier le pas avec la notation :
X = [premier_élément : le_pas : dernier_élément]
Le pas est facultatif si il est égal à 1.
2-2-Vecteur - calcul vectoriels :

Définition automatique d’un vecteur:


>> X = [0:2:10] % Les nombres pairs < 12 >> A = [1 2 3];
X= >> B = [A, 4, 5, 6]
B=
0 2 4 6 8 10
1 2 3 4 5 6
>> V = [ 1:2:5 , -2:-3:-10 ] >> B = [A ; 4, 5, 6]
V= B=?
1 3 5 -2 -5 -8
2-2-Vecteur - calcul vectoriels :

Référencement et accès aux éléments d’un vecteur :


nom_vecteur ( positions )

Les parenthèses (et) sont utilisées ici (pour la


positions : peut être un simple
consultation).
numéro, ou une liste de numéro
Les crochets [et] sont utilisés uniquement pendant la
(un vecteur de positions)
création.
2-2-Vecteur - calcul vectoriels :

Référencement et accès aux éléments d’un vecteur :


>> V = [5, -1, 13, -6, 7] >> V(2:4) % de la 2ème position jusqu'au 4ème
V= ans =
5 -1 13 -6 7 -1 13 -6
>> V(4:-2:1) % de la 4eme pos jusqu‘au1ere avec pas-2
>> V(3) % la 3eme position
ans =
ans = -6 -1
13
2-2-Vecteur - calcul vectoriels :

Référencement et accès aux éléments d’un vecteur :


>> V(3:end) % de la 3eme position >> V(9) = 5 % ajouter un 9ème élément
ans = 8 -1 13 -6 7 -3 0 0 5
13 -6 7 >>V(2) = [ ] % Supprimer le deuxième élément
er
V=
>> V(1) = 8 % donner la valeur 8 au 1 8 13 -6 7 -3 0 0 5
V= >>V(3:5) = [] % Supprimer du 3eme au 5eme élément
8 -1 13 -6 7 V=
8 13 0 0 5
2-2-Vecteur - calcul vectoriels :

Les opérations sur les vecteurs :


Avec deux vecteurs et, il est possible de réaliser des calcules élément par élément en
utilisant les opérations suivantes :
>> u = [-2, 6, 1] ; >> u+v
>> v = [ 3, -1, 4] ; ans =
1 5 5
>> u+2
>> v(4) = 2;
ans = >> u+v ??!
0 8 3
2-2-Vecteur - calcul vectoriels :

Les opérations sur les vecteurs :


Avec deux vecteurs et, il est possible de réaliser des calcules élément par élément en
utilisant les opérations suivantes :
>> u = [-2, 6, 1] ; >> u-v
>> v = [ 3, -1, 4] ; ans =
-5 7 -3
>> u-2
>> v(4) = 2;
ans = >> u-v ??!
-4 4 -1
2-2-Vecteur - calcul vectoriels :

Les opérations sur les vecteurs :


Avec deux vecteurs et, il est possible de réaliser des calcules élément par élément en
utilisant les opérations suivantes :
>> u = [-2, 6, 1] ; >> u.*v
>> v = [ 3, -1, 4] ; ans =
-6 -6 4
>> u * 2
>> u * v ??!
ans = >> u * v’ ??! % ‘ le transposé
-4 12 2
2-2-Vecteur - calcul vectoriels :

Les opérations sur les vecteurs :


Avec deux vecteurs et, il est possible de réaliser des calcules élément par élément en
utilisant les opérations suivantes :
>> u./v
>> u = [-2, 6, 1] ; ans =
>> v = [ 3, -1, 4] ; -0.6667 -6.0000 0.2500
>> u/2 >> u. \v ??!
ans = >> u /v ??!
>> u /v’ ??!
-1.0000 3.0000 0.5000 >> u * v^-1 ??!
2-2-Vecteur - calcul vectoriels :

Les opérations sur les vecteurs :


Avec deux vecteurs et, il est possible de réaliser des calcules élément par élément en
utilisant les opérations suivantes :
>> u = [-2, 6, 1] ; >> u.^v
>> v = [ 3, -1, 4] ; ans =
-8.0000 0.1667 1.0000
>> u.^2
>> u ^ v ??!
ans = >> u ^ v’ ??!
4 36 1
2- 3- La fonction Linspace :

La fonction Linspace :
La création d’un vecteur dont les composants sont ordonnés par intervalle
régulier et avec un nombre d’éléments bien déterminé peut se réaliser avec
la fonction :
Linspace (début, fin, nombre d’éléments).
Le pas d’incrémentation est calculé automatiquement par Matlab selon la
formule :
2- 3- La fonction Linspace :

La fonction Linspace :
>> X = linspace(1,10,4) % un vecteur de quatre élément de 1 à 10
X=
1 4 7 10
>>Y = linspace(13,40,4) % un vecteur de quatre élément de 13 à 40
Y=
13 22 31 40
La taille d’un vecteur (le nombre de ses composants) peut être obtenue avec la fonction length comme suit :
>> length(X) % la taille du vecteur X
ans =
4 Cours 2 : calcul vectoriel et matriciel
2-4- Matrice :

Définition d’une matrice :


Une matrice est un tableau rectangulaire d’éléments
(bidimensionnels), pour créer 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
Cours 2 : calcul vectoriel et matriciel
2-4- Matrice :

Définition d’une matrice :


Pour illustrer, considérant la matrice suivante :
On peu écrire:
>> A = [1,2,3,4 ; 5,6,7,8 ; 9,10,11,12] ;
>> A = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12] ;
>> A=[[1;5;9] , [2;6;10] , [3;7;11] , [4;8;12]] ;
2-4- Matrice :

Référencement et accès aux éléments d’une matrice :


nom_matrice ( numéro de ligne, numéro de colonne )

Numéro : peut être un simple


numéro, ou une liste de numéro
(un vecteur de positions)
2-4- Matrice :

Référencement et accès aux éléments d’un vecteur :


L’accès à un élément de la ligne i et la colonne j se fait par : A(i , j)
L’accès à toute la ligne numéro i se fait par : A(i , :)
L’accès à toute la colonne numéro j se fait par : A(: , j)
L’accès à une sous-matrice se fait par A(i1:i2 , j1:j2)
2-4- Matrice :

Référencement et accès aux éléments d’un vecteur :


>> A(2,3) % l’élément sur la 2ème ligne à la 3ème colonne
>> A(1,:) % tous les éléments de la 1ère ligne
>> A(:,2) % tous les éléments de la 2ème colonne
>> A(2:3,:) % tous les éléments de la 2ème et la 3ème ligne
>> A(1:2,3:4) % La sous matrice supérieure droite
2-4- Matrice :

Référencement et accès aux éléments d’une matrice :


>> A([1,3],[2,4]) % la sous matrice : lignes(1,3) et colonnes (2,4)
>> A(:,3) = [] % Supprimer la troisième colonne
>> A(2,:) = [] % Supprimer la deuxième ligne
>> A = [A , [0;0]] % Ajouter une nouvelle colonne {ou A(:,4)=[0;0]}
>> A = [A ; [1,1,1,1]] % Ajouter une nouvelle ligne {ou A(3,:)=[1,1,1,1]}
2-5- Instructions pour la génération
automatique de matrices spécifiques :

Définition automatique d’une matrice :


>> A = [1 : 2 : 5; 6 : 8; ………] ;
zeros(n) % Génère une matrice n × n avec tous les éléments = 0
zeros(m,n) % Génère une matrice m × n avec tous les éléments = 0
ones(n) % Génère une matrice n × n avec tous les éléments = 1
ones(m,n) % Génère une matrice m × n avec tous les éléments = 1
eye(n) % Génère une matrice identité de dimension n × n
magic(n) % Génère une matrice magique de dimension n × n
rand(m,n) % Génère une matrice de dimension m × n de valeurs aléatoires
2-6- Les opérations de base sur les matrices :

Les opérations sur les matrices :


Entre deux matrice, il est possible de réaliser les opérations
suivantes: C’est quoi les conditions????
‘ Le transposé .\ La division inverse élément par élément
+ L’addition .^ La puissance élément par élément
- La soustraction * La multiplication matricielle
.* La multiplication élément par élément / La division matricielle (A/B) = (A*inv(B))
./ La division élément par élément
Cours 2 : calcul vectoriel et matriciel
2-6- Les opérations de base sur les matrices :

Les opérations sur les matrices :


2-6- Les opérations de base sur les matrices :

Les opérations sur les matrices :

Le produit matriciel est :


associatif : ABC = (AB)C = A(BC)
distributif par rapport à l'addition : A(B + C) = AB + AC
non commutatif : AB n'est pas égal à BA en général.
2-6- Les opérations de base sur les matrices :

Les opérations sur les matrices :


L’inverse d’une matrice carrée:

Le nombre ad - bc est appelé déterminant de la matrice A, noté :

La matrice inverse A-1 n'existe donc que si det A est différent de zéro.
2-6- Les opérations de base sur les matrices :

Les opérations sur les matrices :


>> A=ones(2,3); >> B=B(1:2,:) % ou bien B(3,:)=[]
>> B=zeros(3,2) >> A=A*2
>> A.*B
>> B=B+3
>> A*eye(3)
>> A*B
>> B=[B , [3 3 3]'] % ou bien B(:,3)=[3 3 3]’
2-6- Les opérations de base sur les matrices :

Les opérations sur les matrices :


Concaténation de matrices:
>> A = [1,2,3,4 ; 5,6,7,8 ; 9,10,11,12] ;
>> B = [-1 -2 -3 -4 ; -5 -6 -7 -8] ;
>> C = [-1 -2 -3 ; -5 -6 -8 ; -9 -11 -12] ;
>> D = [A,B] ; C’est quoi les conditions????
>> D = [A;B] ;
>> D = [A,C] ;
>> D = [A;C] ;
2-6- Les opérations de base sur les matrices :

Les conditions des opérations sur les matrices :


‘ Le transposé : aucune condition.
+ : A et B doivent être identique.
- : A et B doivent être identique.
.* , ./ , .\ , .^ : A et B doivent être identique.
, /: il faut que les dimension de A(n,m) et B(m,f) (donc nombre de colonnes de A = nombre de
linges de B).
D = [A,B] : il faut que les dimension de A(n,m) et B(n,f).
D = [A;B] : il faut que les dimension de A(n,m) et B(f,m).
2-7- Quelques fonctions pour le traitement
des matrices :

Voici quelques fonctions pour le traitement de matrices :


Det % Déterminant d’une matrice Size % La taille d’une matrice
Inv % L’inverse d’une matrice Cross % Produit vectoriel de 2 vecteurs
Rank % Rang d’une matrice Diag % Diagonal d’une matrice
Trace %Trace d’une matrice diag(V) % Crée une matrice ayant le vecteur V
Eig %Valeurs propres dans le diagonal et 0 ailleurs.
Dot % Produit scalaire de 2 vecteurs Tril % La partie triangulaire inferieure
Norm % Norme d’un vecteur Triu % La partie triangulaire supérieure
2-8- Résolution d’un systèmes linéaires :

Tout système linéaire peut être représenté sous forme


matricielle. La résolution d'un tel système fait appel à la notion
d'inverse d'une matrice.
Considérons le système d'équations suivant:

Ce système peut être écrit sous


une forme matricielle: AX = B, avec:
2-8- Résolution d’un systèmes linéaires :

Résoudre ce système d'équations, c'est trouver X tel que:


AX = B  X = inv(A)*B ou X = A \ B
La résolution du système précédent:
>> A = [3 2 -1;-1 3 2;1 -1 -1];
>> B = [10 ;5 ;-1];
>> X = inv(A)*B
>> X = A\B
2-8- Résolution d’un systèmes linéaires :

Soit le système d'équations paramétriques :

On cherche à exprimer x1, x2 et x3 en fonction de b1, b2 et b3 :


>> A = [ -1 2 1 ; -1 1 2 ; 1 -2 1 ]
>> format rational
>> inv(A)
2-8- Résolution d’un systèmes linéaires :

Soit le système de 2 équations à 2 inconnues :


2x1 + 3x2 = 9
x1 - x2 = 2

Soit : x1 = 3, x2 = 1.

Vous aimerez peut-être aussi