MATLAB資料分析(插值運算和曲線擬合)
MATLAB資料分析
在數學研究和工程應用中,我們常常需要對某些環節進行反復的測驗或測驗,以獲取更多的資料支持最優決策,但是由于環境條件的限制,我們往往只能獲取有限的離散樣本資料而無法得到 連續完備的資訊這個時候就需要使用到插值運算和曲線擬合的方法來很好的解決這些問題,
- 資料插值法介紹
- 曲線擬合介紹
- 實體分析
- 曲線擬合介紹
資料插值法介紹
資料插值是一種重要的數值計算方法,資料插值可以根據有限個點的取值狀況,合理估算出附近其它點的取值,從而節約大量的實驗和測驗資源,節省大量的人力物力和財力,
- 從數學上來說,資料插值是一種函式逼近的方法,
- 在MATLAB中使用“interp1”函式進行1維資料插值,
Y1=interp1(X,Y,X1,method)
該陳述句將根據X、Y的值,計算函式在X1處的值,其中,X、Y是兩個等長的已知向量,分別表示采樣點和采樣值,X1是一個向量或標量,表示要插值的點,
method引數用于指定插值方法,常用的取值有以下四種:
(1)、linear:線性插值,默認方法,將與插值點靠近的兩個資料點用直線連接,然后在直線上選取對應插值點的資料,
(2)、nearest:最近點插值,選擇最近樣本點的值作為插值資料,
(3)、pchip:分段3次埃爾米特插值,采用分段三次多項式,除滿足插值條件,還需滿足在若干節點處相鄰段插值函式的一階導數相等,使得曲線光滑的同時,還具有保形性,
(4)、spline:3次樣條插值,每個分段內構造一個三次多項式,使其插值函式除滿足插值條件外,還要求在各節點處具有連續的一階和二階導數,
3. 四種插值方法的比較
(1)、線性插值和最近點插值方法比較簡單,其中線性插值方法的計算量與樣本點n無關,n越大,誤差越小,
(2)、3次埃爾米特插值和3次樣條插值都能保證曲線的光滑性,相比較而言,3次埃爾米特插值具有保形性;而3次樣條插值要求其二階導數也連續,所以插值函式的性態更好,
4. 二維插值函式和一維插值函式差不多,函式為(interp2)本文主要講解一維插值函式演算法,
曲線擬合方法介紹
在進行實驗資料測量的時候所得資料不一定準確 ,這個時候強行逼近函式接近各樣本點的方法顯然是不合理的,這個時候就可以使用曲線擬合的方法來進行資料處理,
- 和資料插值類似,曲線擬合也是一種函式逼近的方法,
- MATLAB中的多項式擬合函式為polyfit(),其功能為求得最小二乘擬合多項式系數
(1)P=polyfit(X,Y,m)
(2)[P,S]=polyfit(X,Y,m)
(3)[P,S,mu]=polyfit(X,Y,m):
根據樣本資料X和Y,產生一個m次多項式P及
其在采樣點誤差資料S,mu是一個二元向量,mu(1)是mean(X),而mu(2)是std(X)
(1)要對問題的背景進行詳細的分析,
(2)采樣點并非越多越好,適當的時候,可以減少采樣
點,分段進行擬合,
3. 曲線擬合的三種功能:
(1)估算資料
(2)預測趨勢
(3)總結規律
實體分析
零件加工問題
在飛機制造中,機翼的加工是一項關鍵技術,由于機翼尺寸很大,通常在圖紙中只能標出一些關鍵點的資料,下表給出了某型飛機機翼的下緣輪廓線資料,求x每改變0.1時y的值,


撰寫MATLAB程式進行資料擬合
>> x=[0,3,5,7,9,11,12,13,14,15];
>> y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6];
>> x1=0:0.1:15;%確定需要插值的點
>> y1=interp1(x,y,x1,'spline');
>> plot(x1,y1)

人口預測問題
人口增長是當今世界上都關注的問題,對人口增長趨勢進行預測是各國普遍的做法,已知某國1790年到2010年間歷次人口普查資料如下表所示,請預測該國2020年的人口數,

解題思路:找一個函式,去逼近這些資料,然后再根據找到的函式,計算預測點的值,

撰寫MATLAB程式如下
x=1790:10:2010;
y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,63.0,76.0,92.0,105.7,122.8,131.7,150.7,179.3,203.2,226.5,248.7,281.4,308.7];
plot(x,y,'*');
p=polyfit(x,y,3);
polyval(p,2020)
plot(x,y,'*',x,polyval(p,x));

結語:以上為個人學習打卡記錄,僅供參考,歡迎大佬指正!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226623.html
標籤:AI
上一篇:DGCF代碼解讀之重新出發
