Fitting a fourth order polynomial

15 views (last 30 days)
Hell everybody, i am trying to fit my data. The theory says that it should be a fourth order polynomial (a * x^4 + c). I used the command fitobject = fit(x,y, 'poly4'), but obviously this does not work, because it gives me a function of the form (ax^4 + bx^3 + c^x^2 + dx + e). I also tried the command fit = polyfit(x,y,4); but this seems to produce the same outcome. So I am a little lost how to do such a fit in matlab.
Thank you for you help in advance!
Best regards!
Christopher

Accepted Answer

Matt J
Matt J on 31 Mar 2022
Edited: Matt J on 31 Mar 2022
You can use bounds to force the unwanted coefficients to zero.
lb=[-inf,0,0,0,-inf];
fitobject = fit(x,y, 'poly4','Lower',lb,'Upper',-lb);
  2 Comments
Christopher Peter Wutti
Christopher Peter Wutti on 31 Mar 2022
Hello, thank you very much for the answers, this is wonderful, now I get a polynomial of the form a x^4 + bx + c, so is there a way to also fix the 'b' to 0 ?
Torsten
Torsten on 31 Mar 2022
Edited: Torsten on 31 Mar 2022
lb = [-Inf ,0, 0, 0, -Inf];
Matt forgot one "0".

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with Curve Fitting Toolbox 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!