Fitting a fourth order polynomial

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

 Risposta accettata

Matt J
Matt J il 31 Mar 2022
Modificato: Matt J il 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 Commenti

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 il 31 Mar 2022
Modificato: Torsten il 31 Mar 2022
lb = [-Inf ,0, 0, 0, -Inf];
Matt forgot one "0".

Accedi per commentare.

Più risposte (0)

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by