Is the 8th term maximum in the curve fitting toolbox and command line?

1 view (last 30 days)
It seems to apply up to 9th term with a simple command line input.
From 'sin10', it is recognized as 3D. is there any other way?
I hope for your answer. thank you.
F = fix(x,y,'sin9')
plot(F,x,y)

Answers (2)

Matt J
Matt J on 23 May 2022
You will probably have to use a custom model, or else resort to lsqcurvefit().
  4 Comments
재열 김
재열 김 on 23 May 2022
Thank you for answer. I'd like to get a startpoint that is optimized equal to the sum of sine model.
However, the startpoint for a custom nonlinear model is arbitrary.
Of course I can input the coefficients directly, but I can't find the appropriate coefficient values.
So I want to know how to get an optimized startpoint.
thanks!
Matt J
Matt J on 23 May 2022
Edited: Matt J on 23 May 2022
For a startpoint, perhaps do a non-custom 'sin8' fit to estimate the first 24 parameters. Subtract the sin8 fit from the measured curve samples to obtain a a modified set of curve samples to which you would do a non-custom 'sin2' fit to estimate the remaining parameters.
F=fit(x,y,'sin8');
dy=y-F(x);
dF=fit(x,dy,'sin2');
startpoint=[coeffvalues(F),coeffvalues(dF)]; %startpoint for custom sin10 fit

Sign in to comment.


Matt J
Matt J on 23 May 2022
Perhaps just do an FFT decomposition and select the 10 strongest frequencies.

Community Treasure Hunt

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

Start Hunting!