Animation principes et objectifs de la pétrochimie
Cours 2 calcul numerique 2eme annees
1. Niveau : Licence pétrochimie – troisième
semestre
Université du 20 aout 55 – Skikda
2. 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.
3. 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.
Cours 2 : calcul vectoriel et matriciel
4. 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.
Cours 2 : calcul vectoriel et matriciel
5. 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 ligne V
V=
5
>> U = [ 4 -2 1 ]
2
13
-6
% Création d’un vecteur ligne U
U=
4
-2
1
Cours 2 : calcul vectoriel et matriciel
6. 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
Cours 2 : calcul vectoriel et matriciel
8. 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 ]’
Cours 2 : calcul vectoriel et matriciel
9. 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 et matriciel
à 1.
Cours 2 calcul vectoriel
10. 2-2-Vecteur - calcul vectoriels :
Définition automatique d’un vecteur:
>> X = [0:2:10] % Les nombres pairs < 12 A = [1 2 3];
>>
>> B = [A, 4, 5, 6]
X=
B=
0 2 4 6 8 10
1
>> V = [ 1:2:5 , -2:-3:-10 ]
>> B = [A ; 4, 5, 6]
V=
B=?
1 3 5 -2 -5
-8
Cours 2 : calcul vectoriel et matriciel
2
3
4 5 6
11. 2-2-Vecteur - calcul vectoriels :
Référencement
vecteur :
et
accès
aux
éléments
d’un
nom_vecteur ( positions )
Les parenthèses (et) sont utilisées ici (pour la
consultation).
Les crochets [et] sont utilisés uniquement pendant la
création.
positions : peut être un simple
numéro, ou une liste de numéro
(un vecteur de positions)
Cours 2 : calcul vectoriel et matriciel
12. 2-2-Vecteur - calcul vectoriels :
Référencement
vecteur :
et
accès
aux
éléments
d’un
>> V(2:4)
% de la 2ème position
jusqu'au 4ème
>> V = [5, -1, 13, -6, 7]
ans =
V=
-1 13 -6
5 -1 13 -6 7 V(4:-2:1) % de la 4eme pos
>>
>> V(3)
% la 3eme position
jusqu‘au1ere avec pas-2
ans =
ans =
-6 -1
13
Cours 2 : calcul vectoriel et matriciel
13. 2-2-Vecteur - calcul vectoriels :
Référencement
vecteur :
et
accès
aux
éléments
d’un
>> V(9) = 5
% ajouter un 9ème
élément
>> V(3:end) % de la 3eme position
8 -1 13 -6 7 -3 0 0
ans =
5
13 -6 7
>> V(2) = [ ]
% Supprimer le deuxième
>> V(1) = 8 % donner la valeur 8élément
au 1er
V=
V=
8 13 -6 7 -3 0 0
8 -1 13 -6 7
5
Cours 2 : calcul vectoriel et matriciel
eme
14. 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
ans =
>> v = [ 3, -1, 4] ;
1 5 5
>> u+2
>> v(4) = 2;
ans =
>> u+v ??!
0 8 3
Cours 2 : calcul vectoriel et matriciel
15. 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
ans =
>> v = [ 3, -1, 4] ;
-5 7 -3
>> u-2
>> v(4) = 2;
ans =
>> u-v ??!
-4 4 -1
Cours 2 : calcul vectoriel et matriciel
16. 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
ans =
>> v = [ 3, -1, 4] ;
-6 -6 4
>> u * 2
>> u * v ??!
ans =
>> u * v’ ??! % ‘ le transposé
-4 12 2
Cours 2 : calcul vectoriel et matriciel
17. 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 ??!
-1.0000 3.0000 0.5000 u /v’ ??!
>>
Cours 2 : calcul vectoriel et matriciel
>> u * v^-1 ??!
18. 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
ans =
>> v = [ 3, -1, 4] ;
-8.0000 0.1667
>> u.^2
1.0000 >> u ^ v ??!
ans =
>> u ^ v’ ??!
4 36 1
Cours 2 : calcul vectoriel et matriciel
19. 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 :
Cours 2 : calcul vectoriel et matriciel
20. 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
>> Y = linspace(13,40,4)
7
10
% 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 =
Cours 2 : calcul vectoriel et matriciel
4
21. 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
22. 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]] ;
Cours 2 : calcul vectoriel et matriciel
23. 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)
Cours 2 : calcul vectoriel et matriciel
24. 2-4- Matrice :
Référencement
vecteur :
et
accès
aux
éléments
d’un
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)
Cours 2 : calcul vectoriel et matriciel
25. 2-4- Matrice :
Référencement
vecteur :
>> A(2,3)
>> A(1,:)
>> A(:,2)
>> A(2:3,:)
>> A(1:2,3:4)
et
accès
aux
éléments
% l’élément sur la 2ème ligne à la 3ème colonne
% tous les éléments de la 1ère ligne
% tous les éléments de la 2ème colonne
% tous les éléments de la 2ème et la 3ème ligne
% La sous matrice supérieure droite
Cours 2 : calcul vectoriel et matriciel
d’un
26. 2-4- Matrice :
Référencement et accès aux éléments d’une
matrice :
>> A([1,3],[2,4])
>> A(:,3) = []
>> A(2,:) = []
>> A = [A , [0;0]]
>> A = [A ; [1,1,1,1]]
% la sous matrice : lignes(1,3) et colonnes (2,4)
% Supprimer la troisième colonne
% Supprimer la deuxième ligne
% Ajouter une nouvelle colonne {ou A(:,4)=[0;0]}
% Ajouter une nouvelle ligne {ou A(3,:)=[1,1,1,1]}
Cours 2 : calcul vectoriel et matriciel
27. 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)
%Cours 2 :une matrice de dimension m × n de valeurs
Génère calcul vectoriel et matriciel
aléatoires
28. 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
C’est
quoi
les
opérations suivantes:
conditions????
. La division inverse élément par
‘ Le transposé
élément
+ L’addition
.^ La puissance élément par élément
- La soustraction
* La
.* La multiplication élément par élément multiplication matricielle
/ La
./ La division élément par 2 : calcul vectoriel division matricielle (A/B) =
élément
Cours
et
(A*inv(B)) matriciel
29. 2-6- Les opérations de base sur les
matrices :
Les opérations sur les matrices :
Cours 2 : calcul vectoriel et matriciel
30. 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.
Cours 2 : calcul vectoriel et matriciel
31. 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.
Cours 2 : calcul vectoriel et matriciel
32. 2-6- Les opérations de base sur les
matrices :
Les opérations sur les matrices :
>> A=ones(2,3);
>> B=zeros(3,2)
>> B=B+3
>> A*B
>> B=[B , [3 3 3]']
>> B=B(1:2,:)
>> A=A*2
>> A.*B
>> A*eye(3)
% ou bien B(3,:)=[]
% ou bien B(:,3)=[3 3 3]’
Cours 2 : calcul vectoriel et matriciel
33. 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] ;
C’est
quoi
>> D = [A,B] ;
conditions????
>> D = [A;B] ;
les
>> D = [A,C] ;
>> D = [A;C] ;
Cours 2 : calcul vectoriel et matriciel
34. 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).
Cours 2 : calcul vectoriel et matriciel
35. 2-7- Quelques fonctions pour le
traitement des matrices :
Voici quelques fonctions pour le traitement de
Size
% La taille d’une matrice
matrices :
Inv
% Déterminant d’une matrice Cross
Diag
% L’inverse d’une matrice
Rank
% Rang d’une matrice
Trace
% Trace d’une matrice
Eig
% Valeurs propres
Det
Dot
Norm
% Produit vectoriel de 2 vecteurs
% Diagonal d’une matrice
diag(V) % Crée une matrice ayant le
vecteur V dans le diagonal et 0 ailleurs.
Tril
% La partie triangulaire inferieure
Triu
%
La
partie
% Produit scalaire de 2 vecteurs
supérieure
% Norme d’un vecteur calcul vectoriel et matriciel
Cours 2 :
triangulaire
36. 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:
Cours 2 : calcul vectoriel et matriciel
37. 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 = AB
Cours 2 : calcul vectoriel et matriciel
38. 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
Cours 2 : calcul vectoriel et matriciel
>> inv(A)
39. 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.
Cours 2 : calcul vectoriel et matriciel