Curve Fitting with Polynomials
Least Square Method์ ๋ณด๊ณ ์ค๋ฉด ์ข๋ค.
๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ก์ ๋ ๋คํญ์ ๊ณก์ ์ผ๋ก ์ด๋ป๊ฒ ๋ง์ถ ์ ์๋์ง ์์๋ณด์.
Intuition Concept
์๋์ ๊ฐ์ ๊ทธ๋ฆผ์ ๋ณด๊ณ ์ง๊ด์ ์ผ๋ก ์ดํดํด๋ณด์.
๊ทธ๋ฆผ์ ์ด 7๊ฐ์ ๋๋งน์ด๊ฐ ์๋ค๊ณ ํ์ ๋,
์ ์๋์ด ๋ง๋๊ธฐ๋ฅผ ์คํ ๋๊น ์ ์ ๋ค ์ฌ์ด ์ต๋ํ ์ค์์ ๋๋ณด์ธ์!
์ด๊ฒ ๋ฐ๋ก ์ต์์ ๊ณฑ๋ฒ์ด๋ค.
์ฐ๋ฆฌ ๊ฐ์ฐ์ค ํ์ ์ด๊ฑธ ์ํ์ ์ผ๋ก ํ์
จ๋ค.
๊ทธ๋ ๋ค๋ฉด ํ๋ฒ๋ง ๊ตฌ๋ถ๋ ค(2์ฐจ์) ์ค์์ ๋์ผ๋ฉด ๋ค์ ๊ทธ๋ฆผ์ด ๋ ๊ฒ์ด๋ค.
์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌ๋ถ๋ฆฐ๋ค๋ ๊ฒ์ ๋คํญ์์ ์ฐจ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ค์์ ๋๋๋ค๋ ๊ฒ์ ๊ตฌ๋ถ๋ฆฐ ๊ณก์ ๊ณผ ์ ๋ค์ฌ์ด์ ๊ฑฐ๋ฆฌ(์๋ฐํ ๋งํ๋ฉด y๊ฐ์ ์ฐจ์ด)๊ฐย ๊ฐ์ฅ ์๊ฒ ๋๋๋ก ํด๋ฌ๋ผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
3์ฐจ, 4์ฐจ, 5์ฐจ, 6์ฐจ๊น์ง์ ๊ทธ๋ฆผ์ด๋ค.
๊ทธ๋ฐ๋ฐ ์ 7์ฐจ๋ ์๋๋! ๊ตฌ๋ถ๋ฆฐ๋ค๋ ๊ฒ์ ์ ์ด๋ 2์ ์ด ์์ ๋ ๊ตฌ๋ถ๋ฆด ์ ์๋ค.
๋ฐ๋ผ์ 7๊ฐ์ ์ ์์๋ 6๊ฐ์ ๊ฐ๊ฒฉ์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ํผํ ํ ์ ์๋ ๋คํญ์์ ์ฐจ์๋ 6์ผ๋ก ๊ฒฐ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ ๋ ์ฌ๋๊ฒ ํํํ๋ค.
x์ y๋ฐ์ดํฐ๋ฅผ ํ๋ํด๋ณด์๋๋ ๋คํญ์์ ๊ผด์ด ๋ฑ๋ด๋ ์๋๊ฑฐ์ผ. ์ง์, ๋ก๊ทธ ์ด๋ฐ๊ฑฐ์ผ..
์ด๋ป๊ฒ ํ ๊น? ๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ผ์ข ์ ํธ๋ฆญ์ ์ฌ์ฉํ ๊ฒ์ด๋ค.
๋ญ๊ฐ ๋๋ฌด ๋์ถฉ ์ ๋ฆฌํ ๊ฐ์ด ์์ง๋ง ์ด์ฉ ์ ์๋ค.ย
์์ฝํ์๋ฉด ์ ๋ ฅ๋ณ์์ ์ถ๋ ฅ๋ณ์๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ณด๊ณ ํจ์๋ฅผ ์์ํ ๋ค,ย ๊ทธ ํจ์๊ฐ ๋๋ ค๋ฉด ์ ๋ ฅ๋ณ์์ ์ถ๋ ฅ๋ณ์๊ฐ ์ด๋ป๊ฒ ๋ ๊ฒ์ธ์ง ๊ฑฐ๊พธ๋ก ๊ตฌํ๋ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด ์ ์์์ค Exponential์ ๋ณด๊ฒ๋๋ฉด, ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐ๋ฆฌ๋ x๋ฅผ ๋ฃ์ผ๋ฉด ๊ฒฐ๊ณผ๊ฐ exponential์ ๊ฑฐ์น ๊ฒฐ๊ณผ๊ฐ y๊ฐ ๋์ด์ผ ํ๋ค.ย
๊ทธ๋ ๊ฒ ํ๊ธฐ ์ํด์๋ polyfit์ ๋ค์ด๊ฐ๋ input, output์ ๊ฐ๊ฐ (x, lny)์ ํํ๋ก ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค.
Function
์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ฌด ๊ฐ๋จํด์ ์์ ์ค๋ช ์ด ์ด๋ผํด์ง๋ค.
๊ณ์ํ๋ ฌ = polyfit(x, y, ์ฐจ์)
์๋๋ ์ํ๋ ํจ์๋ชจ์์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ณ์๋ฅผ ๋ค๋ฅด๊ฒ polyfit์ ๋ฃ์ด์ค์ฌ ํ๋์ง ์ ๋ฆฌํ ํ์ด๋ค.
Example
t = 0:0.5:5; w = [6 4.83 3.7 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64] plot(t,w, 'o')
๋ ๋ณ์๊ฐ ์ฃผ์ด์ก๋ค. ์ ํ ๋ชจ๋ฅด๊ฒ ์ผ๋ ๊ทธ๋ ค๋ณด์.
์ ๊ท์ฐฎ์ ์ก๋ค. ์ง์๋ ๋ก๊ทธ์ผ ๊ฒ ๊ฐ๋ค. ๋ ๋ก๊ทธ๋ณด๋ค๋ ์ง์๊ฐ ์ข์ผ๋๊น ํ์์ exp์ผ ๋ ๋ณ์๋ฅผ ์ฐพ์์ ๋ฃ์ด์ค๋ค.
t = 0:0.5:5; w = [6 4.83 3.7 3.15 2.41 1.83 1.49 1.21 0.96 0.73 0.64] plot(t,w, 'o') p = polyfit(t, log(w),1) t1 = 0:0.1:5.5; reg_exp = polyval(p,t1) y1 = exp(reg_exp) plot(t,w, 'o', t1, y1)