MATLAB

MATLAB - CURVE FITTING / 선형회귀

gongdol 2020. 10. 12. 23:28
300x250

커브피팅 즉 선형회귀 하는 방법을 알아보자

 

선형회귀를 하는 이유는 데이터가 있을때 그 데이터를 모델링하여 사용하기 위함이다.

 

모델링하여 제어를 하든 품질관련 업무를 하든 마음대로 사용하면 될듯하다.

 

우선 MATLAB에서 커브피팅하는 가장 간단한 방법은 명령어를 치는거다

 

명령창에 아래와 같이 명령어를 치자

 

cftool

 

curve fitting tool 의미인것 같다. 외우기도 쉽다.

 

 

실행하면 아래와 같이 창이 하나 뜬다.

 

오늘은 데이터 한개만 가지고 실행할것이다. 

 

실행할 데이터는 아래와 같다.

 

데이터 중 1,3열에 위치한 데이터를 사용할 것이다.

(우선 1,3번째 데이터를 다른 변수(X,Y)로 빼준다.)

 

3열 데이터 PLOT

이제 이 데이터를 가장 잘표현해 줄 수 있는 함수를 찾아보자 

 

다시 cftool 로 돌아오자

 

x축, y축에 데이터를 넣자 나는 1열,3열을 각각 넣었다.

 

왼쪽에 데이터 넣고 오른쪽은 피팅방법이다. 다항식도 있고 보간법도 있다. (여러방법이있다)

 

뭐가 잘 될지 알아보는 방법은 하나씩 눌러보자.

 

다항식이 익숙해서 쉬운것 같은데 이번엔 함수로 만들어 matlab에서 테스트하는게 목적이므로 잘되는거 눌러준다.

 

아래 그래프를 보면 로우 데이터를 아주 잘 추종하고 있다. 

 

이제 다음은 함수만들기이다.

 

빨간곳을 우클릿하면 workpace로 저장하기 버튼이 있다. 

 

그거 누르면 아래와 같다. 

 

 

 

저거 가져다 쓰면 된다. 

 

x에 4500을 넣으니 68이 아래와 같이 나왔다.

 

 

실제데이터를 보니 68이 맞다. 

 

아래는 실제 데이터이다.

300x250