[討論] 有關已知頻率的sinusoidal curve fitting

看板MATLAB作者 (to believe)時間9年前 (2015/10/17 23:38), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
大家好 我有個問題想請教一下版上的大神 我由模擬跑出一組sinusodial wave 數據已知x,y,以及固定的頻率omega 然後因為此函數對y軸會有shift因此我使用function y=b0+b1*(b2*x+b3)去fit 然後google以後使用了以下的方式 B0=mean(y); % vertical shift B1=(max(y)-min(y))/2; % Amplitude B2=0.0628319; %omega B3=-1; % estimated phase shift myFit = fitnlm(x,y, 'Y ~ b0 + b1*sin(b2*X1 + b3)', [B0, B1, B2, B3]) 問題是這樣跑出來的fitting curve仍然會有shift的情況 並且matlab所計算出來的b2不會和我所希望的固定頻率完全一樣 請問我應該如何更改呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 66.66.17.254 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1445096314.A.FDE.html

10/17 23:57, , 1F
不要把B2放進去 裡面的b2改B2
10/17 23:57, 1F

10/17 23:57, , 2F
就可以fix b2了
10/17 23:57, 2F

10/17 23:58, , 3F
至於fit出來有shift可能他沒收斂或是你的模型
10/17 23:58, 3F

10/17 23:58, , 4F
沒辦法找到更接近的解
10/17 23:58, 4F

10/18 00:14, , 5F
謝謝樓上!!!太感謝你了Q___Q
10/18 00:14, 5F
文章代碼(AID): #1M8cjw_U (MATLAB)
文章代碼(AID): #1M8cjw_U (MATLAB)