Sine curve fit to data with an unknown dc offset

4 visualizzazioni (ultimi 30 giorni)
Hi. Apologies if this has been answered before, but I'd like to know if there's any way of fitting a sine curve to a sinusoidal function with unknown frequency and unknown DC offset? The function I'm trying to fit to is a standing wave and is most likely sinusoidal, but is less than half a period long.
Thanks in advance for the help.

Risposta accettata

John D'Errico
John D'Errico il 10 Lug 2019
Of course it is possible. Use the curve fitting toolbox.
ft = fittype('a + b*sin((x - c)/d)','indep','x');
mdl = fit(X(:),Y(:),ft,'startpoint',[1, 0.001, 1200, 1000])
I just picked off some very rough starting values from the plot.
Here, a is the DC offset. b is the amplitude of the wave, c is the shift in X, d/(2*pi) is the length of the period. You can transform that to give you frequency.

Più risposte (0)

Categorie

Scopri di più su Linear and Nonlinear Regression in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by