본문 바로가기

수학/수치해석

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

1. 할선법

1) 할선법이란?

미분을 사용하지않고 두 점의기울기를 통해점을 찾는 방법

 

이등분 법이나 가위치법에서는 함수 값이서로 반대의부호를 갖는 두 점을 찾아서 시작했으나 할선법에서는 근의 근방에 있는 임의의 두점 x0x1을 시작점으로 취함

 

두 점 (x0,f(x0))(x1,f(x1))을 지나는 직선이 x축과 만나는 점 xc를 계산하는 방식이 할선법.

xc가 구해지면 x1x0로 하고, xcx1로 하여 다시 식을 이용하여 계속 수정된 값을 구하는 방식이다.

 

 

  • 주어진 [a, b]에서 a, bx0, x1으로 하여 반복식을 연속적으로 이용하여 근사 해를 계산하는 방법을 할선법 이라고 함.

 

 

2) 할선법 알고리즘

1. Set iteration=2
q0=f(p0), q1 = f(p)	//p0=a,p1=b

2. while(i ≤ N0)	//N0는 최대반복횟수
{
(a) Set p=p1 − q1 * (p1 − p0)/(q1 − q0)
(b) If |f(p)|<TOL Output(p)	//TOL은 오차의 한계
	Stop
(c) Set iteration=iteration+1
(d) Set p0=p1, q0=q1, p1=p, q1=f(p)
}

3. Output('method failed after %d iteration ' iteration)

 

 

3) 할선법 연습문제 (1)

f(x) = x^3-x-1.344=0의 근을 x0=2, x1=1.8을 사용하여 할선법으로 4회 반복 계산하여 구하라.

 

풀이

이 값을 다시 x0=1.8, x1=1.526829 라고 두어 다시 xc를 구한다.

x값이 점점 1.4로 향해 가고 있는 것을 확인할 수 있다.

 

 

3) 할선법 연습문제 (2)

f(x) = x^3-x-1.344=0의 근을 x0=2, x1=1.8을 사용하여 할선법으로 매트랩을 이용하여 구하라.

 

 

 

2. 뉴턴방법

1) 뉴턴방법

뉴턴방법은 f(x) = 0의 근에서 초기 근사값 x0을 알고 있을 때 점(x0 , f (x0 ))에서 접선을 그어 그 접선이 x축과 만나는 점을 새로운 근사해로 구하는 방법으로 비선형 연립방정식에도 확장이 가능

 

위의 그림에서와 같이 초기값 x0에 대응하는 점 (x0 , f (x0))에서 함수 f(x)의 접선방정식은 y= f'(x0)(x-x0)+f(x0)이고 이 직선이 x축과 만나는 점 x1은 다음식을 만족

다시 점 (x1, f(x1)에서 함수 f(x)의 접선방정식이 x축과 만나는 점을 x2로 하는 이러한 과정을 반복하여 근사 해를 구함.

 

 

 

비선형방정식 f(x) = 0의 해(y=f(x)그래프에서 y = 0를 만족하는 x)을 구하기위해

(1) 초기값(x0)에서 접선을 그어 접선이 x축과 만나는 점의 좌표를 x1라 하고,

(2) 이 점에서 y축과 평행으로 선분을 그어 곡선 y= f(x)와 만나는 교점을 (x1,y1)

(3) 다시 접선을 그어 x축과 만나는 점의 좌표 x2를 구함

 

(xn이 수렴할 때까지 (2), (3) 과정 반복)

 

 

2) 뉴턴방법에서의 해의 수렴성

정리 1

f(x)가 유한폐구간 [a,b]에서 두 번 연속 미분 가능하고, 다음 조건을 만족한다고 가정

 

 

3) 뉴턴방법 알고리즘

 

 

4) 뉴턴방법 예제

x^24=0의 근사값을 x0 = 5 에서 뉴턴 방법으로 구하여라.

 

풀이

 

 

5) 뉴턴방법 예제(MATLAB)으로 구하기

x^3-x^2-x-1을 매트랩을 이용하여 근을 구하라.

  • 근의 값이 1.4로 향하고 있고,
  • 할선법에서는 6번만에 수렴하였으나, 뉴턴법으로 하였을 경우에는 4번만에 수렴하였다.
  • 따라서 뉴턴법이 할선법보다 수렴속도가 더욱 빠르다는 것을 알 수 있다.