Re: [問題] estimate the parameters已回收
※ 引述《a891422 (侏儒)》之銘言:
: 假如一個實驗在5個點分別測試3次
: 得到
: X Y
:
: 10 25.2 27.3 28.7
: 15 29.8 31.1 27.8
: 20 31.2 32.6 29.7
: 25 31.7 30.1 32.3
: 30 29.4 30.8 32.8
: 然後已知關係式為y= a0 + a1*x + a2*(x)^2
: 請問我應該如何用MATLAB去估算出a0、a1、a2呢??
: 抱歉 其實我有去爬過文
: 但這好像是統計的東西
: 可是我沒學過統計...所以完全沒概念
: 有勞大大指點了
這樣也可以.利用POLYFIT函數(最小平方法逼近多項式函數)
>> x = [10 15 20 25 30];
>> y = [25.2 29.8 31.2 31.7 29.4
27.3 31.1 32.6 30.1 30.8
28.7 27.8 29.7 32.3 32.8];
>> p(1,:) = polyfit(x,y(1,:),2)
p =
-0.0420 1.8860 10.6400
>> p(2,:) = polyfit(x,y(2,:),2)
p =
-0.0420 1.8860 10.6400
-0.0291 1.2857 17.7800
>> p(3,:) = polyfit(x,y(2,:),2)
p =
-0.0420 1.8860 10.6400
-0.0291 1.2857 17.7800
-0.0291 1.2857 17.7800
接著我們可以利用 POLYVAL來算出逼近值.再用圖形去比較
>> f(1,:) = polyval(p(1,:),x);
>> f(2,:) = polyval(p(2,:),x);
>> f(3,:) = polyval(p(3,:),x);
>> figure(1)
>> plot(x,y(1,:),'b*',x,f(1,:),'ro')
>> figure(2)
>> plot(x,y(2,:),'b*',x,f(2,:),'ro')
>> figure(3)
>> plot(x,y(3,:),'b*',x,f(3,:),'ro')
不過可以發現模型不太適用.逼近出來的誤差我覺得太大了
--
1.MATLAB programming 2.ASPEN process simulation package
3.FORTRN programming 4.Advance Engineering Mathematics
5.Process Control Theory
6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport)
7.Numerical Method and Analysis
8.MATLAB Toolbox.Simulink system basic design
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.9.137.43
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章