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