MATLAB find coefficients for a specific equation?
Show older comments
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
Image Analyst
on 6 Mar 2018
Please attach your t and Ft data in a .mat file. You might try using fitnlm() in the stats toolbox.
John D'Errico
on 6 Mar 2018
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.
Michelle Babak
on 6 Mar 2018
Edited: Walter Roberson
on 7 Mar 2018
Walter Roberson
on 7 Mar 2018
X = fittype(@(A0,A1,A2,B1,Time) A0+(A1*Time)+(A2*cos(Time*w0))+(B1*sin(Time*w0)), 'Independent', 'Time');
Michelle Babak
on 7 Mar 2018
Walter Roberson
on 7 Mar 2018
fit_results = fit(t(:), Thick(:), X)
You might want to add a 'Startpoint' option with an initial guess
Answers (0)
Categories
Find more on Linear and Nonlinear Regression in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!