단 두 개의 미지수를 갖고 있는 두 개의 선형방정식의 해를 구하는 것은 그다지 어렵지 않습니다.
예를 들어,
x + y = 1
2x -y = 2
의 해를 구하면 x = 1, y = 0임을 쉽게 구할 수 있습니다.
그런데 만약에 미지수가 4개가 된다고 생각해봅시다.
x + 2y + 3z + 4t = 5
2x - 3y + 4z - 5t = 6
4x - 2y - 3z + 7t = 3
-3x - 3y + 8z - 3t = -2
물론 손으로 풀 수 있겠지만 꽤 복잡한 과정이 될 것입니다. 이럴 때 바로 mldivide (\) 함수를 활용하면 아주 손쉽게 해를 구할 수 있습니다!
일단 방정식의 왼편에 있는 모든 계수들로 하나의 행렬 A을 만들어줍니다. 그리고 오른편에 있는 수들로 하나의 행렬 b을 만들어줍니다. 그리고 x = A\b 이렇게 간단한 코드만 입력해주면 우리가 원하는 해를 바로 딱 출력해줍니다.
해가 x = 2.1063, y = 0.7851, z = 0.748, t = -0.2302로 나왔는데 이걸 손으로 풀려고 했으면 풀다가 포기했을지도...ㅜ
아까 위에 간단한 예도 이 함수로 풀리는 지 확인해볼까요?
아까 저희가 구한 것처럼 x = 1, y = 0이 출력된 것을 확인할 수 있습니다.
먄약에 미지수가 100개, 방정식이 100개가 있었다고 생각해보시면... 이 함수에게 고마워하실 수 밖에 없겠죠?? ㅎㅎ
'Dev > matlab' 카테고리의 다른 글
[MATLAB] 숫자열에 숫자가 아닌 것(NaN)이 포함되어 있을 때 평균내기, mean 함수 응용 (0) | 2019.10.19 |
---|---|
[MATLAB] 적분하기, integral 함수 (7) | 2019.10.17 |
[MATLAB] 방정식 해 구하기, solve 함수 (6) | 2019.10.17 |
[MATLAB] identity matrix 생성하기, eye 함수 (0) | 2019.10.09 |
[MATLAB] 다양한 정도로 압축된 jpeg 이미지 만들기, imwrite 함수 (0) | 2019.07.03 |
[MATLAB] 표준화된 z-점수 산출하기, zscore 함수 (0) | 2019.06.14 |
[MATLAB] 야구 게임, 0과 9사이 숫자 3개 맞추기 (4) | 2019.04.26 |
[MATLAB] 문자열에서 필요한 데이터만 추출하기, sscanf 함수 (2) | 2019.04.18 |