看板 MATLAB 關於我們 聯絡資訊
大家好 我有個問題想請教一下版上的大神 我由模擬跑出一組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
celestialgod: 不要把B2放進去 裡面的b2改B2 10/17 23:57
celestialgod: 就可以fix b2了 10/17 23:57
celestialgod: 至於fit出來有shift可能他沒收斂或是你的模型 10/17 23:58
celestialgod: 沒辦法找到更接近的解 10/17 23:58
branda0423: 謝謝樓上!!!太感謝你了Q___Q 10/18 00:14