수치해석학 - 05. 비선형 방정식의 해 - 1
05. 비선형 방정식의 해 Numerical Solutions of Algebraic and Transcendental Equations
1. 소개 INTRODECTION
함수 \(f(x)=0\) 의 실수해를 찾기 위한 수치 계산 문제를 고려해 보자. 여기서 함수 \(f(x)\) 는 연속이며 여러 번 미분가능 함을 가정한다.
수치해를 위한 모든 방법은 두 단계로 구성된다. 첫 번째 단계에서는 대략적인 해의 위치를 찾고, 두 번째 단계에서 원하는 정확도를 가지는 해를 찾는다.
2. 기본 개념과 정의 Basic Concepts and Definitions
반복법 수열의 필요충분 조건 Sequence of Successive Approximations
수열 \(\{x_n\}\) 이 방정식 \(f(x)=0\) 의 해 \(\alpha\) 으로 수렴 한다고 하자. \(n\)번째 error \(\epsilon_n\) 은
\[\epsilon_n = \alpha - x_n\]
으로 정의 된다. 또한, \(\epsilon_n\)의 근사치로 \(h_n\)을 다름과 같이 정의 한다.
\[h_n = x_{n+1} - x_n = \epsilon_{n+1} - \epsilon_n\]
반복법이 수렴하기 위한 필요충분 조건 은 \(n \rightarrow \infty\) 이면 \(\epsilon_n \rightarrow 0\) 이다.
수렴차수 Order of Convergence
만약 반복법이 수렴하고 다음
\[ \lim_{n \rightarrow \infty} \left| \frac{\epsilon_{n+1}}{\epsilon_n^p} \right| = C \]
만족하는 상수 \(p \le 1\), \(C >0\)가 존재하면 \(p\)를 반복법의 수렴차수(order of convergence) 라고 하고, C를 근사 오차 계수(asymptotic error constant) 라고 한다.
반복 수열 \(\{x_n| n \ge 0\}\) 이
\[\left| \epsilon_{n+1} \right| \le k \left| \epsilon_n \right|^p,~ n \ge 0\]
을 만족하면 수렴차수 \(p \ge 1\)를 가지며 해 \(\alpha\)로 수렴한다고 한다. 만약 \(p = 1\) 이면 반복 수열 \(\{x_n| n \ge 0\}\) 은 선형수렴(linearly convergent) 한다고 한다. 만약 \(p = 2\) 이면 반복 수열 \(\{x_n| n \ge 0\}\) 은 이차적수렴(quadratic convergent) 한다고 한다.
3. 초기 근사값 Initial Approximation
3.1 그래프 방법 Graphical Method
\(y = f(x)\) 의 그래프를 그리면 \(x\)축과 만나는 점이 \(f(x) = 0\)의 해가 된다. 이 점의 근방의 어떤점을 해를 찾기위한 반복법의 초기점으로 사용할 수 있다.
방정식 \(f(x) = 0\)은 \(g(x) = h(x)\)로 쓰여질 수도 있다. 여기서 \(y=g(x)\) 및 \(y=h(x)\)의 그래프를 쉽게 그릴 수 있다. 두 그래프의 교점의 x좌표는 \(f(x)=0\) 의 해라고 할 수 있다. 따라서 이점 근방의 임의의 값을 초기 근사값으로 사용할 수 있다. 예를 들어 아래 함수 \(y=\cos x - x e^x\) 의 그래프와 \(y=x\) 그리고 \(y=\dfrac{\cos x}{e^x}\) 를 살펴보자. 두 함수의 그래프 교점이 \(f(x)=0\) 의 해와 일치 함을 할 수 있다.
정리 폐구간 \([a, b]\) 에서 함수 \(f(x)\)가 연속이고 \(c\)가 \(f(a) \leq c \leq f(b)\) 을 만족하는 임의의 상수 이면, \(f(\alpha)=c\)를 만족하는 \(\alpha \in [a, b]\) 가 적어도 하나 존재한다.
3.1 증분 추적 방법 Incremental Search method
증분 추적 방법은 해가 존재해야하는 x의 두 값의 구간을 찾는데 사용되는 수치 방법이다. 초기 값 \(x_0\)와 충분히 간격 \(\Delta x\)로 시작한다. 여기서 해의 위치를 \(x\)축 왼쪽에서 오른쪽으로 검색할 것이다.
다음식을 사용하면 \(x_1\)의 값을 쉽게 계산할 수 있다.
\[x_1 = x_0 + \Delta x\]
이 식을 반복식으로 나타내면,
\[x_n = x_{n-1} + \Delta x\]
을 얻을 수 있다.
만약 \(f(x_{n-1}) f (x_n)<0\) 이면 구간 \([x_{n-1}, x_n]\) 사이에 해가 있음을 보장 할 수 있다.
**예제 3.1 ** 방정식 \(f(x) = \cos x-x e^x = 0\)의 해에 대한 초기 근사값를 얻기 위해 \(x\)의 알려진 값에 대해 \(f(x)\) 값의 표를 살펴보자.
\(x\) | \(0\) | \(0.5\) | \(1\) | \(1.5\) | \(2\) |
---|---|---|---|---|---|
\(f(x)\) | \(1\) | \(0.0532\) | \(-2.1780\) | \(-6.6518\) | \(-15.1942\) |
이 표에서 방정식 \(f(x) = 0\)은 구간 \((0.5,1)\)에 적어도 하나의 해를 가지고 있음을 알 수 있다.
예제 3.2 이번에는 두자리수 정확도를 갖는 \(f(x) = 10^x - x - 4 = 0\) 방정식의 실제 해를 찾아 보자.
풀이 구간 \([0,1]\) 에서 \(f(x)\) 값을 \(0.1\) 간격의 표로 만들어 보자.
\(x\) | \(f(x)\) |
---|---|
\(0\) | \(-3\) |
\(0.1\) | \(-2.841\) |
\(0.2\) | \(-2.615\) |
\(0.3\) | \(-2.305\) |
\(0.4\) | \(-1.888\) |
\(0.5\) | \(-1.338\) |
\(0.6\) | \(-0.6189\) |
\(0.7\) | \(0.3119\) |
\(0.8\) | \(1.510\) |
\(0.9\) | \(3.043\) |
\(1\) | \(5\) |
주어진 방정식의 해는 \((0.6,0.7)\) 에 있다. \(0.6\) 에서 \(0.7\) 사이의 부호 변화가 있기 때문에 0.6에서 0.7 사이의 실수해가 적어도 하나 존재한다. 구간의 길이를 \(0.01\) 로하여 \(0.6\) 에서 \(0.7\) 사이에서 다시 표를 작성해 보자.
\(x\) | \(f(x)\) |
---|---|
\(0.6\) | \(-0.6189\) |
\(0.61\) | \(-0.5862\) |
\(0.62\) | \(-0.4513\) |
\(0.63\) | \(-0.3642\) |
\(0.64\) | \(-0.2748\) |
\(0.65\) | \(-0.1832\) |
\(0.66\) | \(-0.0891\) |
\(0.67\) | \(0.0073\) |
\(0.68\) | \(0.1063\) |
\(0.69\) | \(0.2078\) |
\(0.7\) | \(0.3119\) |
위 표로부터 해가 0.66과 0.67 사이에 있음을 알 수 있다. 그러므로, 실제해의 값을 두 개의 유효숫자에 대해 0.67이라는 결론을 내릴 수 있다.
'수치해석' 카테고리의 다른 글
수치해석학 - 04. 오차해석 - 진법, 수의 표시법, 오차 (2) | 2017.01.09 |
---|---|
수치해석학 - 2.2 MATLAB과 배열 (0) | 2016.12.27 |
수치해석학 - 2.1 MATLAB 개요 (0) | 2016.12.16 |
수치해석학 - 1.1 수치해석의 정의 (0) | 2016.12.16 |
댓글
이 글 공유하기
다른 글
-
수치해석학 - 04. 오차해석 - 진법, 수의 표시법, 오차
수치해석학 - 04. 오차해석 - 진법, 수의 표시법, 오차
2017.01.09 -
수치해석학 - 2.2 MATLAB과 배열
수치해석학 - 2.2 MATLAB과 배열
2016.12.27 -
수치해석학 - 2.1 MATLAB 개요
수치해석학 - 2.1 MATLAB 개요
2016.12.16 -
수치해석학 - 1.1 수치해석의 정의
수치해석학 - 1.1 수치해석의 정의
2016.12.16