본문 바로가기

수학/수치해석

7차시 - 방정식의 해법 1 (1)

1. 시작점

1) 시작점이란?

  • 반복법으로 방정식의 근을 구하기 위해서 우선 대강 추측한 근사값 x0에서부터 시작해서 차례로 x1 ,x2 ,x3 ....를 구해 나가는 기법으로 x0을 시작점이라고 함.
  • 시작점 x0을 어떻게 잡느냐에 따라 x1, x2, x3.....가 근에 수렴하는 속도가 빠를 수도 있고 느릴 수도 있으며, 발산하는 경우도 있음.
  • x0가 근에서 멀리 떨어져 있는 값이면 x100을 근으로 취하더라도 큰 오차의 가능성
  • , 가능한 한 주어진 함수의 성질을 이용하여 근에 가까운 시작점 x0을 잡는 것이 바람직함.

 

※ 시작점을 왜 구하여야 하는가?

  • 반복법이란 어떤 정해진 과정을 차례로 되풀이하여 구하는 방법
  • 우선 시작점 x0로 부터 시작하여 점 x1, x2, x3...를 정해진 방법으로 구하여 최대한의 오차를 줄여 나가면서 방정식의 근을 구한다.

 

  • 2차 방정식

함수가 있다고 해보자. 위의 2차 방정식은 각 항의 계수들의 소수점으로 되어 있어 근을 쉽게 구할 수 없게 보이지만 근의 공식을 이용하면 쉽게 구할 수 있다.

그러나, 다음과 같은 방정식을 보자.

다음과 같은 방정식은 근을 구하는 공식이 없다. 일반적으로 4차 방정식까지는 근을 구하는 공식이 있으나 공식이 간단하지 않으며 5차 이상의 방정식은 근을 구하는 공식이 없다.

 

이와 같이 근을 구하기 어려운 방정식의 근은 반복법으로 구한다.

 

시작점을 구하는 이유는 반복법을 사용하면서 오차를 최대한 줄이기 위한 것이며 근의 위치를 어림잡아 구하여 근처의 값을 시작점으로 선택하고 반복법을 사용하여 근을 구해 나간다.

 

 

 

2) 시작점 구하기

x^2 1/2*x2=0 을 풀기 위한 시작점을 구하여라.

 

풀이

강의노트

x^2 −1/2*x2=0 의 근의 다음 두 방정식 y=x^2, y=1/2*x+2공통해와 같다.

  • 두 곡선의 교점은 하나는 -2-1 사이에 있고, 다른 하나는 12사이에 존재함.
  • 그러므로 시작점으로는 -12.
  • 실제로 근의 공식을 대입하여 근을 구해보면 x = (-1±√31i)/4의 근이 나오는 것을 알 수 있다.
  • 위의 근으로 부터 √315.xx 값 이므로 x=-1.xx, 1.xx 값이 나오는 것을 추측할 수 있다.

 

3) 시작점 구하기 예

x^2 1/2*x2=0 을 매틀랩을 이용하여 시작점을 구하여라.

 

풀이

x^2 −1/2*x2=0 의 근의 다음 두 방정식 y=x^2, y=1/2*x+2공통해와같다.

  • 곡선의 교점은 하나는 -2-1 사이에 있고, 다른 하나는 12사이에 존재함. 그러므로 시작점으로는 -12.

 

 

2. 이등분법

1) 이등분법이란?

 

구간 (a, b)에서 연속인 함수 f(x)가 주어지고 f(a)f(b)가 반대부호를 갖는다고 가정하자.

중간 값 정리에 의하여 f(p) = 0을 만족하는 점 pab사이에 존재함.

비록 구간 (a, b) 안에 2개 이상의 근이 있을 경우도 있으나, 편의상 이 구간에 근이 한 개만 있다고 가정.

 

 

이등분법은 구간 (a, b)p점을 포함하도록 계속 반복해서 이등분 하는 것임.

a1=a, b1=b라고 하고 p1(a, b)의 중점.

p1 =(a1+b1)/2 이라 하고, 만일 f(p1)=0 이면 p=p1 이고 f(p1)0f(p1)f(p1)이나 f(a1) 중 하나와 같은 부호를 갖음.

 

f(p1)f(a1) 과 같은 부호를 갖는다면 pp1b1 사이에 있게 되므로 a2=p1 b2=b1 이라 가정.

 

만일 f(p1)f(b1)과 같은 부호를 갖는다면 pa1p1 사이에 있게 되므로 a2=a1, b2=p1이라고 놓고, 구간 (a2, b2)에 앞의 과정을 다시 반복 적용

 

 

2) 이등분법 알고리즘

1. Set iteration = 1
2. While( i < N0){				// N0은 최대 반복횟수
	(a) Set p = a + (b – a) / 2		// a, b는 구간의 양 끝점
	(b) If |f(p)| < TOL Output(p)		// TOL은 오차의 한계
    		stop
    	(c) St iteration = iteration + 1
    	(d) If f(a)f(p) > 0 then a = p else set b = p
    }
3. Output (‘Method failed after %d iteration’s, iteration)
	Stop

 

 

3) 멈춤과정

  • 앞의 2.(b) 단계에서 이용할 수 있는 멈춤과정

    허용오차(tolerance)로써 TOL을 택하고 다음 조건들 중 하나가 만족될 때까지
    p1, p2,....pn을 구함.

  • 위의 멈춤과정 4개중 어느 하나를 사용함. 앞 내용의 알고리즘에서는 4번째 과정을 사용하였음.

 

 

4) 이분법으로 구하기 예제

f(x)=x^2-4 의 근사해를 [0,5]에서 이분법으로 구하여 보자

 

풀이

 

  • f(x) = x^2 - 4 를 구하여라

ab는 시작점. eps는 오차범위

x의 값이 1.999 의 값이 2를 향해 가고 있음.