logo

Moltiplicazione di matrici in R

La moltiplicazione di matrici è l'operazione di matrice più utile. Al giorno d'oggi è ampiamente utilizzato in aree come la teoria delle reti, la trasformazione delle coordinate e molti altri usi. Una matrice in R può essere creata utilizzando matrice() e questa funzione accetta come argomenti vettore di input, nrow, ncol, byrow, dimnames.

Creazione di una matrice
Una matrice può essere creata utilizzando la funzione matrice().



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

Produzione:

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

Moltiplicazione di matrici


L'operatore di moltiplicazione * viene utilizzato per moltiplicare una matrice per moltiplicazione scalare o per elemento di due matrici.
Moltiplicazione con scalare
Se moltiplichi una matrice per un valore scalare, ogni elemento della matrice verrà moltiplicato per quello scalare.

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

Produzione:



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

Nel codice sopra, lo scalare viene moltiplicato per ogni elemento della matrice originale. Ecco come avviene il processo di moltiplicazione.

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

Moltiplicazione tra matrici

Quando una matrice viene moltiplicata con un'altra matrice, avviene la moltiplicazione per elemento di due matrici. Tutti gli elementi corrispondenti di entrambe le matrici verranno moltiplicati a condizione che entrambe le matrici abbiano la stessa dimensione.

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)>

Produzione:



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

Ecco come avviene il processo di moltiplicazione.

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

Moltiplicazione con il vettore

Se una matrice viene moltiplicata per un vettore, il vettore verrà promosso a matrice di riga o di colonna per rendere conformabili due argomenti.

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)>

Produzione:

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

Ecco come avviene il processo di moltiplicazione:

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

Moltiplicazione utilizzando l'operatore %*%.

L'operatore %*% viene utilizzato per la moltiplicazione di matrici soddisfacendo la condizione che il numero di colonne nella prima matrice sia uguale al numero di righe nella seconda. Se si moltiplicano la matrice A[M, N] e la matrice B[N, Z], la matrice risultante avrà dimensione 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)>

Produzione:

denominazione convenzioni Java
 [,1] [,2] [1,] 162 226 [2,] 200 280>

Ecco come avviene la moltiplicazione

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>