MATLAB find coefficients for a specific equation?

I was given the equation:
Ft=A0+(A1*t)+(A2*cos(t*w0))+(B1*sin(t*w0));
w0=(2*pi/365);
I am given a vector of 900 points for t,Ft coordinates and need to find the coefficients to give me the best fit for the given equation.
How would I do that?

6 Comments

Please attach your t and Ft data in a .mat file. You might try using fitnlm() in the stats toolbox.
What do you have?
Stats toolbox? REGRESS will be sufficient, since w0 is known.
Curve fitting toolbox? FIT will suffice.
No toolbox? Backslash, or lsqr, Lots of options.
So depending on what you have there are lots of solutions. But before we can offer the best advise, we need to know what you have.
I downloaded curve fitting toolbox and tried to use it:
t=Time1-22232;
w0=(2*pi/365);
X=fittype('A0+(A1*Time)+(A2*cos(Time*w0))+(B1*sin(Time*w0))','coeff',{'A0','A1','B1','B2'});
fit(t,Thick,X)
Time, Thick are the coordinates I am given
It still didnt work.
X = fittype(@(A0,A1,A2,B1,Time) A0+(A1*Time)+(A2*cos(Time*w0))+(B1*sin(Time*w0)), 'Independent', 'Time');
And then how do you use the fit() function with that?
fit_results = fit(t(:), Thick(:), X)
You might want to add a 'Startpoint' option with an initial guess

Sign in to comment.

Answers (0)

Categories

Asked:

on 6 Mar 2018

Commented:

on 7 Mar 2018

Community Treasure Hunt

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

Start Hunting!