matlab数据拟合语句,Matlab数据拟合程序 - 范文中心
課程設計名稱: 設計二:數據擬合 指導教師: 張莉 課程設計時數: 6 課程設計設備:安裝了Matlab 、C ++軟件的計算機 課程設計日期: 實驗地點: 第五教學樓北902 課程設計目的:
1. 了解最小二乘擬合的原理,掌握用MA TLAB 作最小二乘擬合的方法; 2. 學會利用曲線擬合的方法建立數學模型。
課程設計準備:
1. 在開始本實驗之前,請回顧相關內容;
2. 需要一臺準備安裝Windows XP Professional操作系統和裝有數學軟件的計算機。
課程設計內容及要求
要求:設計過程必須包括問題的簡要敘述、問題分析、實驗程序及注釋、實驗數據及結果分析和實驗結
論幾個主要部分。
1. 用切削機床進行金屬品加工時,為了適當地調整機床,需要測定刀具的磨損速度,在一定的時間測量刀具的厚度,得數據如表所示,請選用合適的函數來描述切削時間與刀具厚度的關系。
首先對數據進行分析,畫出離散的點,觀察點近似的曲線:
t=0:1:15;
y=[30.0 29.1 29.8 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8]; plot(t,y,'r*')
判斷出曲線是近似直線函數,所以對數據進行測試可以做三次函數擬合:
t=0:1:15;
y=[30.0 29.1 29.8 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8]; %plot(t,y,'r*') A=polyfit(t,y,3) z=polyval(A,t); plot(t,y,'r*',t,z, 'b' )
051015
擬合結果: A =
-0.3099 29.5676
擬合函數為:y=-0.3099t+29.5676
2. Malthus 人口指數增長模型
用以上數據檢驗馬爾薩斯人口指數增長模型,根據檢驗結果進一步討論馬爾薩斯人口模型的改進。 首先對數據進行分析,畫出離散的點,觀察點近似的曲線:
x=1790:10:2000;
y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4]; plot(x,y,'r*')
[**************]
判斷出曲線是近似拋物線函數,所以對數據進行二次函數擬合:
x=1:10:220;
y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4]; %plot(x,y,'r*')
A=polyfit(x,y,2); z=polyval(A,x); plot(x,y,'r*',x,z, 'b' ) y=poly2str(A,'x' )
[**************]
擬合函數結果: y =
0.0067365 x^2 - 0.13636 x + 6.4212
3.價格預測
美國舊車價格的調查數據
分析用什么形式的曲線來擬合數據,并預測使用4、5年后的舊車平均價格大致為多少。 首先對數據進行分析,畫出離散的點,觀察點近似的曲線:
x=1:1:10;
y=[2615 1943 1494 1087 765 538 484 290 226 204];
plot(x,y,'r*')
判斷出曲線是近似多次函數,所以對數據進行三次函數擬合:
x=1:1:10;
y=[2615 1943 1494 1087 765 538 484 290 226 204]; %plot(x,y,'r*') A=polyfit(x,y,3); z=polyval(A,x); plot(x,y,'r*',x,z, 'b' ) y=poly2str(A,'x' )
擬合結果:
y =
-2.6548 x^3 + 79.9522 x^2 - 852.8324 x + 3380.1 預測4、5年后的舊車價格為:
>>y= -2.6548 *4^3 + 79.9522* 4^2 - 852.8324* 4 + 3380.1 y =
1.0781e+003
>> y= -2.6548 *5^3 + 79.9522* 5^2 - 852.8324* 5 + 3380.1 y = 782.8930
4.用最小二乘法求一個形如y =a +bx 2的經驗公式,數據如下:
x=[19,25,31,38,44];
y=[19.0,32.3,49.0,73.3,97.8];
fun1=inline('c(1)+c(2)*x.^2', 'c' , 'x' ); %擬合函數 k=[0 0];
c=lsqcurvefit(fun1,k,x,y) %求擬合系數
['y=',num2str(c(1)),'+',num2str(c(2)),'x^2']%擬合函數表達式 y1=c(1)+c(2)*x.^2; %擬合函數表達式值
plot (x,y,'b*', x, y1,'r-' ); %繪制x ,y 點與擬合函數,比較擬合程度
10090
[***********]
[1**********]5
實驗結果如下:
Optimization terminated: first-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected in trust region model. c =
0.9726 0.0500
ans =
y=0.97258+0.050035x^2
課程設計總結: 這次實驗主要講的是數據的擬合,對數據的處理首先是觀察圖像在近似擬合,有的函數掌握的還不夠徹底,需要查閱資料才能完成,以后遇到這種問題會更加仔
細,有些錯誤的地方還希望老師指出,再加以改進,謝謝!
總結
以上是生活随笔為你收集整理的matlab数据拟合语句,Matlab数据拟合程序 - 范文中心的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: APNS推送证书生成与验证
- 下一篇: LVS(DR)+Keepalive高可用