rand(life)

[엑셀 함수] 연립방정식의 해구하기 MINVERSE, MMULT 본문

컴퓨터/엑셀

[엑셀 함수] 연립방정식의 해구하기 MINVERSE, MMULT

flogsta 2013. 9. 12. 22:22

"이야기로 아주 쉽게 배우는 대수학"이라는 책을 보았습니다.



이야기로 아주 쉽게 배우는 대수학

저자
더글라스 다우닝 지음
출판사
이지북 | 2008-03-19 출간
카테고리
과학
책소개
『이지수학』시리즈 세 번째《이야기로 아주 쉽게 배우는 대수학》....
가격비교


처음에는 일차방정식 같은 매우 쉬운 내용으로 시작하다가, 나중에는 이항정리나 허수 같은 어려운 개념까지 다루는 책이었습니다. 특히 연립방정식을 행렬을 이용해서 푸는 방법이 상당히 인상적이었습니다. 학교다닐때 행렬이란걸 배우긴 했는데 이걸 어디다 써먹는건지는 모른채 그냥 배웠던 기억이 납니다.

미지수가 여러개있는 연립방정식을 행렬을 이용해서 풀려면 먼저 해당 행렬의 역행렬을 구해야하는데, 그 기능을 하는 함수가 바로 MINVERSE함수입니다.

그리고 해답을 찾기 위해서는 두 행렬을 곱해야하는데, 행렬을 곱하는 함수가 MMULT입니다.

즉, Ax=c 라는 연립방정식을 풀기위해서는

양변에 A의 역행렬을 곱하여

Ix=A`c

여기서 Ix=x이므로

X=A`c

가 됩니다. 즉, x를 알기 위해서는 A의 역행렬을 구한뒤, 결과값(c)와 곱하면 됩니다. (모르셔도 됩니다^^;;)


그럼 다음과 같은 연립방정식을 엑셀을 이용해 풀어보겠습니다.

12x+4y+10z=1530

8x+6y+5z=1245

9x+20y+32z=3780

여기서 일단, 등호 왼쪽에 있는 식 중  x y z의 미지수는 빼고 나머지 숫자들만 순서대로 입력합니다.

 

역행렬을 삽입할 곳을 선택하고 (반드시 원래 행렬과 같은 크기여야합니다. 지금은 위의 그림처럼 원래 행렬이 A1부터 C3까지 3열3행이므로, 역행렬이 들어갈 자리도 3열3행을 선택해야합니다.)


다음 수식을 입력합니다.

=MINVERSE(A1:C3)

수식을 다 적은 다음에는 CONTROL + SHIFT + ENTER키를 동시에 누릅니다.


그럼 아래와 같이 역행렬이 만들어졌습니다.


이제 결과값(위의 연립방정식에서 등호 오른쪽에 있는 숫자)을 적당한 위치에 입력합니다.


X Y Z의 값을 알기위해, 위에서 구한 역행렬과 지금 입력한 결과값의 행렬을 곱해야합니다.

1열3행의 범위를 선택합니다(지금 입력한 결과값의 행렬이 1열3행이므로)


다음 수식을 입력합니다.

=MMULT(E1:G3,A6:A8)

앞에서와 마찬가지로, 수식을 다 적은 다음에는 CONTROL + SHIFT + ENTER키를 동시에 누릅니다.

 

이제 답이 나왔습니다. x=60, y=90, z=45입니다.

 

여기서 주의할 점은, MMULT함수를 사용할 때 인수의 순서가 바뀌면 안된다는 것입니다. 위에서처럼 역행렬부분을 먼저, 그 다음에 결과값행렬을 나중에 넣어야 제대로 된 결과가 나옵니다. 만약 그 순서를 서로 바꾸면,

이렇게 오류를 출력합니다.

왜 그런지 그 이유를 설명하려면 행렬의 연산에 대해서 설명해야하니까…….. 넘어가겠습니다^^;;