logo

Multiplication matricielle dans R

La multiplication matricielle est l’opération matricielle la plus utile. Il est largement utilisé dans des domaines tels que la théorie des réseaux, la transformation des coordonnées et bien d’autres utilisations de nos jours. Une matrice dans R peut être créée en utilisant matrice() fonction et cette fonction prend le vecteur d'entrée, nrow, ncol, byrow, dimnames comme arguments.

tableaux Java

Création d'une matrice
Une matrice peut être créée à l’aide de la fonction Matrix().



R.
# R program to create a matrix m <- matrix(1:8, nrow=2) print(m)>

Sortir:

 [,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 2 4 6 8>

Multiplication des matrices


L'opérateur de multiplication * est utilisé pour multiplier une matrice par multiplication scalaire ou élément par élément de deux matrices.
Multiplication avec scalaire
Si vous multipliez une matrice par une valeur scalaire, alors chaque élément de la matrice sera multiplié par ce scalaire.

R.
# R program for matrix multiplication # with a scalar m <- matrix(1:8, nrow=2) m <- 2*m print(m)>

Sortir:



 [,1] [,2] [,3] [,4] [1,] 2 6 10 14 [2,] 4 8 12 16>

Dans le code ci-dessus, le scalaire est multiplié par chaque élément de la matrice d'origine. C'est ainsi que se déroule le processus de multiplication.

2*1=2 2*3=6 2*5=10 2*7=14 2*2=4 2*4=8 2*6=12 2*8=16>

Multiplication entre matrices

Lorsqu'une matrice est multipliée par une autre matrice, la multiplication élément par élément de deux matrices a lieu. Tous les éléments correspondants des deux matrices seront multipliés à condition que les deux matrices soient de même dimension.

R.
# R program for matrix multiplication # Creating matrices m <- matrix(1:8, nrow=2) n <- matrix(8:15, nrow=2) # Multiplying matrices print(m*n)>

Sortir:



 [,1] [,2] [,3] [,4] [1,] 8 30 60 98 [2,] 18 44 78 120>

C'est ainsi que se déroule le processus de multiplication.

1*8=8 3*10=30 5*12=60 7*14=98 2*9=18 4*11=44 6*13=78 8*15=120>

Multiplication avec vecteur

Si une matrice est multipliée par un vecteur, le vecteur sera promu en matrice de lignes ou de colonnes pour rendre deux arguments conformes.

R.
# R program for matrix multiplication # Creating matrix m <- matrix(1:8, nrow=2) # Creating a vector vec <- 1:2 # Multiplying matrix with vector print(vec*m)>

Sortir:

 [,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 4 8 12 16>

Voici comment se déroule le processus de multiplication :

  1*1=1 1*3=3 1*5=5 1*7=7 2*2=4 2*4=8 2*6=12 2*8=16>

Multiplication à l'aide de l'opérateur %*%

L'opérateur %*% est utilisé pour la multiplication matricielle satisfaisant la condition selon laquelle le nombre de colonnes dans la première matrice est égal au nombre de lignes dans la seconde. Si la matrice A[M, N] et la matrice B[N, Z] sont multipliées alors la matrice résultante sera de dimension M*Z.

R.
# R program for matrix multiplication # Creating matrices m <- matrix(1:8, nrow=2) n <- matrix(8:15, nrow=4) # Multiplying matrices using operator print(m %*% n)>

Sortir:

 [,1] [,2] [1,] 162 226 [2,] 200 280>

C'est ainsi que se produit la multiplication

1*8+3*9+5*10+7*11 = 162 1*12+3*13+5*14+7*15=226 2*8+4*9+6*10+8*11 = 200 2*12+4*13+6*14+8*15=280>