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이라는 결론을 내릴 수 있다.

반응형