본문 바로가기
R 주제/R 기초 및 통계 강의

[R 강의] 84. 행렬의 곱셈

by 만다린망고 2020. 4. 4.
반응형
도구 R로 푸는 통계

84. 행렬의 곱셈



2행2열짜리 행렬을 두개 정의합시다.


m1=matrix(c(1,2,3,4),nrow=2)

m2=matrix(c(1,2,3,4),nrow=2)


> m1

     [,1] [,2]

[1,]    1    3

[2,]    2    4

> m2

     [,1] [,2]

[1,]    1    3

[2,]    2    4


먼저 곱셈 기호를 사용해서 곱해봅시다.


> m1*m2

     [,1] [,2]

[1,]    1    9

[2,]    4   16


행렬곱의 결과가 아닙니다. 같은 위치에 있는 값끼리 곱해준 결과입니다. 행렬곱은 아래와 같은 연산자를 사용합니다.


%*%


이 연산자를 이용하여 곱셈을 해봅시다. 


> m1%*%m2

     [,1] [,2]

[1,]    7   15

[2,]   10   22


이번에는 크기가 다른 두 행렬을 정의합시다.


m1=matrix(c(1,2),nrow=1)

m2=matrix(c(1,2,3,4),nrow=2)


> m1

     [,1] [,2]

[1,]    1    2

> m2

     [,1] [,2]

[1,]    1    3

[2,]    2    4


곱해봅시다. 


> m1%*%m2

     [,1] [,2]

[1,]    5   11


자리를 바꾸면 어떻게 될까요??


> m2%*%m1

Error in m2 %*% m1 : non-conformable arguments


차원이 맞지 않아서 행렬곱이 정의되지 않습니다. 

 

 

영상이 더 편하신 분

반응형

댓글