大家好
我有個問題想請教一下版上的大神
我由模擬跑出一組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不會和我所希望的固定頻率完全一樣
請問我應該如何更改呢?
謝謝