利用MATLAB進行數學建模

一、用給定的多項式,如y=x3-6x2+5x-3,產生一組數據(xi,yii=1,2,…,n),再在yi上添加隨機干擾(可用rand產生(0,1)均勻分佈隨機數,或用rands產生N(0,1)分佈隨機數),然後用xi和添加了隨機干擾的yi作的3次多項式擬合,與原係數比較。

分別作1246次多項式擬合,比較結果,體會欠擬合、過擬合現象。

 

查找資料可知

作多項式f(x)=a1xm+ …+amx+am+1擬合,可利用已有程序:

a=polyfit(x,y,m)

多項式在x處的值y可用以下命令計算:              

y=polyvalax

 

編寫代碼如下



運行結果:

f1 =

  43.2000 -148.8880

f2 =

  10.5000  -72.3000   89.9870

f4 =

   0.0000    1.0000   -6.0000   5.0000   -2.4130

f6 =

0.0000   -0.0000   0.0000    1.0000   -6.0000   5.0000   -2.4130


運行後,比較擬合後多項式和原式的係數,發現四次多項式係數與原係數比較接近,四次多項式的四次項係數很小。作圖後,發現一次和二次多項式的圖形與原函數的差別比較大,屬於欠擬合的情況,而四次多項式比較符合。六次多項式屬於過擬合的情況。

 

 

練習2  用電壓V=10伏的電池給電容器充電,電容器上t時刻的電壓爲  ,其中V0是電容器的初始電壓,是充電常數。試由下面一組tV數據確定V0

分別應用非線性最小二乘擬合以及非線性迴歸命令求解,並作比較,體會統計迴歸與擬合方法的區別。

 

1. 用非線性最小二乘擬合求解:



 

兩種方法確定的V0一樣。

統計迴歸可以判斷擬合的效果,用統計迴歸可以分析可靠性,而擬合只是對數據點的擬合,不能用數據說明擬合的可靠性,只能從圖形來判別。



練習三

在某海域測得一些點(x,y)處的水深z由下表給出,船的吃水深度爲5英尺,估計在矩形區域(75200*-50150)裏的哪些地方船要避免進入。

用插值方法作海底曲面圖.作出水深小於5的海域範圍,z=5的等高線.

 

發佈了31 篇原創文章 · 獲贊 91 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章