반응형

정리에 앞서, 저는 현재 지거국 3학년으로 재학 중인 공대생입니다. 여기에 나와있는 내용들은 제가 직접 공부하고 요약해서 쓰기 때문에 정확하지 않은 정보가 있거나, 원하는 정보를 얻지 못하실 수 있습니다. 최대한 객관적이고 다양하게 준비해서 올리도록 노력하겠습니다. 자료의 출처나 내용에 대한 질문은 댓글이나 hcbeom9635@gmail.com으로 보내주시면 감사하겠습니다.

교재는 Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists (4 th edition), McGraw-Hill, 2019의 재본판을 사용했습니다.



근(Roots)을 찾는 방법(Method)들

수치해석은 기본적으로 '해를 찾아가는 방법'들을 배우는 과목입니다. f(x) = 0 을 만족하는 x의 값을 해 또는 근 이라고 부릅니다. 우리가 수학을 배울 때는 일반적인 함수들 (ex 1차,2차,3차 함수)을 주로 다뤄서 상대적으로 해를 구하기가 쉬웠습니다. 하지만 더 복잡한 함수의 근을 구해야 할 때는 기존의 방법이 비효율적일 수 있습니다. 즉, f(x) = 0의 방정식으로 푸는 것이 아닌, 여러 과정을 통해서 근삿값을 구한 후, 점점 근에 점근하는 식으로 찾는 것입니다. 그것이 바로 수치해석의 목적입니다.

 

5장에서는 Bracketing Methods를, 6장에서는 Open Methods를 배웁니다. 앞선 글에서 말씀드렸지만, Bracketing Method와 Open Method는 각각 장단점이 있습니다. 그 내용은 아래 링크를 보시면 될 겁니다.

 

6장에서는 총 4가지 방법의 수치해법 과정을 배웁니다. 

 

1. Simple Fixed-Point Method

2. Newton-Rapshon Method

3. Secant Method (Modified Secant Method)

 

4. Brent's Method -> Bracketing Method + Open Method

 

이번 장에서는 Simple Fixed-Point Method만 알아보겠습니다.

 

 

Simple Fixed-Point Method란?

x=g(x)의 함수 형태를 사용하여 근을 찾아내는 수치해법이다. 

하나의 예시를 들어서 설명해보겠다.

f(x)의 형태가 주어질 때 x=g(x)의 형태로 변환한다. 그러면 f(x)=g(x)라는 방정식이 나오게 되고, 두 그래프의 교점의 x좌표가 근이 되는 것이다.

 

또한 Bracketing Method와는 다르게 구간이 필요없어서 적당한 초기값을 설정해서 근을 구하면 된다.

 

예시는 초기값을 0으로 두고 풀었을 경우이다.

 

또한 근사 오차와 참 상대 오차도 구했다. 

 

 

여기서 좀 더 자세히 보면, 참 오차가 계속 비슷한 비율로 줄어드는 것을 볼 수 있습니다.

그 이유는 평균값 정리와 관계가 있습니다.

 

마지막으로 Open Method는 발산하는 단점이 있다고 했는데, Simple Fixed-Point Method에서 발산하는 경우를 알아보겠습니다. 첫 초기값인 X0에 대해서 도함수의 절댓값이 1보다 크면 발산하는 경향이 있습니다. 아래의 예시를 보면 더 와닫을 것입니다.

반응형

'전공공부 > 수치해석' 카테고리의 다른 글

수치해석 5장 Roots: Bracketing Methods  (0) 2021.11.01
반응형

정리에 앞서, 저는 현재 지거국 3학년으로 재학 중인 공대생입니다. 여기에 나와있는 내용들은 제가 직접 공부하고 요약해서 쓰기 때문에 정확하지 않은 정보가 있거나, 원하는 정보를 얻지 못하실 수 있습니다. 최대한 객관적이고 다양하게 준비해서 올리도록 노력하겠습니다. 자료의 출처나 내용에 대한 질문은 댓글이나 hcbeom9635@gmail.com으로 보내주시면 감사하겠습니다.

교재는 Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists (4 th edition), McGraw-Hill, 2019의 재본판을 사용했습니다.



근(Roots)을 찾는 방법(Method)들

수치해석은 기본적으로 '해를 찾아가는 방법'들을 배우는 과목입니다. f(x) = 0 을 만족하는 x의 값을 해 또는 근 이라고 부릅니다. 우리가 수학을 배울 때는 일반적인 함수들 (ex 1차,2차,3차 함수)을 주로 다뤄서 상대적으로 해를 구하기가 쉬웠습니다. 하지만 더 복잡한 함수의 근을 구해야 할 때는 기존의 방법이 비효율적일 수 있습니다. 즉, f(x) = 0의 방정식으로 푸는 것이 아닌, 여러 과정을 통해서 근삿값을 구한 후, 점점 근에 점근하는 식으로 찾는 것입니다. 그것이 바로 수치해석의 목적입니다.

 

5장에서는 Bracketing Methods, 6장에서는 Open Method를 배우고, Bracketing Methods + Open Methods = Brent's Methods도 뒤에 나옵니다. 

 

우선 5장의 Bracketing Methods를 알아보겠습니다.

 

Bracketing Methods

Bracketing Methods는 구간을 정하고 근을 추정하는 방법입니다. 그렇기에 구간을 위한 2개의 초기값을 요구합니다.

장점은 정확하게 근을 추정할 수 있다는 것이고,

단점은 속도가 느리다는 것입니다.

 

뒤에서 배우겠지만 Open Methods는 반대로 속도가 빠르지만, 정확하지 않아서 발산할 가능성이 있습니다.

 

Bracketing Methods에는 Bisection Method와 False position Method가 있습니다.

 

 

  • 근을 추정하는 구간을 정했을 때 나타는 여러 경우들

  • (a), (b) 경우

  • (c), (d) 경우

  • 일반적으로 두 경계치 간의 함수값의 곱이 양수이면 근이 존재하지 않고, 함수값의 곱이 음수이면 근이 존재한다. 그러나 (e), (f)의 경우처럼 두 경계치의 값이 양수임에도 근이 존재할 수 있고, 음수여도 근이 존재하지 않거나 중근이 존재할 수 있다. 즉, 여러 경우에 대해 정확한 알고리즘 개발은 매우 힘든일이다. 그래서 수치해법을 사용해야 하는 것이다.

 

  • Bracketing Method에서는 주로 두 경계치를 알맞게 정했다는 가정하에 시작하므로, 두 경계치의 곱을 통해서 근을 찾아낼 수 있다. 그 방법을 Incremental search라고 한다.

 

(1). Bisection Methods

 

  • absolute error는 bisection method에서 나타나는 에러이다. 이것을 통해 원하는 횟수 n을 구할 수 있으며, 반대로 원하는 횟수 n번에 대한 에러를 찾아낼 수도 있다.

 

(2). False Position

근을 쉽게 찾기 위해 경계의 함수크기를 고려한다. 주로 Bisection보다 효과적이고, 오차가 빨리 감소하는 장점이 있다.

 

항상 bisection보다 좋은 것은 아닌데, 이렇게 심한곡률을 가진 함수는 너무 느리게 수렴하는 단점이 존재한다.

반응형

+ Recent posts