본문 바로가기

수학/수치해석

5차시 - 보간다항식(2)

2. 다항식에 의한 보간법

1) 다항식에 의한 보간법이란?

  • (n+1)개의 점을 지나는 다항식은 n차 이하의 유일한 다항식으로 표시 가능

 

다항식을 찾아내는 방법

  • 미정 계수법
  • Lagrange 보간법
  • Newton 보간법

 

 

2) 미정계수법

다항식을 찾아내는 가장 보편적인 방법

보간 다항식을 p(x) = a0+a1*x+a2*x^2+⋅⋅⋅+an*x^n라고 하면 주어진 점에서 다음과 같은 관계가 성립

앞에서 얻은 식을 다음과 같이 행렬로 표현 가능

이를 Gauss 소개법등으로 계산하여a0 ,a1,⋅⋅⋅,an을 구하면 됨.

 

 

3) 미정계수법의 단점

  • Gauss 소거법을 사용하면, 계산시간이 많이 걸리고 오차가 많이 발생
  • 보간 다항식을 다르게 표현하여 계산과정을 줄임으로써 오차를 작게 하는 방법 필요
    - Lagrange 보간법
    - Newton 보간법

 

 

4) Lagrange 보간법

  • 점들을 단순하게 직선으로 연결하는 것이 아니라, 여러 개의 점들을 지나는 곡선으로 연결 하는 방법을 사용하는 보간법
  • , 여러 개의 점들이 주어졌을 경우, 이들 점들을 지나는 다항식을 구하고, 이 다항식을 사용하여 주어진 점에 대한 보간 값을 구하는 방법

 

서로 다른 두 점 (x0,y0), (x1,y1)을 지나는 다항식은 수 없이 많으나, 그 중 1차 다항식은 (직선) y=a*x+b, 단 하나만 존재

- 미지수가 a,b 두 개이고

- 방정식도 두 개이기 때문(y0=a*x0+b, y1=a*x1+b)

 

세 점 (x0,y0), (x1,y1), (x2,y2)를 지나는 2차 다항식 y=a*x^2+b*x+c도 단 하나 존재

 

따라서, 일반적으로 n+1개의 점(xi , yi )를 지나는 n차 다항식은 다음과 같이 단 하나만 존재

- y=an*x^n+a(n-1)*x^(n1)+⋅⋅⋅+a1*x+a0

 

구하고자 하는 n차 다항식은 다음과 같이 표현 가능

 

이 다항식 g(x)n+1개 점들을 대입하여 다음의 (n+1)개 연립 방정식을 얻을 수 있음

 

연립 방정식을 풀면, 계수 a0,a1,⋅⋅⋅,an을 구할 수 있고, 결국 다항식 g(x)를 구하여 다른 x값에 대한 보간 값을 구하는데 사용

 

연립 방정식을 풀기 위해서는 다른 프로그램이 필요하고, 정확성도 보장 할 수 없는게 단점

 

Lagrange 보간법은 연립 방정식을 풀지 않고 다항식을 결정

 

 

서로 다른 xi, i = 0, 1, ⋅⋅,n에서 n+1개의 점 (xi , f (xi ))를 지나는 n차 보간 다항식은 다음과 같음.

 

Li (x)는 다음과 같음

 

두 점 (s, 1),(t, 0)을 지나는 일차다항식은 L(x)=(x-t)/(s-t)로 표현할 수 있으므로, L0(x)(x0,1),(x1,0), L1(x)(x0,0),(x1, 1)을 지나는 1차 다항식은 다음과 같음.
y=m(x-x0)+y0 (m : 두 점의 기울기)를 이용

 

위 두 다항식을 이용하여 두 점 (x0,y0)(x1,y1)을 지나는 1차 다항식은 다음과 같음.

 

Lagrange 보간 다항식의 일반화

 

 

5) Lagrange 보간법 문제점

  • 차수가 커지면 참 값을 기대할 수 없을 정도의 오차가 발생 (Runge 현상)
  • 따라서, 낮은 차수를 이용해야 함.

 

 

6) Newton 보간법

  • Newton 보간법은 Lagrange 보간법의
    (1) 하나의 보간을 위해 필요한 계산량이 많고,
    (2) 데이터의 수가 증가할 때, 바로 직전의 결과를 사용하지 못하며,
    (3) 에러 계산이 용이하지 않은 문제점을 해결한다.
  • Newton 보간법에서는 기존 데이터를 기초로 차분표(differential table)를 구성하고, 이 차분표를 사용하여 보간 공식을 구함.
  • 또한, 새로운 데이터가 추가되어도 그 차수를 늘리기 쉬운 장점
  • , Lagrange 보간 다항식과 그 형태만 다를 뿐 같은 다항식이지만, 한 점이 추가되면 Lagrange 보간 다항식은 처음부터 다시 구해야 하지만 Newton 보간법은 이전 보간 다항식은 그대로 유지하고 마지막 계수만 다시 추가하여 구하면 됨.

 

1차 다항식 y=a*x+by=(b+a*x0)+a(x-x0)와 같이 아래와 같이 나타냄.

 

결국 서로 다른 (n+1)개의 점 x0, x1, x2,⋅⋅⋅,xn에 대해서 함수 f(x)와 함수 값이 같은 n차 이하의 다항식 Pn(x)는 다음과 같음.

 

예를들어, (x0,y0), (x1,y1), (x2,y2)를 지나는 다항식은 다음과 같음.

 

계수 a0, a1, a2를 구하기 위해 P2(x0)=y0, P2(x1)=y1, P2(x2)=y2이므로 다항식에 대입하면 다음과 같음.

 

 

분할차분기호 []를 사용하여P (x)를 다시 표현하면 다음과 같으며 이를 Newton의 분할차분보간다항식(Newton's interpolatory divided difference fomula) 이라 함

 

 

7) MATLAB에서 Newton 보간법 사용하기

%newtondiv 
Xdat=1:-0.2:0;		% 자료 : 역순으로 입력
ydat=cos(xdat);		% 함수 : f(x)=cos(x)의 값
n=length(xdat);
for k=1:(n-1) 
	for i=1:(n-k)
		ydat(i)=(ydat(i+1)-(ydat(i))./xdat(i+k)-xdat(i)); 
        end
end 
c=ydat;
xterp=0.3;		% 주어진 x=0.3

xdat=xdat(:); c=c(:);
xterp=xterp(:);
n=length(xterp); m=length(xdat);
yterp=c(1)*ones(n,1);
for i=2:m 
	yterp=c(i)+(xterp-xdat(i).*yterp;
End 
yterp

 

 

8) 보간다항식의 존재와 유일성

우리가 잘 알고 있는 연속함수 중 하나가 다항식이고, 이 다항식은 수치해석의 거의 모든 분야에서 함수들의 근사값을 구하는데 사용됨.

 

이 장에서 취급하는 보간법에서도 근사함수로서 다항식을 사용

 

이 다항식을 보간다항식이라고 함.

 

 x0 , x1 , x2 , ⋅ ⋅ ⋅, xn 을 구간[a,b]안에 있는 (n+1)개의 서로 다른 점이라고 할 때, f(x)[a+b]위에서 정의된 함수이고 각 점에서 함수값을 알 때 주어진 (n+1)개의 점에서 함수값과 같게 되는 차수가 n보다 크지 않은 보간다항식을 구하려고 할 때, 이 여러 조건을 만족하는 보간다항식 p(x)는 하나 존재

'수학 > 수치해석' 카테고리의 다른 글

6차시 - 분할차분표와 보간법(2)  (0) 2020.03.06
6차시 - 분할차분표와 보간법(1)  (0) 2020.03.06
5차시 - 보간다항식(1)  (0) 2020.03.05
4차시 - 오차해석(2)  (0) 2020.03.04
4차시 - 오차해석(1)  (0) 2020.03.04