지금까지 방정식의 해를 구하는 원리에 대해서 살펴보았다.
그렇다면 이번에는 매트랩의 내장기능을 이용하여 더욱 간편하게 해를 구하는 방법을 알아보자.
매트랩을 이용하여 복잡한 계산을 해주는 프로그램을 만들 필요가 있는 학부생이 가장 먼저 찾게되는 기능이
solve 기능이라고 생각한다.
solve기능은 쉽고 강력하지만 쉬운만큼 한계가 많은 기능이다. 간단한 근은 solve로 구할 수 있지만, 식이 복잡해지면
solve로 해결하기 힘든 상황이 많이 발생한다.
따라서 solve기능을 너무 맹신하지 말고 solve기능이 먹히지 않는다면 전 글에서 배운 newton method를 이용하여
근을 구하는것이 더 정확할 수 있다.
solve를 이용할 때 함수를 생성하는 방법으로는
기호식이용
인라인 함수 이용
문자열 함수 이용이 있다
나는 개인적으로 기호식을 이용한 방법을 선호한다.
다만 주의해야 할 점은 기호식을 이용할때 우변은 항상 0이 되도록 모든식을 좌변으로 이동시킨 후 이용해야 한다.
그리고 인라인 함수를 이용해도 되지만 경고문이 나타날 수 있는데, 이것은 추후에 매트랩 업그레이드에서 인라인
함수 사용을 지원하지 않는다는 내용이다.
다항식의 해 구하기
위와 같이 syms 뒤에 사용할 변수를 지정해준다.
식은 f = 0 이라고 인식된다.
값이 계산된 최종형태로 보고싶다면 double을 이용한다.
정말 간단하다.
2. 연립방정식
복잡한 연립방정식 또한 위와같이 직관적으로 쉽게 계산 할 수 있다.
단 x 와 y 모두 하나의 해를 가지는 것이 아니기 때문에 각각 짝을 이루는 배열을 만들어서 해를 저장해 주어야 한다.
3. 문자를 포함한 방정식의 풀이
문자를 포함한 방정식도 먼저 변수로 지정만 해 준다면 추후에 내가 원하는 문자에 대하여 정리해주는 기능도 제공한다.
이때 문자에 내가 원하는 값을 대입 하고 싶을경우에 subs 명령어를 이용하여 대입을 하면된다.
subs(함수,{변수},{대입하고자 하는 상수값}) 의 형태로 입력하면 계산이 된다.
이렇게 solve 기능만 잘 사용하면 평소에 과제를 할때나 프로젝트를 할때 정말 쉽게 원하는 근을 구하거나 복잡한 방정
식도 내가 원하는 값으로 정리해서 나타낼 수 있다
fzero , fsolve (0) | 2021.02.02 |
---|---|
1차원 2차원 Newton 방법 (1) | 2021.02.02 |
댓글 영역