[PDF] [PDF] CH 5 : Manipulation de matrices dans Scilab - Arnaud Jobin

deux matrices différentes car elles sont de tailles différentes deux à deux Voici un Pour tout réel λ et toute matrice A on peut définir le produit de λ et A



Previous PDF Next PDF





[PDF] Chapitre 2 1 24 Produits matriciels

sont deux matrices carrées de taille 2 (avec deux lignes et deux colonnes) on définit Le découpage peut être avec des matrices de taille différentes, par exem-



[PDF] Calcul matriciel

8 nov 2011 · Nous insistons sur le fait que le produit AB de deux matrices n'est défini que si représentent le même endomorphisme dans des bases différentes Donc deux matrices de même taille et de même rang sont équivalentes



[PDF] Algorithmique (suite) - LaBRI

Tableau à deux dimensions • Lecture • Quelques La première dimension a une taille égale à 3 T peut être vue comme une matrice à 3 lignes Si elles sont différentes alors affecter la valeur 0 à S permet de calculer le produit matriciel



[PDF] Matrices - Exo7 - Cours de mathématiques

Deux matrices sont égales lorsqu'elles ont la même taille et que les coefficients Le produit AB de deux matrices A et B est défini si et seulement si le nombre de colonnes k différentes de j sont nuls et il reste donc ci j = ai jδj j = ai j1 = ai j



[PDF] CH 5 : Manipulation de matrices dans Scilab - Arnaud Jobin

deux matrices différentes car elles sont de tailles différentes deux à deux Voici un Pour tout réel λ et toute matrice A on peut définir le produit de λ et A



[PDF] Rappels de calcul matriciel

de deux façons différentes 1 3 Matrice La différence se définit de façon évidente A − B = A + Le produit de deux matrices n'est pas, en général, commutatif Soit la bivariable (X1,X2) dont on poss`ede un échantillon de taille n Les



[PDF] Matrices - Maths-francefr

1 3 2 Produit de deux matrices élémentaires Commençons par analyser différentes « régions » dans une matrice carrée La diagonale principale est 



[PDF] A propos de matrices - La taverne de lIrlandais

Somme de deux matrices et produit par un réel Pour la multiplication matricielle, les choses sont différentes : elle n'est pas commutative C'est-à-dire que 



[PDF] Calcul matriciel

La somme ( ou la différence ) de deux matrices A et B de même dimension est la Le produit d'une matrice par un réel , est la matrice ×A obtenue en multipliant

[PDF] nombre relatif multiplication et division

[PDF] multiplication de nombres relatifs 4ème exercices

[PDF] variable aléatoire définition

[PDF] variable aléatoire pdf

[PDF] variable aléatoire discrète

[PDF] fonction de répartition d'une variable aléatoire discrète

[PDF] variable aléatoire exemple

[PDF] soliman et françois 1er

[PDF] fonction de distribution statistique

[PDF] produit scalaire deux vecteurs

[PDF] produit vectoriel de deux vecteurs dans le plan

[PDF] fonction de répartition d une variable aléatoire discrète

[PDF] multiplication coordonnées vecteurs

[PDF] variance

[PDF] multiplication d'un vecteur par un réel exercices

ECE1-B2015-2016CH 5 : Manipulation de matrices dansScilab

I. Les matrices en mathématiques

En préambule nous présentons une partie du vocabulaire et des opérations mathématiques sur les matrices

I.1. Définition

Une matrice est un tableau rectangulaire (éventuellement carré) de nombres.

Un tel tableau est caractérisé par :

son nombrende lignes, son nombrepde colonnes. Une matrice ànlignes etpcolonnes est dite detaillenp. Une matrice ne possédant qu"une ligne (i.e.de taille1p) est appelée matrice ligneouvecteur ligne. Une matrice ne possédant qu"une colonne (i.e.de taillen1) est appelée matrice colonneouvecteur colonne. Considérons, par exemple, les trois matrices d"entiersU,VetWsuivantes. U= 1 01 02 7

5 1 0!

V=1 3 0

412
W=0 B @34 2 1 1 0 9 81 C A Uest une matrice33(3 lignes et 3 colonnes),Vest une matrice23(2

lignes et 3 colonnes) etWest une matrice42(4 lignes et 2 colonnes).I.2. Opérations sur les matrices

I.2.a) Somme de matrices

La somme de deux matricesAetBest une opération définie uniquement pour des matrices de même taille (même nombre de lignes et même nombre de colonnes). On noteA+Bla somme deAetB. La somme de deux matrices est la somme terme à terme des coefficients des matrices. Si l"on reprend l"exemple précédent, nous ne pouvons réaliser la somme de deux matrices différentes car elles sont de tailles différentes deux à deux. Voici un exemple (en couleur le calcul du coefficient(2;3):2 + 7 = 5) : 1 3 0 41-2
+5 4 2 2 17 =4 7 2 6 05

I.2.b) Produit d"un réel et d"une matrice

Pour tout réelet toute matriceAon peut définir le produit deetA.

On noteA(et pasA) cette opération.

Le résultat est obtenu en multipliant tous les coefficients deApar.

En reprenant l"exemple précédent :

5V= 51 3 0

412
=5 15 0 20510

I.2.c) Produit de matrices

Le produit de deux matricesAetBest défini à la seule condition que le nombre de colonnes deAsoit égal au nombre de lignes deB.

On note alorsAB.

Autrement dit, siAest de taillenp,Bdoit obligatoirement être de taille pq(avecn,petqquelconques). La matrice obtenue est alors de taille nq.1 ECE1-B2015-2016Si l"on reprend les matrices exemples précédentes : les produitsUV,VW,UW, etWUne sont pas possibles, les produitsVUetWVsont réalisables. Nous donnerons la définition formelle de produit en cours de mathématiques. Nous la détaillons ici à l"aide de l"exemple du produitT=VU. CommeVest de taille23etUest de taille33, la matrice produit, notéeT, est de taille23. De manière générale, le coefficient(i;j)de la matrice produitTest obtenue en combinant laièmeligne deVet lajèmecolonne deU. Par exemple, le coefficientT(2;1)(en vert) est obtenue en combinant la 2 èmeligne deV(en bleu) et la1èrecolonne deU(en jaune). Le produit des matricesVUest représenté comme suit : 0 @10102 751 01 A

1 3 04-1-2

16 20-6011

le coefficientT(2;1)est donné par la formule :

T(2;1) = (41) + (10) + (25) = 4 + 010 =6

le coefficientT(1;1)est donné par la formule :

T(1;1) = (11) + (30) + (05) = 1 + 0 = 1

le coefficientT(1;2)est donné par la formule :

T(1;2) = (40) + (1(2)) + (21) = 0 + 22 = 0

...II. Les matrices dans Scilab

II.1. Créer une matrice

II.1.a) Syntaxe de base

Il existe de multiples manières de définir une matrice enScilab. La ma- nière la plus basique consiste à écrire un par un l"ensemble des coefficients. Une matrice se définit alors à l"aide d"une paire de crochets[ ]et ses coeffi- cients sont écrits ligne par ligne. Les éléments d"une même ligne sont séparés par des virgules ",». Chaque ligne est séparée de la suivante par un point- virgule ";».

À titre d"illustration, définissons enScilables matrices précédentes.>U = [1,0,-1; 0,-2,7; 5,1,0]

U =

1. 0. - 1.

0. - 2. 7.

5. 1. 0.

>V = [1,3,0; 4,-1,-2]; W = [3,-4; 2,1; 1,0; 9,8];

II.1.b) Création de matrices par blocs

La méthode précédente consiste à construire une matrice ligne par ligne : on écrit d"abord le premier vecteur ligne ([1,0,-1]ici), puis le suivant ([0,-2,7]) et ainsi de suite jusqu"au dernier ([5,1,0]). On peut d"ailleurs mettre en avant cet aspect en faisant apparaître chaque ligne comme un vec- teur, à l"aide d"une paire de crochets ([ ]).>U = [[1,0,-1]; [0,-2,7]; [5,1,0]] U =

1. 0. - 1.

0. - 2. 7.

5. 1. 0.2

ECE1-B2015-2016On construit ainsi une matrice en juxtaposant d"autres matrices. L"objet obtenu est appelématrice par blocs. On peut construire une matrice colonne par colonne.>U = [[1;0;5], [0;-2;1], [-1;7;0]] U =

1. 0. - 1.

0. - 2. 7.

5. 1. 0.

Les différents blocs constituant la matrice résultat ne sont pas obligatoire-

ment des vecteurs. Voici quelques autres exemples de construction par blocs.>U = [[1],[0,-1]; [[0;5],[-2,7;1,0]]]

U =

1. 0. - 1.

0. - 2. 7.

5. 1. 0.

>U = [[1;0;5], [[0,-1]; [-2;1], [7;0]]] U =

1. 0. - 1.

0. - 2. 7.

5. 1. 0.

>U = [[[1;0], [0,-1;2,7]]; [5,1,0]] U =

1. 0. - 1.

0. - 2. 7.

5. 1. 0.

On conseille aux lecteurs d"écrire au brouillon les constructions par blocs cor- respondantes. Par exemple, l"un des appels ci-dessus correspond à la matrice0 @10-1 0-27 510
1 Aoù l"on a groupé les blocs par couleurs.II.1.c) Création de matrices par opérateurs

Créer un vecteur avec l"opérateur ":»

L"opérateur ":» permet de créer un vecteur ligne composé de valeurs ré- gulièment espacées. On peut l"utiliser avec l"une des deux syntaxes suivantes. a:brenvoie le vecteur ligne construit en énumérant les valeurs comprises entrea(compris) etb(au maximum), avec un pas de1. a:pas:brenvoie le vecteur ligne construit en énumérant les valeurs com- prises entrea(compris) etb(au maximum), avec un pas de valeurpas. Le deuxième argument est optionnel. Si on ne le précise pas, il est remplacé par1, sa valeur par défaut. Illustrons cette méthode de construction de vecteurs.>3:8 ans =

3. 4. 5. 6. 7. 8.

>3:1:8 ans =

3. 4. 5. 6. 7. 8.

Siaest une valeur strictement plus grande queb, l"appela:brenvoie le vecteur vide noté[ ].>8:3 ans = L"élémentbn"est pas forcément atteint.>3:2:8 ans =

3. 5. 7.3

ECE1-B2015-2016>3:6:8

ans = 3.

L"élémentpasest une valeur réelle ou entière. Il peut être positif ou négatif.>3:0.7:8

ans =

3. 3.7. 4.4 5.1 5.8 6.5 7.2 7.9

>8:-1:3 ans =

8. 7. 6. 5. 4. 3.

Créer un vecteur avec l"opérateurlinspace

L"aideScilab(help linspaceouaide en ligne ) stipule que l"opérateur linspacepermet de créer un vecteur ligne de valeurs régulièrement espacées. linspace(a, b)renvoie un vecteur ligne comprenant 100 valeurs réguliè- rement espacées entreaetb. linspace(a, b, n)renvoie un vecteur ligne comprenantnvaleurs régu- lièrement espacées entreaetb. Le troisième argument de la fonctionlinspaceest donc un argument op- tionnel dont la valeur par défaut est100. Illustrons cette méthode de construction de vecteurs.>linspace(3,8) column 1 to 6

3. 3.05051 3.10101 3.15152 3.20202 3.25253

column 7 to 11

3.30303 3.35354 3.40404 3.45455 3.50505

Ce vecteur ayant100éléments, il serait trop long de présenter tous ses coef-

ficients. On note toutefois que le100èmeélément est bien8.On peut faire deux remarques sur cette commande :

1)calculer le pas utilisé est simple. Il suffit de remarquer qu"il est solution

de l"équation3 + 99x= 8. Ainsi, le pas est ici de(83)=99'0:50501.linspace(a, b)crée un vecteur dont les valeurs sont espacées deba99

2)les éléments du vecteur précédent s"écrivent donc sous la forme3+k8399

oùk2J0;99K. Il est donc aisé de savoir si un élément fait partie du vecteur créé. Par exemple,4n"appartient pas à ce vecteur. En effet :

3 +k8399

= 4,k=995 ce qui est impossible carkest une valeur entière. Il est aussi possible de préciser le nombre de valeurs souhaitées.>linspace(3,8,5) ans =

3. 4.25 5.5 6.75 8.

Et aussi d"obtenir une énumération dans le sens décroissant.>linspace(8,3,5) ans =

8. 6.75 5.5 4.25 3.linspace(a, b, n)crée un vecteurs dont les valeurs sont espacées deban1Remarque

Les opérateurslinspaceet ":» représentent deux réponses différentes au problème de créer des vecteurs lignes de valeurs régulièment espacées. L"opérateurlinspacemet l"accent sur le nombre d"éléments du vecteur.

Le pas utilisé s"en déduit.

L"opérateur ":» met quant à lui l"accent sur le pas utilisé.

Les éléments s"en déduisent.4

ECE1-B2015-2016D"autres opérateurs pour créer des matrices Il existe d"autres opérateursScilabpermettant de créer des matrices.

Nous listons ici les principaux.

zeros(n,p)renvoie la matrice de taillenpdont les coefficients sont tous

égaux à0.>Z=zeros(2,3)

Z =

0. 0. 0.

0. 0. 0.

ones(n,p)renvoie la matrice de taillenpdont les coefficients sont tous

égaux à1.>O=ones(2,3)

O =

1. 1. 1.

1. 1. 1.

eye(n,p)renvoie la matrice de taillenpdont : les coefficients diagonaux (ceux qui ont le même indice de ligne et de colonne) valent1, les autres coefficients valent0.>E=eyes(2,3) E =

1. 0. 0.

0. 1. 0.

rand(n,p)renvoie la matrice de taillenpdont les coefficients sont des réels choisis de manière aléatoire (uniforme) dans[0;1].>R=rand(2,3) R =

0.84974 0.87821 0.56084

0.68573 0.06837 0.66235II.1.d) Résumé des opérateurs de création

Voici un tableau permettant de résumer les principaux opérateurs de création de matrices.a:b vecteur ligne de valeurs régulièrement espacées entreaetbavec pas de1 a:pas:b vecteur ligne de valeurs régulièrement espacées entreaetbavec un pas depas linspace(a, b) vecteur ligne de100valeurs régulièrement espacées entreaetb(d"où un pas de(b-a)/99) linspace(a, b, n) vecteur ligne denvaleurs régulièrement espacées entreaetb(d"où un pas de(b-a)/(n-1)) zeros(n,p)matrice de taillenpde coefficients0 ones(n,p)matrice de taillenpde coefficients1 eye(n,p) renvoie la matrice de taillenpcontenant1sur la diagonale et0ailleurs rand(n,p) matrice de taillenpde coefficients choisis de manière aléatoire dans[0;1]II.2. Accéder aux éléments d"une matrice

II.2.a) Accéder à un élément

Numérotation classique des coefficients d"une matrice La numérotation dite classique est celle donnée en cours de mathéma- tiques : la position d"un coefficient d"une matrice est fournie par le couple (i,j)oùidésigne le numéro de ligne etjdésigne le numéro de colonne. Cette numérotation permet l"accès aux éléments de la matrice. Commençons par rappeler le contenu de la variableV.>V

1. 3. 0.

4. - 1. - 2.5

ECE1-B2015-2016>V(1,3), V(2,1)

ans = 0. ans = 4. Lorsqu"on essaie d"accéder à un élément dont la place se situe à l"extérieur d"une matrice, une erreur est levée.>V(2,5) !--error 21

Index invalide.

Pour éviter ces erreurs, il suffit de connaître la taille de la matrice considé- rée. La fonctionsizeprend en paramètre une matrice et renvoie sa taille. Le résultat est obtenu sous la forme d"une matrice12.>size(V), size(W) ans = 2. 3. ans = 4. 2.

Numérotation linéaire des coefficients

Dans la numérotation linéaire, chaque coefficient est identifié non plus par un couple, mais par un seul nombre. Cette numérotation des coefficients s"effectue colonne par colonne en commençant en haut à gauche de la matrice pour finir en bas à droite. On obtient alors la numérotation ci-dessous de la matriceV. V=11 33
05 42
14 26
Ce que l"on peut vérifier simplement à l"aide des appelsScilabsuivants. Pour éviter les appels hors index, on pourra se servir de la fonctionlengthqui fournit le nombre de coefficients d"une matrice.>V(5), V(6) ans = 0. ans = - 2. >V(7) !--error 21

Index invalide.

>length(V) ans = 6. Cette numérotation linéaire d"un objet à deux dimensions illustre la bijection qui existe entre les ensemblesJ1;nKJ1;pKetJ1;npK: h:J1;nKJ1;pK!J1;npK(i ; j)7!i+n(j1) Ainsi, le coefficient(1,3)de la matriceV(de taille23) est repéré par le numéro1 + 2 (3-1) = 5.

II.2.b) Accéder à plusieurs éléments

Il est aussi possible d"extraire plusieurs éléments à la fois d"une même matrice. Plus précisément, on choisit d"abord les numéros des lignes que l"on souhaite sélectionner (stockés dans un vecteuruL) puis les numéros des co- lonnes que l"on souhaite sélectionner (stockés dans un vecteuruC). L"appel V(uL,uC)extrait alors les coefficients à l"intersection des lignes et des co- lonnes mentionnées. Illustrons ce mécanisme avec les matrices précédentes.6 ECE1-B2015-2016On peut par exemple sélectionner les coefficients se trouvant sur la1èreligne et sur les colonnes2et3. Il suffit de réaliser l"appel suivant.>V(1,[2,3]) ans = 3. 0. Il est évidemment possible de sélectionner plusieurs lignes.>V([1,2],[2,3]) ans = 3. 0. - 1. - 2. L"ordre dans lequel la sélection est demandée est pris en compte.>V([2,1],[2,3]) ans = - 1. - 2. 3. 0. Il est possible de sélectionner plusieurs fois la même colonne (ou ligne).>V([2,1],[2,3,2]) ans = - 1. - 2. - 1.

3. 0. 3.

Comme les lignes et colonnes sélectionnées sont stockées dans des vecteurs, il est tout indiqué d"utiliser l"opérateur ":».>W(2:4,1:2) ans = 2. 1. 1. 0.quotesdbs_dbs35.pdfusesText_40