반응형
R에서 행렬의 곱을 수행하는 함수는 %*% 입니다.
행렬을 하나 정의합시다.
> m1=matrix(1:4,2)
> m1
[,1] [,2]
[1,] 1 3
[2,] 2 4
m1과 m1을 곱하는 행렬의 곱을 해봅시다.
> m1%*%m1
[,1] [,2]
[1,] 7 15
[2,] 10 22
행렬과 행렬을 곱할 때는, 앞 행렬의 열의 수와 뒤 행렬의 행의 수가 같아야 합니다.
두 행렬을 정의합시다. m2 는 2행3열, m3는 3행3열의 행렬입니다.
> m2=matrix(1:6,2)
> m2
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> m3=matrix(1:9,3)
> m3
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
m2의 열의 수와 m3의 행의 수가 같으므로 행렬의 곱이 아래와 같이 가능합니다.
> m2%*%m3
[,1] [,2] [,3]
[1,] 22 49 76
[2,] 28 64 100
순서가 바뀌면 곱이 불가능합니다.
> m3%*%m2
Error in m3 %*% m2 : 적합한 인자들이 아닙니다
반응형
'5. 자료구조 > 2) 행렬 | matrix()' 카테고리의 다른 글
[R코딩] 행렬을 열 방향으로 연결 (cbind) (0) | 2020.12.21 |
---|---|
[R코딩] 행렬을 행 방향으로 연결 (rbind) (0) | 2020.12.21 |
[R기초] 대각행렬을 생성하는 diag 함수 (0) | 2020.12.20 |
[R 코딩] 전치행렬 구하는 함수 (t) (0) | 2020.12.18 |
[R 코딩] 역행렬 구하는 함수 (solve) (0) | 2020.12.18 |
댓글