




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第4 4講講 數據的插值擬合法數據的插值擬合法4.1 數據的擬合方法數據的擬合方法4.2 數據的插值方法數據的插值方法4.1 數據的擬合方法數據的擬合方法已知已知n個數據點(個數據點(xi, yi),i=1,2,n,xi互不相互不相同,如何尋求函數同,如何尋求函數 y=f(x) ,使,使f(x)在某種準則下在某種準則下與這與這n個點最接近?個點最接近? 擬合模型通過尋找簡單的因果變量之間的數量關擬合模型通過尋找簡單的因果變量之間的數量關系,對未知的情形作出預測與預報系,對未知的情形作出預測與預報.Remark :不必要求近似函數的曲線或曲面通過所有的不必要求近似函數的曲線或曲面通過所有的數據
2、點數據點.一、一、擬合原理擬合原理問問題題二、擬合模型的分類與方法二、擬合模型的分類與方法1. 直線擬合:直線擬合:用用一次函數或稱線性函數一次函數或稱線性函數擬合數據擬合數據.2. 曲線擬合:曲線擬合:若直線擬合效果不佳,可提高擬合精度,若直線擬合效果不佳,可提高擬合精度,用曲線擬合數據用曲線擬合數據. 常用的是常用的是二次函數二次函數、三次函數三次函數等高等高次多項式,有時也會用到次多項式,有時也會用到指數函數指數函數、對數函數對數函數、三三角函數角函數等等.3. 觀察數據修勻:觀察數據修勻:根據數據分布的總趨勢根據數據分布的總趨勢去剔除觀察數去剔除觀察數據中的偶然誤差據中的偶然誤差,即數
3、據修勻(或稱數據光滑)問,即數據修勻(或稱數據光滑)問題題.4. 分段擬合:分段擬合:在在不同段不同段上用上用不同的低次多項式不同的低次多項式進行擬合進行擬合.選擇何種曲線擬合最好呢?選擇何種曲線擬合最好呢? 首先可在坐標軸上畫出數據的首先可在坐標軸上畫出數據的散點圖散點圖,通過觀察選擇,通過觀察選擇幾種合適的曲線分別擬合,通過比較,幾種合適的曲線分別擬合,通過比較,哪條曲線的哪條曲線的最小二最小二乘指標乘指標J 最小即為最好的擬合曲線最小即為最好的擬合曲線.2211 ( )nniiiiiJf xy表示第表示第i個點的擬個點的擬合值與實際值的絕合值與實際值的絕對誤差對誤差第第i個點的個點的擬合
4、值擬合值第第i個點的個點的實際值實際值一、模型假設一、模型假設 假設所測數據均為抽樣數據假設所測數據均為抽樣數據.二、模型的分析與建立二、模型的分析與建立 先畫出散點圖,見下圖先畫出散點圖,見下圖.問題一問題一 【溫度與電阻的關系模型溫度與電阻的關系模型】有一個對溫度敏感的有一個對溫度敏感的電阻,現測得一組溫度電阻,現測得一組溫度t與電阻與電阻R的數據。見表的數據。見表9.1t20.532.751.07395.7R7658268739421032 試給出溫度與電阻間的函數關系,并計算溫度為試給出溫度與電阻間的函數關系,并計算溫度為60度度時的電阻值時的電阻值表表 9.1t=20.5 32.7
5、51 73 95.7;R=765 826 873 942 1032;plot(t,R,*)xlabel(t)ylabel(R)203040506070809010075080085090095010001050tR 觀察上圖不難發現:散點基本上在一條直線上,因觀察上圖不難發現:散點基本上在一條直線上,因此可假設電阻與溫度滿足此可假設電阻與溫度滿足一次函數(或稱線性函數)一次函數(或稱線性函數). 設擬合函數為設擬合函數為 y=a1+a2x12yaa x120.5132.7151173195.7A1121112212221331233244412455512511111TTyaa xyxyyaa
6、 xxayyaa xxAxbA AxA baxyyaa xxyyaa x12765826,8739421032axbat=20.5 32.7 51 73 95.7;R=765 826 873 942 1032;A=ones(5,1),t;b=R;a1a2=Aba1a2 = 702.0968 3.3987三、模型求解三、模型求解 可用可用Matlab計算計算.解法一:使用解法一:使用 regress() 函數函數t=20.5 32.7 51 73 95.7;R=765 826 873 942 1032;x=ones(5,1),t;y=R;b=regress(y,x,0.05)b = 702.09
7、68 3.3987解法二:使用解法二:使用 ployfit() 函數函數 cleart=20.5 32.7 51 73 95.7;R=765 826 873 942 1032;x=t;y=R; p=polyfit(x,y,1)p = 3.3987 702.0968即即a1=702.0968, a2=3.3987,因此擬合的函數為,因此擬合的函數為 y=702.0968+3.3987x將將x=60代入計算得代入計算得y=906203040506070809010075080085090095010001050tR shijinihecleart=20.5 32.7 51 73 95.7;R=76
8、5 826 873 942 1032;plot(t,R,*)xlabel(t);ylabel(R)hold ont=20:0.1:100;plot(t,702.0968+3.3987.*t)實際值與擬合圖實際值與擬合圖 regress() 函數主要用于函數主要用于線性線性擬合,在擬合時進行顯著性擬合,在擬合時進行顯著性檢驗,故稱為回歸函數檢驗,故稱為回歸函數. Polyfit() 函數主要是利用函數主要是利用多項式多項式擬合擬合. 它可以是線性或非它可以是線性或非線性線性. Remark: polyfit(x, y, m)表示用表示用m 次多項式擬合數據次多項式擬合數據x, y. regres
9、s() 函數與函數與polyfit() 函數的區別函數的區別問題問題2 【農業生產實驗模型農業生產實驗模型】在研究農業生產的試驗中,在研究農業生產的試驗中,為分析某地區土豆產量與化肥的關系,得到了每公頃地為分析某地區土豆產量與化肥的關系,得到了每公頃地的氮肥的施肥量與土豆產量的對應關系,見圖的氮肥的施肥量與土豆產量的對應關系,見圖9.2氮肥量氮肥量(kg)03467101135202259336404471土豆產土豆產量量(kg)15.18 21.36 25.72 32.29 34.03 39.45 43.15 43.46 40.83 30.75請根據表請根據表9.2的數據,給出土豆產量與氮肥
10、施肥量之間的關系的數據,給出土豆產量與氮肥施肥量之間的關系表表9.2一、模型假設一、模型假設 假設實驗數據為抽樣數據假設實驗數據為抽樣數據. 假設其他化肥用量不變假設其他化肥用量不變.二、模型分析與建立二、模型分析與建立 先用先用Matlab畫出散點圖畫出散點圖. 05010015020025030035040045050015202530354045x(dan fei liang)y(tu dou chan liang)clearx=0 34 67 101 135 202 259 336 404 471;y=15.18 21.36 25.72 32.29 34.03 39.45 43.15
11、43.46 40.83 30.75;plot(x,y,+)xlabel(x(dan fei liang)ylabel(y(tu dou chan liang)可以看出散點圖呈二次曲線圖形,可取如下擬合函數可以看出散點圖呈二次曲線圖形,可取如下擬合函數其中其中x表示氮肥量,表示氮肥量,y表示土豆產量。表示土豆產量。a,b,c為待定系數。為待定系數。2yaxbx c三、模型求解三、模型求解abc = -0.0003 0.1971 14.741620.00030.197114.7416yxxclear x=0 34 67 101 135 202 259 336 404 471;y=15.18 21.
12、36 25.72 32.29 34.03 39.45 43.15 43.46 40.83 30.75;abc=polyfit(x,y,2)x1=0:471;y1=polyval(abc,x1);plot(x,y,*,x1,y1)xlabel(x(dan fei liang)ylabel(y(tu dou chan liang)0501001502002503003504004505001015202530354045x(dan fei liang)y(tu dou chan liang)問題問題3 【血藥濃度模型血藥濃度模型】通過實驗測得一次性快速靜脈通過實驗測得一次性快速靜脈注射注射300m
13、g藥物后的血藥濃度數據,見表藥物后的血藥濃度數據,見表9.3t(h)0.250.511.523468y(ug/ml) 19.21 18.15 15.36 14.10 12.899.327.455.243.01 求血藥深度隨時間的變化規律求血藥深度隨時間的變化規律y(t)表表 9.3一、模型假設一、模型假設1. 假設假設 t=0 時,時,y=0.2. 假設實驗數據為假設實驗數據為抽樣數據抽樣數據,能反映血藥濃度與時間,能反映血藥濃度與時間的關系的關系二、模型分析與建立二、模型分析與建立 利用利用Matlab畫出散點圖畫出散點圖.0123456782468101214161820t(shi jia
14、n)y(nong du) cleart=0.25 0.5 1 1.5 2 3 4 6 8;y=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;plot(t,y,o)xlabel(t(shi jian)ylabel(y(nong du)由圖可見,散點圖大致呈由圖可見,散點圖大致呈負指數函數負指數函數形態,可令形態,可令 其中其中a, b0 為待定系數為待定系數.btya e三、模型求解三、模型求解解法一:將其線性化處理解法一:將其線性化處理. 將等式將等式 兩邊同時取對數,得兩邊同時取對數,得令令 則方程變為則方程變為btya elnln.ya
15、bt12ln,ln,yYabbb 12.Ybb t用用Matlab求解如下求解如下: cleart=0.25 0.5 1 1.5 2 3 4 6 8;y=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;Y=log(y);b=polyfit(t,Y,1)b = -0.2347 2.99430.234719.9709.tYe12.994319.9709,0.2347baeeb即即 b1=2.9943 b2=-0.2347則血藥濃度與時間的關系為則血藥濃度與時間的關系為01234567892468101214161820ty cleart=0.25
16、 0.5 1 1.5 2 3 4 6 8;y=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;Y=log(y);b=polyfit(t,Y,1);a=exp(b(2);b=-b(1);plot(t,y,*);hold ont=0:0.01:9;plot(t,a.*exp(-b.*t),r)xlabel(t)ylabel(y)解法解法2 使用非線性擬合函數使用非線性擬合函數nlinfit( ). 首先建立首先建立Fun7_1.m文件如下:文件如下:function y=Fun7_1(a,t)y=a(1)*exp(-a(2)*t);不妨取不妨取a
17、=20, 由由t=1時,時,y=15.36算出算出b=0.264取取 a0=20 0.264;用用Matlab求解如下求解如下 cleart=0.25 0.5 1 1.5 2 3 4 6 8;y=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;a0=20,0.264;a=nlinfit(t,y,fun7_1,a0)a =20.2413 0.24200.24220.2413.tYe0123456789246810121416182022ty shijijiefa2jiefa1t=0.25 0.5 1 1.5 2 3 4 6 8;y=19.21
18、18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;plot(t,y,*);hold ona0=20,0.264;a=nlinfit(t,y,fun7_1,a0);t=0:0.01:9;plot(t,a(1).*exp(-a(2).*t)hold onplot(t,19.9714.*exp(-0.2347.*t),r)xlabel(t);ylabel(y)nlinfit函數的用法函數的用法 nlinfit函數采用的迭代法,其中函數采用的迭代法,其中a0為為迭代初值迭代初值. 若所給初值離最優解比較近,則迭代求出該最優解若所給初值離最優解比較近,則迭代求出該最
19、優解的概率就很高的概率就很高. 如何如何估計初值估計初值,暫無確切方法,暫無確切方法. 可以在得到解后可以在得到解后畫出函數圖形,看看實驗點是否都在曲線附近畫出函數圖形,看看實驗點是否都在曲線附近.若相若相差太大,可以考慮重新給出初值重新計算差太大,可以考慮重新給出初值重新計算.問題問題4一、模型假設一、模型假設 假設氯氣與生產時間之間滿足假設氯氣與生產時間之間滿足其中其中a, b為待定系數為待定系數.二、模型分析與建立二、模型分析與建立 此問題實質上是確定待定系數此問題實質上是確定待定系數a, b的值的值.三、模型求解三、模型求解 首先定義非線性函數首先定義非線性函數fun7_2.m文件:文
20、件:8(0.49),b xyaa efunction y=fun7_2(beta0,x)a=beta0(1);b=beta0(2);y=a+(0.49-a)*exp(-b*(x-8);然后在命令窗口中輸入然后在命令窗口中輸入clearx=8 8 10 10 10 10 12 12 12 12 14 14 14 16 16 16 18 18 20 20 20 20 22 22 24 24 24 26 26 26 28 28 30 30 30 32 32 34 36 36 38 38 40 42;y=0.49 0.49 0.48 0.47 0.48 0.47 0.46 0.46 0.45 0.43
21、 0.45 0.43 0.43 0.44 0.43 0.43 0.46 0.45 0.42 0.42 0.43 0.41 0.41 0.4 0.42 0.4 0.4 0.41 0.4 0.41 0.41 0.4 0.4 0.4 0.38 0.41 0.4 0.4 0.41 0.38 0.4 0.4 0.39 0.39;beta0=0.30 0.20;ab=nlinfit(x,y,fun7_2,beta0)ab = 0.3904 0.1028即即a=0.3904, b=0.1028.所以模型函數為所以模型函數為 0.1028(8)0.39040.0996.xye作業:用作業:用Matlab畫出相
22、關畫出相關圖形圖形.問題問題5一、模型假設一、模型假設 假設中國人口的變化滿足一定規律假設中國人口的變化滿足一定規律.二、模型分析、建立與求解二、模型分析、建立與求解 首先畫出散點圖首先畫出散點圖.1945195019551960196519701975198019851990199556789101112x(nian fen)y(ren kou shu)clearx=1949:5:1994;y=5.4 6 6.7 7 8.1 9.1 9.8 10.3 11.3 11.8;plot(x,y,*)xlabel(x(nian fen)ylabel(y(ren kou shu)三、模型求解三、模型求
23、解模型一:模型一:用用線性函數線性函數擬合擬合. 設我國人口數量滿足以下模型設我國人口數量滿足以下模型y=a+bx 其中其中a, b為待定系數為待定系數. 通過計算得通過計算得y=-283.232+0.148x模型二:模型二:用用指數函數指數函數擬合擬合. 設我國人口數量滿足以下模型設我國人口數量滿足以下模型y=aebx 其中其中a, b為待定參數為待定參數. 模型兩邊取對數得模型兩邊取對數得lny=lna+bxy=4.1444*10-15e0.0179xx=1949:5:1994;y=5.4 6 6.7 7 8.1 9.1 9.8 10.3 11.3 11.8;a=polyfit(x,y,1
24、);x1=1949:0.1:1994;y1=a(2)+a(1)*x1;b=polyfit(x,log(y),1);y2=exp(b(2)*exp(b(1)*x1);plot(x,y,*)hold onplot(x1,y1)hold onplot(x1,y2,r)xlabel(x(nian fen)ylabel(y(ren kou shu)194519501955196019651970197519801985199019955678910111213x(nian fen)y(ren kou shu) shijimodel1model2用兩個模型分別計算相應年度的人口數及其誤差見下表用兩個模型分
25、別計算相應年度的人口數及其誤差見下表.分別計算兩個模型的最小二乘指標得分別計算兩個模型的最小二乘指標得 從而線性模型更適合中國人口的增長從而線性模型更適合中國人口的增長.120.29150.7437.JJ4.2 數據的插值方法數據的插值方法若知道函數若知道函數y=f(x)在在n個互異的點個互異的點x1, x2, , xn的函的函數值數值 y1, y2, , yn . 如何估計此函數在另一點如何估計此函數在另一點a 的的函數值?函數值?一、一、插值原理插值原理問問題題 考慮構造一個過考慮構造一個過x1, x2, , xn的次數不超過的次數不超過n的多項的多項式式 y=Ln(x),使其滿足,使其滿
26、足 Ln(xk)=yk, k=1,2,n 然后用然后用Ln(a) 作為準確值作為準確值L(a)的近似值的近似值. 這種方法叫作這種方法叫作插值插值. Remark: 插值方法要求近似函數經過所有的已知點插值方法要求近似函數經過所有的已知點. 插值方法一般有:拉格朗日(插值方法一般有:拉格朗日(Lagrange)插值、分)插值、分段線性插值、埃爾米特(段線性插值、埃爾米特(Hermite)插值、樣條插值以)插值、樣條插值以及分形插值等及分形插值等.Matlab的插值函數分為的插值函數分為內部插值與外部插值內部插值與外部插值.內部插值:內部插值:要求已知點要求已知點x是單調的,且被插值點是單調的,
27、且被插值點xi不能超不能超過過x的范圍的范圍. 如如interp1( )、interp2( )、interpn( )等等. 而而griddata( )既可以計算既可以計算內部插值內部插值,也可以計算外,也可以計算外部插值部插值.二、二、插值方法插值方法 數據數據擬合擬合要求得到一個具體的要求得到一個具體的近似函數表達式近似函數表達式,而,而數據數據插值插值不一定得到近似函數的表達式,僅通過插不一定得到近似函數的表達式,僅通過插值方法值方法找到未知點對應的近似函數值找到未知點對應的近似函數值. 數據數據擬合擬合得到的近似函數表達式得到的近似函數表達式不一定要經過所有不一定要經過所有已知點已知點,
28、而數據,而數據插值插值要求近似函數要求近似函數經過已知的所有經過已知的所有數據點數據點.數據擬合與數據插值的區別數據擬合與數據插值的區別一、模型假設一、模型假設 假設飛機機翼截面下假設飛機機翼截面下輪廓的變化是輪廓的變化是連續連續的的.二、模型分析與建立二、模型分析與建立 畫出散點圖畫出散點圖05101500.511.522.5xy問題問題7從散點圖很難觀察出函數形式從散點圖很難觀察出函數形式, 用插值的方法用插值的方法. 由于只由于只有有一個變量一個變量且是且是單調單調的,可用的,可用一元插值函數一元插值函數interp1()進進行計算行計算.三、模型求解三、模型求解用用Matlab求解如下
29、:求解如下:x1=0 3 5 7 9 11 12 13 14 15;y1=0 1.2 1.7 2 2.1 2 1.8 1.2 1 1.6;x=0:0.1:15;y=interp1(x1,y1,x,spline)plot(x1,y1,.,x,y,r)gridtitle(spline)xlabel(x)ylabel(y)插值后的結果如下圖顯示插值后的結果如下圖顯示.05101500.511.522.5splinexy一、模型假設一、模型假設 假設電壓的變化是連續的假設電壓的變化是連續的.二、模型分析與建立二、模型分析與建立 畫出散點圖畫出散點圖.問題問題8 由散點圖可觀察出電容器兩端的電壓隨充電時
30、由散點圖可觀察出電容器兩端的電壓隨充電時間的關系大致呈間的關系大致呈對數關系對數關系,本題不要求給出函數形,本題不要求給出函數形式,因此同樣使用插值的方法式,因此同樣使用插值的方法.02468101266.577.588.599.51010.5xy三、模型求解三、模型求解用用Matlab求解如下:求解如下:0246810124567891011splinexy插值后結果如圖所示插值后結果如圖所示.function wenti8_2x1=1 2 3 4 6.5 9 12;y1=6.2 7.3 8.2 9 9.6 10.1 10.4;x=0:0.1:12;y=interp1(x1,y1,x,spl
31、ine)plot(x1,y1,.,x,y,r)gridtitle(spline)xlabel(x)ylabel(y)Remark: 一元插值函數一元插值函數interp1的基本調用格式為的基本調用格式為interp1(x, y, cx, method). 其中其中x, y分別表示已知數據點的橫、縱坐標分別表示已知數據點的橫、縱坐標. x必須必須單調,單調,cx為需要插值的橫坐標為需要插值的橫坐標,method為可選參數,為可選參數,可為以下四個值之一:可為以下四個值之一: 1)nearest最近鄰點插值最近鄰點插值 2)linear線性插值(可缺?。┚€性插值(可缺?。?3)spline三次樣條
32、插值三次樣條插值 4)cubic三次插值三次插值一、模型假設一、模型假設 假設溫度的變化是連續的假設溫度的變化是連續的.二、模型分析與建立二、模型分析與建立 首先畫出散點圖首先畫出散點圖.問題問題9從散點圖難以觀察出函數形式從散點圖難以觀察出函數形式, 下面用插值的方法下面用插值的方法.0246810125101520253035xy三、模型求解三、模型求解用用Matlab求解如下求解如下.x1=1:1:12;y1=5 8 9 15 25 29 31 30 22 25 27 24;x=3.2 6.5 7.1 11.7;y=interp1(x1,y1,x)plot(x1,y1,*,x,y,O)x
33、label(x)ylabel(y)y = 10.2000 30.0000 30.9000 24.90000246810125101520253035xy運行結果如圖所示運行結果如圖所示.問題問題10一、模型假設一、模型假設1.假設河床的深度是連續變化的假設河床的深度是連續變化的.2.假設緊靠河床鋪設電纜,即電纜長度等于河床長度假設緊靠河床鋪設電纜,即電纜長度等于河床長度.二、模型分析與建立二、模型分析與建立畫出河床觀測的散點圖畫出河床觀測的散點圖x=5:5:100;y=2.41 2.96 2.15 2.65 3.12 4.23 5.12 6.21 5.68 .4.22 3.91 3.26 2.
34、85 2.35 3.02 3.63 4.12 3.46 2.08 0;y1=10-y;plot(x,y1,*)axis(0 100 0 10)xlabel(x)ylabel(y)grid on 三、模型求解三、模型求解 利用利用分段線性插值分段線性插值,并可以在此基礎上利用,并可以在此基礎上利用梯形梯形法法求積分命令求積分命令trapz計算河床面積計算河床面積. 同時利用每段連續同時利用每段連續線長度之和來近似河床曲線長度線長度之和來近似河床曲線長度.0102030405060708090100012345678910 xyx=5:5:100;y=2.41 2.96 2.15 2.65 3.12 4.23 5.12 6.21 5.68 .4.22 3.91 3.26 2.85 2.35 3.02 3.63
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 棋牌室租賃合同二零二五年
- 藝人經紀人聘用合同
- 2025二手車買賣合同(正式)
- 2025橄欖油供貨合同范本
- 某第一人民醫院改擴建工程施工組織設計第一部分
- 中考語文總復習計劃
- 北京市通州區2024-2025學年高一(下)學期期中考試歷史試題(含答案)
- 混紡高支紗項目運營管理手冊(參考模板)
- 2024年項目管理資格考題全解試題及答案
- 農作物種子市場營銷試題及答案
- 李定信先生著作《訂正中國羅盤52層詳解(中國羅盤大更正)》 x
- DB43∕T 1817-2020 公路貨運車輛不停車超限超載檢測系統建設與使用技術規范
- 人際交往與溝通概述課件
- 叢枝菌根真菌的功能多樣性分析
- 道德經試題及答案
- (精心整理)歷年南京中考英語常考詞匯及例句解析
- 年產6萬噸飼料廠建設項目可行性研究報告-甲乙丙資信
- 環境致病菌監控程序文件
- 冷卻水預處理(預膜)方案
- 鋼筆書法比賽用紙精美五言格
- 完全競爭市場習題及答案
評論
0/150
提交評論