Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js

공학/선형대수학

[선형대수학] Curve fitting

슬기나무 2021. 7. 31. 17:56
반응형

이번 포스팅에서는 선형대수방정식을 통해

 

curve fitting 하는 방법에 대해 알아보겠습니다.

 

 임의의 점을 지나는 함수를 구할 때 - curve fitting

많은 경우에 우리는 특정 점을 지나는 함수를 구하고 싶은 경우가 있습니다.

 

그리고 이런 경우 대부분 함수를 다항함수(Polynomial)로 가정하여 구합니다.

 

예를 들어

 

(x1,y1),(x2,y2),...,(xn,yn)

 

위와 같은 n개의 점을 지나는 다항함수를 구할 때

 

미지수가 n개이므로 n-1차 다항함수로 fitting할 수 있습니다.

 

아래와 같이 다항함수의 경우 y절편까지가 미지수이기 때문이죠.

 

y=a0+a1x+a2x2+...+an2xn2+an1xn1

 

미지수가 3개인 2차함수의 경우 ffiting하면 아래와 같은 모습일겁니다.

2차함수 curve fitting

 Curve fitting 하는 방법 및 예제

선형대수방정식을 통해 curve fitting을 손쉽게 할 수 있습니다.

 

이 때 gauss elimination이 필요한데, 이 부분은 아래 포스트에 설명되어있으니

 

필요하시면 참고하시면 좋을 것 같습니다.

 

[수치해석] Gaussian elimination(가우스 소거법)

이번 포스팅에서는 선형대수방정식의 해를 구하는 방법 중 하나인 Gaussian elimination(가우스 소거법)에 대해 알아보겠습니다.  Gaussian elimination(가우스 소거법)이란? 가우스 소거법은 전진소거법을

study2give.tistory.com

 

예제를 통해 바로 알아보죠.

 

아래 세 점을 지나는 2차 함수를 fitting해봅시다.

 

(1,6),(2,3),(3,2)

 

그럼 2차함수는 아래와 같이 가정할 수 있습니다.

 

y=a0+a1x+a2x2

 

가정한 2차함수에 위 3점을 넣어 대수방정식을 구성해봅시다.

 

a0+a1+a2=6

a0+2a1+4a2=3

a0+3a1+9a2=2

 

이는 아래와 같이 나타낼 수 있죠.

 

[111:6124:3139:2]

 

이제 gauss elimination을 해봅시다.

 

첫번째 행에 -1을 곱하여 두번째, 세번째 행에 더해주면 아래와 같습니다.

 

[111:6013:3028:4]

 

이번엔 두번째 행에 -1을 곱하여 첫번째, 세번째 행에 더해줍시다.

 

[102:9013:3002:2]

 

세번째 행을 2로 나누면

 

[102:9013:3001:1]

 

마지막으로 세번째 행에 2를 곱하여 첫번째 행에 더하고, -3을 곱하여 두번째 행에 더합니다.

 

[100:11010:6001:1]

 

따라서 a0=11,a1=6,a2=1 이므로

 

세 점 (1,6),(2,3),(3,2)를 지나는 2차함수는 아래와 같습니다.

 

y=116x+x2

 

 

 

여기까지 선형대수방정식을 통한 curve fitting법에 대해 알아보았습니다.

반응형