Creating a polynomial fit expression using just the order number

55 Ansichten (letzte 30 Tage)
Jason
Jason am 18 Nov. 2025 um 21:26
Bearbeitet: dpb am 20 Nov. 2025 um 16:37

Hello. Im performing a fit to data using e.g a 3rd order polynomial and the expresion below. For cases when i want e.g a 4th or 5th order fit, rather than use a switch / case approach is there a way to construct the expression below simply by passing in n the polynomial order?

a123 = [x.^3, x.^2, x]\y;

Akzeptierte Antwort

dpb
dpb am 18 Nov. 2025 um 21:38
Bearbeitet: dpb am 18 Nov. 2025 um 21:57
c=x.^[n:-1:1]\y;
I presume leaving off the intercept is intentional? Otherwise, there's polyfit
  5 Kommentare
dpb
dpb am 19 Nov. 2025 um 21:22
With a 7th order polynomial, are you forcing it through a set of points, maybe? Would a spline be an alternative?
Torsten
Torsten am 19 Nov. 2025 um 23:53
Bearbeitet: dpb am 20 Nov. 2025 um 16:37
xtr=x-x0;
% acoeffs=[xtr.^5,xtr.^4,xtr.^3,xtr.^2,xtr]\(y-y0) %acoeffs=[xtr.^7,xtr.^6,xtr.^5,xtr.^4,xtr.^3,xtr.^2,xtr]\(y-y0)
acoeffs=[xtr.^7,xtr.^6,xtr.^5,xtr.^4,xtr.^3,xtr.^2,xtr]\(y-y0);
will give you a polynomial that passes through (x0,y0), but will have a constant term - thus will no longer be of the form you used earlier.
Thus the property of passing through (x0,y0) is payed by losing the property of passing through (0,0).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Produkte


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by