matlab拟合心得体会,Matlab数据拟合工具在数学建模中的简单应用
原標(biāo)題:Matlab數(shù)據(jù)擬合工具在數(shù)學(xué)建模中的簡單應(yīng)用
01 問題描述
下表是由中國國家統(tǒng)計(jì)局提供的《50個城市主要食品平均價(jià)格變動情況》整理得到的2016年1月到5月豆角價(jià)格數(shù)據(jù)表,請建立數(shù)學(xué)模型解決下來兩個問題:
(1)豆角價(jià)格有什么特點(diǎn)?
(2)對6月份豆角價(jià)格變化情況進(jìn)行預(yù)測。
02 模型假設(shè),符號說明
2.1 模型假設(shè)
一個國家的宏觀經(jīng)濟(jì)會呈現(xiàn)周期性,因此作為一國宏觀經(jīng)濟(jì)的組成部分之一的物價(jià)水平也會呈現(xiàn)周期性,隨著經(jīng)濟(jì)周期的上下波動,物價(jià)水平也會上下波動?;谶@點(diǎn),描述物價(jià)水平的數(shù)學(xué)模型——經(jīng)驗(yàn)公式也應(yīng)該具有周期性。我們不妨假設(shè)描述物價(jià)水平數(shù)學(xué)模型是一個周期函數(shù),并且可以轉(zhuǎn)化為傅里葉級數(shù)。
2.2 符號說明
從表中,我們不難發(fā)現(xiàn),國家統(tǒng)計(jì)局會在一個月里對50個城市主要食品平均價(jià)格變動情況進(jìn)行三次調(diào)查統(tǒng)計(jì),分別是1-10日,11-20日和21-30日三個時間區(qū)間。因此,描述物價(jià)水平的周期函數(shù)的自變量是月份。為了方便處理,我們再做一次抽象處理,將時間抽象為整數(shù)N,其中0<=N<=36。那么如何使用N來表示某一個月呢?又如何使用N來表示某一個月里的第幾次調(diào)查呢?為此,我們使用如下兩個運(yùn)算符(高級編程語言中都有這兩個運(yùn)算符):
/:整除運(yùn)算符,比如13/3=4
%:取模運(yùn)算符,比如13%3=1
這樣整數(shù)N與月份和當(dāng)月的第幾次調(diào)查之間的關(guān)系可以表示如下:
調(diào)查次序Q=N%3
如果Q=0,那么調(diào)查月份M=N/3,否則M=N/3 + 1
比如取N=13,那么調(diào)查次序Q=1,調(diào)查月份M=5,這表示5月份的第一次調(diào)查,即調(diào)查時間為5月1-10日。
03 數(shù)學(xué)建模
接下來看看,如何使用MATLAB的數(shù)據(jù)擬合工具解決該問題。
設(shè)時間矩陣N = [1 2 3 4 5 6 7 8 9 10 11 12 13 14];
豆角價(jià)格的矩陣vigna= [10.36 10.19 12.69 12.14 17.4 16.47 17.69 17.22 15.48 13.82 11.76 10.93 9.15 7.92];
3.1 進(jìn)入數(shù)據(jù)擬合窗口
在MATLAB命令行窗口中輸入cftool,回車即可。
3.2 數(shù)據(jù)擬合
在區(qū)域1中選擇相應(yīng)坐標(biāo)軸的變量名,在區(qū)域2中選擇擬合的函數(shù)模型,在區(qū)域3會會自動顯示擬合的圖像,在區(qū)域4中會給出擬合后的函數(shù)表達(dá)式。
區(qū)域2中可以選擇的函數(shù)模型有:
Custom Equation 自定義方程
Exponential 指數(shù)擬合
Fourier 傅里葉擬合
Gaussian 高斯擬合
Interpolant 插值
Linear Fitting 線性擬合
Polynoimal 多項(xiàng)式
Power 冪函數(shù)擬合
Rational 有理擬合,兩個多項(xiàng)式之比,分子和分母都是多項(xiàng)式
Smoothing Spline 平滑樣條
Sum of Sine 正弦曲線擬合
Weibull 韋布爾擬合
區(qū)域4中顯示擬合結(jié)果的評價(jià)指標(biāo),含義如下:
SSE:Sum of Squares due to Error誤差平方和,越接近0曲線的擬合效果(由最小二乘法計(jì)算得出)
R-square:越接近1,曲線的擬合效果越好
Adjusted R-square:越接近1,曲線的擬合效果越好
RMSE:root mean square error 均方根誤差,越接近0曲線的擬合效果
最后看看本題的擬合效果,如下圖所示。
最后看看,區(qū)域4中顯示的函數(shù)模型:
General model Fourier1:
f(x) = a0 + a1*cos(x*w) + b1*sin(x*w)
Coefficients (with 95% confidence bounds):
a0 = 13 (11.75, 14.25)
a1 = -4.347 (-5.235, -3.459)
b1 = 0.34 (-3.128, 3.808)
w = 0.4398 (0.3295, 0.5501)
Goodness of fit:
SSE: 9.611
R-square: 0.9314
Adjusted R-square: 0.9108
RMSE: 0.9803
通過各種函數(shù)模型的擬合發(fā)現(xiàn)這個模型擬合效果最好,R-square: 0.9314,非常接近于1。
因此描述豆角價(jià)格變化規(guī)律的數(shù)學(xué)模型就是:
vigna = f(N) = 13 + -4.347*cos(N*0.4398) + 0.34*sin(N*0.4398)
這是一個周期函數(shù),符合經(jīng)濟(jì)周期的規(guī)律。
至此,本題基本解決了。
04 總結(jié)
本文通過一個數(shù)學(xué)建模題目講解了MATLAB中數(shù)據(jù)擬合工具的使用,該工具比較簡單,但是功能很強(qiáng)大。MATLAB中含有許多功能強(qiáng)大的工具,讀者有興趣的話,可以繼續(xù)探索,在使用該工具時,也可以從軟件設(shè)計(jì)的角度去欣賞,個人覺得MATLAB軟件的設(shè)計(jì)是一個經(jīng)典的學(xué)習(xí)例子。
End.
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的matlab拟合心得体会,Matlab数据拟合工具在数学建模中的简单应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三角形的内点
- 下一篇: hibernate中*.hbm.xml配