Cours 2 calcul numerique 2eme annees

Embed Size (px)

Citation preview

  • 1. Niveau : Licence ptrochimie troisime semestre Universit du 20 aout 55 Skikda

2. Calcul vectoriel et matriciel 2.1. Introduction. 2.2. Les vecteurs : dclaration, accs a un lment, calculs vectoriels. 2.3. La fonction linspace. 2.4. Les matrices : dclaration, accs un lment. 2.5. Instructions pour la gnration automatique de matrices spcifiques. 2.6. Les oprations de base sur les matrices. 2.7. Quelques fonctions pour le traitement des matrices. 2.8. Rsolution d'un systme d'quations linaires. 3. 2-1-Introduction : Matlab tait conu lorigine pour permettre aux mathmaticiens, scientifiques et ingnieurs dutiliser facilement les mcanismes de lalgbre linaire. Par consquent, lutilisation des vecteurs et des matrices est trs intuitif et commode en Matlab.Cours 2 : calcul vectoriel et matriciel 4. 2-2-Vecteur: Un vecteur est une liste ordonne dlments. Si les lments sont arrangs horizontalement on dit que le vecteur est un vecteur ligne, par contre si les lments sont arrangs verticalement on dit que cest un vecteur colonne.Cours 2 : calcul vectoriel et matriciel 5. 2-2-Vecteur: Pour crer un vecteur ligne il suffit dcrire la liste de ses composants entre crochets [ ] et de les spars par des espaces ou des virgules comme suit : >> V = [ 5 , 2 , 13 , -6 ]% Cration dun vecteur ligne VV= 5 >> U = [ 4 -2 1 ]213-6% Cration dun vecteur ligne UU= 4-21Cours 2 : calcul vectoriel et matriciel 6. 2-2-Vecteur: Pour crer un vecteur colonne il est possible dutiliser une des mthodes suivantes : crire les composants du vecteur entre crochets [ ] et de les spars par des points-virgules (;) comme suit : >> U = [ 4 ; -2 ; 1 ]% Cration dun vecteur colonne UU= 4-2 1Cours 2 : calcul vectoriel et matriciel 7. 2-2-Vecteur: crire verticalement le vecteur : >> U = [ 4 -2 1] U= 4 -2 1Cours 2 : calcul vectoriel et matriciel 8. 2-2-Vecteur: calculer le transpos dun vecteur ligne : >> U = [ 4 -2 1 ]'% Cration dun vecteur colonne UU= 4 -21Donc, le transpos dun vecteur colonne est de quelle dimension? >> U = [ 4 ; -2 ; 1 ]Cours 2 : calcul vectoriel et matriciel 9. 2-2-Vecteur - calcul vectoriels : Dfinition automatique dun vecteur: Si les composants dun vecteur X sont ordonns avec des valeurs conscutives avec un pas (dincrmentation/dcrmentation), nous pouvons spcifier le pas avec la notation : X = [premier_lment : le_pas : dernier_lment] Le pas est facultatif: si il est gal et matriciel 1. Cours 2 calcul vectoriel 10. 2-2-Vecteur - calcul vectoriels : Dfinition automatique dun 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 matriciel234 5 6 11. 2-2-Vecteur - calcul vectoriels : Rfrencement vecteur :etaccsauxlmentsdunnom_vecteur ( positions )Les parenthses (et) sont utilises ici (pour la consultation). Les crochets [et] sont utiliss uniquement pendant la cration.positions : peut tre un simple numro, ou une liste de numro (un vecteur de positions)Cours 2 : calcul vectoriel et matriciel 12. 2-2-Vecteur - calcul vectoriels : Rfrencement vecteur :etaccsauxlmentsdun>> V(2:4) % de la 2me position jusqu'au 4me >> 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 jusquau1ere avec pas-2 ans = ans = -6 -1 13 Cours 2 : calcul vectoriel et matriciel 13. 2-2-Vecteur - calcul vectoriels : Rfrencement vecteur :etaccsauxlmentsdun>> V(9) = 5 % ajouter un 9me lment >> V(3:end) % de la 3eme position 8 -1 13 -6 7 -3 0 0 ans = 5 13 -6 7 >> V(2) = [ ] % Supprimer le deuxime >> V(1) = 8 % donner la valeur 8lment 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 oprations sur les vecteurs : Avec deux vecteurs et, il est possible de raliser des calcules lment par lment en utilisant les oprations 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 oprations sur les vecteurs : Avec deux vecteurs et, il est possible de raliser des calcules lment par lment en utilisant les oprations 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 oprations sur les vecteurs : Avec deux vecteurs et, il est possible de raliser des calcules lment par lment en utilisant les oprations 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 oprations sur les vecteurs : Avec deux vecteurs et, il est possible de raliser des calcules lment par lment en utilisant les oprations 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 oprations sur les vecteurs : Avec deux vecteurs et, il est possible de raliser des calcules lment par lment en utilisant les oprations 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 cration dun vecteur dont les composants sont ordonns par intervalle rgulier et avec un nombre dlments bien dtermin peut se raliser avec la fonction : Linspace (dbut, fin, nombre dlments). Le pas dincrmentation 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 lment de 1 10X= 14>> Y = linspace(13,40,4)710 % un vecteur de quatre lment de 13 40Y= 13223140La taille dun vecteur (le nombre de ses composants) peut tre obtenue avec la fonction length comme suit : >> length(X)% la taille du vecteur Xans =Cours 2 : calcul vectoriel et matriciel 4 21. 2-4- Matrice : Dfinition dune matrice : Une matrice est un tableau rectangulaire dlments (bidimensionnels), pour crer une matrice, il faut respecter les rgles suivantes : Les lments doivent tre mises entre des crochets [ ] Les espaces ou les virgules sont utiliss pour sparer les lmentsdans la mme ligne Un point virgule (ou la touche entrer) est utilis pour sparer les lignes Cours 2 : calcul vectoriel et matriciel 22. 2-4- Matrice : Dfinition dune matrice : Pour illustrer, considrant 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 : Rfrencement et accs aux lments dune matrice : nom_matrice ( numro de ligne, numro de colonne ) Numro : peut tre un simple numro, ou une liste de numro (un vecteur de positions)Cours 2 : calcul vectoriel et matriciel 24. 2-4- Matrice : Rfrencement vecteur :etaccsauxlmentsdunLaccs un lment de la ligne i et la colonne j se fait par : A(i , j) Laccs toute la ligne numro i se fait par : A(i , :) Laccs toute la colonne numro j se fait par : A(: , j) Laccs une sous-matrice se fait par A(i1:i2 , j1:j2)Cours 2 : calcul vectoriel et matriciel 25. 2-4- Matrice : Rfrencement vecteur : >> A(2,3) >> A(1,:) >> A(:,2) >> A(2:3,:) >> A(1:2,3:4)etaccsauxlments% llment sur la 2me ligne la 3me colonne % tous les lments de la 1re ligne % tous les lments de la 2me colonne % tous les lments de la 2me et la 3me ligne % La sous matrice suprieure droite Cours 2 : calcul vectoriel et matricieldun 26. 2-4- Matrice : Rfrencement et accs aux lments dune 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 troisime colonne % Supprimer la deuxime 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 gnration automatique de matrices spcifiques : Dfinition automatique dune matrice : >> A = [1 : 2 : 5; 6 : 8; ] ; zeros(n) % Gnre une matrice n n avec tous les lments = 0 zeros(m,n) % Gnre une matrice m n avec tous les lments = 0 ones(n) % Gnre une matrice n n avec tous les lments = 1 ones(m,n) % Gnre une matrice m n avec tous les lments = 1 eye(n) % Gnre une matrice identit de dimension n n magic(n) % Gnre une matrice magique de dimension n n rand(m,n) %Cours 2 :une matrice de dimension m n de valeurs Gnre calcul vectoriel et matriciel alatoires 28. 2-6- Les oprations de base sur les matrices : Les oprations sur les matrices : Entre deux matrice, il est possible de raliser les Cest quoi les oprations suivantes: conditions????. La division inverse lment par Le transpos lment + Laddition .^ La puissance lment par lment - La soustraction * La .* La multiplication lment par lment multiplication matricielle / La ./ La division lment par 2 : calcul vectoriel division matricielle (A/B) = lment Cours et (A*inv(B)) matriciel 29. 2-6- Les oprations de base sur les matrices : Les oprations sur les matrices :Cours 2 : calcul vectoriel et matriciel 30. 2-6- Les oprations de base sur les matrices : Les oprations 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 gnral. Cours 2 : calcul vectoriel et matriciel 31. 2-6- Les oprations de base sur les matrices : Les oprations sur les matrices : Linverse dune matrice carre:Le nombre ad - bc est appel dterminant de la matrice A, not :La matrice inverse A-1 n'existe donc que si det A est diffrent de zro. Cours 2 : calcul vectoriel et matriciel 32. 2-6- Les oprations de base sur les matrices : Les oprations 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 oprations de base sur les matrices : Les oprations sur les matrices : Concatnation 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] ; Cest 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 oprations de base sur les matrices : Les conditions des oprations 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 dune matrice matrices : Inv% Dterminant dune matrice Cross Diag % Linverse dune matriceRank% Rang dune matriceTrace% Trace dune matriceEig% Valeurs propresDetDotNorm% Produit vectoriel de 2 vecteurs % Diagonal dune matricediag(V) % Cre une matrice ayant le vecteur V dans le diagonal et 0 ailleurs.Tril% La partie triangulaire inferieureTriu % La partie % Produit scalaire de 2 vecteurs suprieure % Norme dun vecteur calcul vectoriel et matriciel Cours 2 :triangulaire 36. 2-8- Rsolution dun systmes linaires : Tout systme linaire peut tre reprsent sous forme matricielle. La rsolution d'un tel systme fait appel la notion d'inverse d'une matrice. Considrons le systme d'quations suivant: Ce systme peut tre crit sous une forme matricielle: AX = B, avec:Cours 2 : calcul vectoriel et matriciel 37. 2-8- Rsolution dun systmes linaires : Rsoudre ce systme d'quations, c'est trouver X tel que: AX = B X = inv(A)*B ou X = AB La rsolution du systme prcdent: >> 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- Rsolution dun systmes linaires : Soit le systme d'quations paramtriques :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- Rsolution dun systmes linaires : Soit le systme de 2 quations 2 inconnues : 2x1 + 3x2 = 9 x1 - x2 = 2Soit : x1 = 3, x2 = 1. Cours 2 : calcul vectoriel et matriciel