MATLAB: Workaround on curvefit limitation

curve fittingfourier

Hello,
Is there any workaround to fit a function using the fit command without the limitation of 8 coefficients (considering the sum of sines or Fourier, specifically)?
Examples: model = fit(x,y,’sin10’) or model2 = (x,y,’fourier11’).
Thanks in advance.

Best Answer

The built-in library of fits only contains sum of sines and Fourier fits up to sin8 and fourier8. If appropriate you could write your own custom fit using the fittype function, but keep in mind the advice from Jeff Goldblum's character in Jurassic Park: "Your scientists were so preoccupied with whether they could that they didn’t stop to think if they should."
Don't fit a sum of 30 sine functions (for example) just because you can, ask yourself if fitting a sum of 30 sine functions is a reasonable thing to do based on the problem you're trying to solve.
Related Question