作者chengwaye (抄底王)
看板MATLAB
標題[討論] curve fitting 係數不對
時間Mon Aug 4 00:52:51 2014
x=[1.46 1.26 1.06 0.86 0.66 0.46 ]
y=[1.8693 1.85925 1.809 1.6281 1.3668 0.5025]
我對此六個點要以cftool做curve fitting
跑出來以下結果:
General model Fourier2:
f(x) = a0 + a1*cos(x*w) + b1*sin(x*w) +
a2*cos(2*x*w) + b2*sin(2*x*w)
Coefficients:
a0 = -7.365e+007
a1 = 9.817e+007
b1 = 2.803e+006
a2 = -2.451e+007
b2 = -1.401e+006
w = 0.02602
想請問此六項係數的e應該就是科學記號沒錯吧?
但為什麼我把此公式輸入excel
若x代入1.1,y會得到699.81這個奇怪的數字
網路上查到說這些係數是e的意思,也就是說a0=-7.365*exp(7)
但這樣輸入跑出來的結果也是錯的.......
fit的圖形y的結果最多就是在1附近跑而已
http://ppt.cc/2KGR
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.164.14.248
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1407084773.A.DAD.html
※ 編輯: chengwaye (218.164.14.248), 08/04/2014 00:53:18
→ ejialan:e是科學記號沒錯 會誤差很大是因為那些係數只有顯示到小數 08/04 11:05
→ ejialan:點後3位 你可以按下面的save to workspace把結果存下來 08/04 11:06
→ ejialan:假設存下來是fittedmodel1 那x代1.1就是fittedmodel1(1.1) 08/04 11:08
→ ejialan:你要得到比較準確的係數就是fittedmodel1.a0 .後面a0~w 08/04 11:09
推 bxxl:除了一樓講的之外,你fit只能保證通過原本那些點,不代表 08/04 13:16
→ bxxl:fit出來的function會很smooth 08/04 13:17
推 bxxl:抱歉,看到圖了,看起來應該要很smooth 08/04 13:19
→ chengwaye:請問SAVE TO WORKSPACE要去哪裡看結果@@? 08/05 10:57
→ ejialan:都save to workspace了當然是去workspace看 08/06 10:29
→ lostrain00: excel輸入錯了吧 09/18 11:39
→ lostrain00: e確實是科學記號,是10的某次方 09/18 11:40