Re: [問題] estimate the parameters已回收

看板MATLAB作者 (幫解MATLAB難題囧)時間16年前 (2008/09/28 13:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《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
文章代碼(AID): #18tnq7sK (MATLAB)
文章代碼(AID): #18tnq7sK (MATLAB)