fourier curve fitting tool box

3 views (last 30 days)
the answer was :
>> fittedmodel
fittedmodel =
General model Fourier7:
fittedmodel(x) =
a0 + a1*cos(x*w) + b1*sin(x*w) +
a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) +
a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +
a6*cos(6*x*w) + b6*sin(6*x*w) + a7*cos(7*x*w) + b7*sin(7*x*w)
Coefficients (with 95% confidence bounds):
a0 = 1.913e+09 (-3.73e+10, 4.113e+10)
a1 = 0 (-3.648e+10, 3.648e+10)
b1 = -9.029e+09 (-1.196e+11, 1.015e+11)
a2 = -6.146e+09 (-5.674e+10, 4.445e+10)
b2 = 9.712e+09 (-1.149e+11, 1.343e+11)
a3 = 7.322e+09 (-6.562e+10, 8.026e+10)
b3 = -4.598e+09 (-7.131e+10, 6.211e+10)
a4 = -4.212e+09 (-4.974e+10, 4.132e+10)
b4 = 6.232e+08 (-1.539e+10, 1.663e+10)
a5 = 1.318e+09 (-1.401e+10, 1.665e+10)
b5 = 3.42e+08 (-7.882e+08, 1.472e+09)
a6 = -2.065e+08 (-2.861e+09, 2.448e+09)
b6 = -1.563e+08 (-1.367e+09, 1.054e+09)
a7 = 1.136e+07 (-1.651e+08, 1.878e+08)
b7 = 1.927e+07 (-1.601e+08, 1.987e+08)
w = 2.088e-05 (3.112e-06, 3.865e-05)
what is right things about Coefficients(ex (-3.732+10,4.113e+10) (-3.648e+10, 3.648e+10) ....)

Accepted Answer

Walter Roberson
Walter Roberson on 15 Feb 2019
Edited: Walter Roberson on 15 Feb 2019
when coefficients cross 0 that much, the fitting is having trouble choosing between at least two different configurations. For example if you were fitting a symmetric bimodal distribution then it might not be able to make a decision .
Sometimes in cases like that one of the configurations might be much better than the other but the valley of attraction might be relatively narrow and it might not find it.
What you might need to do is supply starting points for the fitting or else use bounds constraints .
  2 Comments
ghim jisung
ghim jisung on 15 Feb 2019
how can i use this fitted expression?
i can't use this expression about other program.. i want analytic function..
i tried to delete right things, but the curve incorrected with data..
Walter Roberson
Walter Roberson on 15 Feb 2019
coeffvalues(fittedmodel) will return the coefficients in numeric form, coeffnames(fittedmodel) would return the coefficient names, formula(fittedmodel) will give you a copy of the formula. You could substituted the values into the formula, which is made easier if you have the symbolic toolbox.
However, the coefficients you are getting out have a 90% error margin and so cannot be counted on. You need to do more work on the fitting to find better values.
Can you attach your data as a .mat file ?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!