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

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

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

질문:

2018년 3월 6일

댓글:

2018년 3월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by