operator01.jpg

안녕하세요? LGS입니다. 
이번 시간에는 Curve Fitting Toolbox에 대해서 알아보겠습니다.
그럼 바로~ 강의 들어가것습니다요~ 

Curve Fitting Toolbox를 사용하기 위해서 우선 Curve Fitting이 무엇인지 알아야겠죵? ^^ 
예를 들어 실험실에서 계측기를 가지고 Data를 측정해봤더니 아래와 같은 그래프가 나오는 겁니다.


xGsiI-yRxa5GA-m8-0APux7cjpHhVbhVKvrC213E89EgUZw3b3RYjbI8DcUem1LLpnl9ExIVp2nQJZr6oayvodU61os3NxhMqDRmDd4fV9xElL0ibsQ

그래프를 딱 보고 아! Sine과 Cosine의 조합 함수구만!! 하고 바로 알아차릴 수 있다면
당신은 진정한 천재!! 여기에서 이러고 있을 때가 아니예요!! 당장 노벨상 받을 논문 쓰시러 가야합니다. 
그런데 대부분의 사람들은 위의 그래프를 보고 바로 어떤 함수이고 그 함수에 들어가는 숫자(계수)가 무엇이다라고 
알아 차릴 수 없습니다. 

fBv3PdjplT2MJ27YmoumX7qJnQ8dmqDdGlUSbeEPEux02EOkxyRA_xPuxZNU1c7ZSn_H2_4Z5eQOG0EqL1rXzCQiiMQcTnefAqXcNsxkoMttLjtglpc

그래도 대충 Data에 잘 맞는 빨간색 선을 그리는 함수를 추측할 수 있습니다. 
이 빨간색 선을 그리는 함수를 찾는 것이 Curve Fitting의 목적이 되겠습니다. 
즉 Curve Fitting이란 측정된 Data를 가장 잘 표현할 수 있는 함수를 찾는 것입니다!! 
“함수를 찾아서 뭐할건데?” 라고 물어보신다면 할 수 있는 일이 많죠 ㅋㅋ 
Data를 표현할 수학적 모델을 찾았으니 이가 빠진 데이터(missing data)도 채워 넣을 수 있구요(interpolation 보간)
실험으로 얻지 못하는 데이터도 추측할 수 있구요… ^^


그럼 본격적으로 Curve Fitting Toolbox에 대해서 알아보겠습니다.
우선 가지고 놀 Data를 만들어 둡시다…
아래 코드를 copy해서 command window에서 실행 시켜 주세용용용...

x = 0:0.1:10;
data = sin(x)+cos(x*2)+rand(size(x))*0.1-0.05; %노이즈를 주기위해 rand를 추가했습니다.

Curve Fitting Tool을 실행시키시려면
Command window에서 >>cftool 이라고 입력하시면 됩니다.(Curve Fitting의 각각의 앞글자를 따왔습니다)
(또는 MATLAB -> Start -> Toolboxes -> Curve Fitting -> Curve Fitting Tool(cftool)을 차례대로 클릭하셔도 되요.)
그러면 아래와 같은 Curve Fitting Tool이 뜨게 됩니다.

tRobLP0MghiZj5IePIep43hpyxu-zZfGlR6i2kBnt3yqlc9qt73BX_X95-uO4Kyp-LI-eL_5Do08YtjeDD56P2dJn_BtjSQBE8WAUHaYXZWu26WfaO0

상단에 버튼이 5개 보이시죠? Data, Fitting, Exclude, Plotting, Analysis. …
첫 번째로 해야 할 일은 MATLAB Workspace에 있는 Fitting하고자 하는 Data를 Curve Fitting Toolbox로 불러와야 합니다. 
Data 버튼을 클릭해주세요~ ^^

Lk4uh8l36Cq7QuWZGhVt_KtBE93rxPDr27lsWUBWMDzzKEgSeaWEb2rZB621hhMY8KLctoemoTEQpZn9g6wVOKEwqMR9lBDRYUcmUC23Td0mV1RtYA0

X data:와 Y Data: 항목을 선택해주세요~ 우리의 경우 X Data는 x, Y Data는 data가 되겠습니다요~ 
(X data, Y Data 둘다 vector이어야 합니다)
Data를 선택하면 오른쪽 Preview에서 대충의 Data 모양을 볼 수 있습니다. 
Data set name에 적당한 이름을 붙이시고요(저는 기본적으로 setting 되는 data vs. x를 쓰겠습니다.) 
Create date set 버튼을 눌러서 Data sets에 data vs. x 데이터 셋을 추가합니다~
자~ 이제 Curve Fitting Tool에서 가지고 놀 Data의 Import은 끝 났습니다.
왼쪽 하단의 Close 버튼을 눌러 위의 화면을 닫고 다시 Curve Fitting Tool로 돌아갑시다.

가지고 놀 data도 불러들였겠다 이제 진짜 fitting 하러 가야죠 헤헤
cftool의 메인 화면에서 두번째 버튼인 Fitting 버튼을 Click !!~

LMRK6pn0F6yjlFBeyFybbk9tIvJSCjKduVLzB2ZlisE7srrkBsB4WyFv4RhkrQbhyiO0GGL5dJelZ80CddWg4-MBO8WXc2ssAQavzf2hYl2sbF97IeU

그러면 아래와 같은 Fitting Dialog가 뜹니다.
Fitting Dialog에서 New fit을 클릭해보세요
자동으로 아래와 같이 값들이 채워지게 됩니다.
여러 항목중에 가장 중요한 것은 Type of Fit 입니다. 즉 어떤 형태의 함수로 Data를 Fit 할 것인가를 결정해줘야합니다.
자동으로 Type 까지 결정해주면 좋으련만... -_- Type of Fit 부분은 수동으로 여러분이 직접 결졍해주셔야 해요
실험 또는 data에 대한 배경지식이 있으면 어떤 종류의 함수로 fitting 할지 결정할 때 큰 도움이 됩니다.
그러한 배경지식이 없다면 trail and error 그냥 노가다로 쭉 여러가지 type을 적용시키는 수 밖에 없습니다. -_-;;


(이하생략)
profile