[讨论] 有关已知频率的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