How can I fit data to a sine curve?

200 Ansichten (letzte 30 Tage)
Careniena Opem
Careniena Opem am 28 Sep. 2019
Beantwortet: Star Strider am 28 Sep. 2019
Given a set of data points, how can I find the curve of best fit if I know that this will be a sine curve and nothing else?

Antworten (2)

John D'Errico
John D'Errico am 28 Sep. 2019
I'll guess the model you want is as below, but use the curve fitting toolbox.
Your model might be defined as:
ft = fittype('sin((x - shift)/xscale)*yscale','coefficients',{'shift','xscale','yscale'})
ft =
General model:
ft(shift,xscale,yscale,x) = sin((x - shift)/xscale)*yscale
Now just call fit to fit the model to your data.
mdl = fit(X,Y,ft,'startpoint',[shiftguess,xscaleguess,yscaleguess]);
Other toolboxes have similar capability, but not quite as easy to use as the CFTB. (Stats TB, optimization TB)
  1 Kommentar
Careniena Opem
Careniena Opem am 28 Sep. 2019
I do not have the curve fitting toolbox, but I do have stats and optimization.

Melden Sie sich an, um zu kommentieren.


Star Strider
Star Strider am 28 Sep. 2019
It just uses core MATLAB functions. No toolboxes needed at all.

Kategorien

Mehr zu Get Started with Curve Fitting Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by