Constraining Polyfit with known coefficients

30 views (last 30 days)
Jason
Jason on 14 May 2015
Edited: Jason on 15 May 2015
Hi. I am performing a 5th order polynomial fit to some data X,Y and use the following syntax
p5=polyfit(x,y,5)
f5=polyval(p5,x);
This performs the best fit and gives me coefficient of all the x's.
How can I restrain this as I know for sure that x^2 & x^4 = 0 (so their coefficients can be set to zero) and the coefficient infront of X is 26. I then want to perform the fit, but only allow the routine to adjust X^5, & X^3 coefficients.
Thanks Jason
  1 Comment
Jason
Jason on 15 May 2015
Edited: Jason on 15 May 2015
I've done it (I think)
ft=fittype('a*x^5+b*x^3+26*x');
fitobj,~,~,~]=fit(x,y,ft) %[fitobj, goodness, output, convmsg]=fit(x,y,ft)
coeff1=fitobj.a;
coeff2=fitobj.b;
yfit=coeff1*x.^5+coeff2*x.^3+26*x; %Remember dot notation
r=y-yfit; %Calc residuals

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!