Re: [討論] 求高斯回歸曲線?已回收

看板MATLAB作者 (山豬元年革命志士)時間15年前 (2011/01/14 10:09), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《Achillean (山豬元年革命志士)》之銘言: : ※ 引述《Achillean (山豬元年革命志士)》之銘言: : : 請問一下 : : 假設有一維data : : 我想求他高斯回歸曲線 : : mean and variance : : matlab有現成的函式嗎? : : 我只會求非線性回歸曲線 用polyfit : : 我今天已經看help一天 : : 實在查找不到 : : 還是根本沒有「高斯回歸曲線」這東西? : : 抱歉沒有學過線性代數 orz : 找到fit可以用 : fit : Fit model to data : Syntax : cfun = fit(xdata,ydata,libname) : libname也有gaussian : GAUSSIAN SUMS (Peak fitting) : MODELNAME EQUATION : gauss1 Y = a1*exp(-((x-b1)/c1)^2) : gauss2 Y = : a1*exp(-((x-b1)/c1)^2)+a2*exp(-((x-b2)/c2)^2) : gauss3 Y = : a1*exp(-((x-b1)/c1)^2)+...+a3*exp(-((x-b3)/c3)^2) : ... : gauss8 Y = : a1*exp(-((x-b1)/c1)^2)+...+a8*exp(-((x-b8)/c8)^2) : ??? XDATA must be a matrix with one to two columns. : 出現這樣的錯誤 : 我 x = 1*100 double, y = 1*100 double : 請問他是要我把x改成2 columns? %解答 >> f = fittype('gauss1'); >> g = fit(x1,y1,f) g = General model Gauss1: g(x) = a1*exp(-((x-b1)/c1)^2) Coefficients (with 95% confidence bounds): a1 = 3.645e+004 (3.589e+004, 3.7e+004) b1 = 128.5 (127.4, 129.6) c1 = 61.77 (61.14, 62.41) >> c = gaussmf(x,[128.5,61.77]); >> plot (x,y,'o',x,c); 請問一下如何取得a1,b1,c1之min max,就是括弧內的數字? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.78.236 ※ 編輯: Achillean 來自: 122.116.78.236 (01/14 11:08) 後來發現 g = fit(x1,y1,'gauss1') 就好了 ※ 編輯: Achillean 來自: 122.116.78.236 (01/14 11:38)
文章代碼(AID): #1DBx1puf (MATLAB)
文章代碼(AID): #1DBx1puf (MATLAB)