大家好
我有个问题想请教一下版上的大神
我由模拟跑出一组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不会和我所希望的固定频率完全一样
请问我应该如何更改呢?
谢谢