Matrisemultiplikasjon er den mest nyttige matriseoperasjonen. Det er mye brukt i områder som nettverksteori, transformasjon av koordinater og mange flere bruksområder i dag. En matrise i R kan lages ved hjelp av matrise() funksjon og denne funksjonen tar input vektor, nrow, ncol, byrow, dimnames som argumenter.
java hovedmetode
Opprette en matrise
En matrise kan lages ved å bruke matrix()-funksjonen.
R
# R program to create a matrix m <- matrix(1:8, nrow=2) print(m)>
Produksjon:
[,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 2 4 6 8>
Multiplikasjon av matriser
Multiplikasjonsoperatoren * brukes til å multiplisere en matrise med skalar eller elementvis multiplikasjon av to matriser.
Multiplikasjon med skalar
Hvis du multipliserer en matrise med en skalarverdi, vil hvert element i matrisen multipliseres med den skalaren.
# R program for matrix multiplication # with a scalar m <- matrix(1:8, nrow=2) m <- 2*m print(m)>
Produksjon:
[,1] [,2] [,3] [,4] [1,] 2 6 10 14 [2,] 4 8 12 16>
I koden ovenfor multipliseres skalaren med hvert element i den opprinnelige matrisen. Slik foregår multiplikasjonsprosessen.
2*1=2 2*3=6 2*5=10 2*7=14 2*2=4 2*4=8 2*6=12 2*8=16>
Multiplikasjon mellom matriser
Når en matrise multipliseres med en annen matrise, skjer den elementvise multiplikasjonen av to matriser. Alle de tilsvarende elementene i begge matrisene vil multipliseres under forutsetning av at begge matrisene vil ha samme dimensjon.
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)>
Produksjon:
[,1] [,2] [,3] [,4] [1,] 8 30 60 98 [2,] 18 44 78 120>
Slik foregår multiplikasjonsprosessen.
1*8=8 3*10=30 5*12=60 7*14=98 2*9=18 4*11=44 6*13=78 8*15=120>
Multiplikasjon med vektor
Hvis en matrise multipliseres med en vektor, vil vektoren bli forfremmet til enten rad- eller kolonnematrise for å gjøre to argumenter konformable.
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)>
Produksjon:
[,1] [,2] [,3] [,4] [1,] 1 3 5 7 [2,] 4 8 12 16>
Slik foregår multiplikasjonsprosessen:
pandaer iterrows
1*1=1 1*3=3 1*5=5 1*7=7 2*2=4 2*4=8 2*6=12 2*8=16>
Multiplikasjon med %*% operator
Operatøren %*% brukes for matrisemultiplikasjon som tilfredsstiller betingelsen om at antall kolonner i den første matrisen er lik antall rader i den andre. Hvis matrise A[M, N] og matrise B[N, Z] multipliseres, vil den resulterende matrisen ha dimensjon 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)>
Produksjon:
[,1] [,2] [1,] 162 226 [2,] 200 280>
Slik foregår multiplikasjon
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>