Înmulțirea matricelor este cea mai utilă operație matriceală. Este utilizat pe scară largă în domenii precum teoria rețelelor, transformarea coordonatelor și multe alte utilizări în zilele noastre. O matrice în R poate fi creată folosind matrice() funcția și această funcție ia ca argumente vectorul de intrare, nrow, ncol, byrow, dimnames.
Crearea unei matrice
O matrice poate fi creată folosind funcția matrix().
R
# R program to create a matrix m <- matrix(1:8, nrow=2) print(m)>
Ieșire:
[,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 2 4 6 8>
Înmulțirea Matricilor
Operatorul de multiplicare * este utilizat pentru înmulțirea unei matrici prin înmulțirea scalară sau în funcție de elemente a două matrice.
Înmulțirea cu scalar
Dacă înmulțiți o matrice cu o valoare scalară, atunci fiecare element al matricei va fi înmulțit cu acel scalar.
# R program for matrix multiplication # with a scalar m <- matrix(1:8, nrow=2) m <- 2*m print(m)>
Ieșire:
[,1] [,2] [,3] [,4] [1,] 2 6 10 14 [2,] 4 8 12 16>
În codul de mai sus, scalarul este înmulțit cu fiecare element al matricei originale. Așa are loc procesul de înmulțire.
string.format java string
2*1=2 2*3=6 2*5=10 2*7=14 2*2=4 2*4=8 2*6=12 2*8=16>
Înmulțirea între matrici
Când o matrice este înmulțită cu o altă matrice, are loc înmulțirea elementară a două matrice. Toate elementele corespunzătoare ambelor matrici vor fi înmulțite cu condiția ca ambele matrice să fie de aceeași dimensiune.
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)>
Ieșire:
[,1] [,2] [,3] [,4] [1,] 8 30 60 98 [2,] 18 44 78 120>
Așa are loc procesul de înmulțire.
1*8=8 3*10=30 5*12=60 7*14=98 2*9=18 4*11=44 6*13=78 8*15=120>
Înmulțirea cu Vector
Dacă o matrice este înmulțită cu un vector, atunci vectorul va fi promovat fie la matrice de rând, fie de coloană pentru a face două argumente conformabile.
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)>
Ieșire:
[,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 4 8 12 16>
Iată cum are loc procesul de înmulțire:
1*1=1 1*3=3 1*5=5 1*7=7 2*2=4 2*4=8 2*6=12 2*8=16>
Înmulțirea folosind operatorul %*%.
Operatorul %**% este utilizat pentru înmulțirea matricei care satisface condiția ca numărul de coloane din prima matrice să fie egal cu numărul de rânduri din a doua. Dacă matricea A[M, N] și matricea B[N, Z] sunt înmulțite atunci matricea rezultată va fi de dimensiunea 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)>
Ieșire:
[,1] [,2] [1,] 162 226 [2,] 200 280>
Așa are loc înmulțirea
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>