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

作者: branda0423 (to believe)   2015-10-17 23:38:32
大家好
我有個問題想請教一下版上的大神
我由模擬跑出一組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不會和我所希望的固定頻率完全一樣
請問我應該如何更改呢?
謝謝
作者: celestialgod (天)   2015-10-17 23:57:00
不要把B2放進去 裡面的b2改B2就可以fix b2了至於fit出來有shift可能他沒收斂或是你的模型沒辦法找到更接近的解
作者: branda0423 (to believe)   2015-10-18 00:14:00
謝謝樓上!!!太感謝你了Q___Q

Links booklink

Contact Us: admin [ a t ] ucptt.com