Given a set of date point x and y, estimate three polynomial functions (2nd degree, 3rd degree, 4th degree) that will best fit the data.

7 Ansichten (letzte 30 Tage)
Given a set of date point x and y, estimate three polynomial functions (2nd degree, 3rd degree, 4th degree) that will best fit the data. Compute new set of y data from the three functions and determine which of the three functions will give the least norm difference.
This is what I've came up with, but still not sure if it really satisfy the problem.
x=[0.9 1.5 3 4 6 8 9.5];
y=[0.9 1.5 2.5 5.1 4.5 4.9 6.3];
p=polyfit(x,y,3)
xp=0.9:0.1:9.5;
yp=polyval(p,xp);
plot(x,y,'o',xp,yp)
xlabel('x'); ylabel('y')

Antworten (1)

Walter Roberson
Walter Roberson am 27 Nov. 2021
The question is expecting you to also polyfit with degree 2 and 4, and to polyval with those, and to compute the norm() of the projected values against the actual values, and then to see whether degree 2, degree 3, or degree 4 gave the best fit.
  2 Kommentare
John Doe
John Doe am 27 Nov. 2021
Bearbeitet: John Doe am 27 Nov. 2021
Is it like this?
x = [0.9 1.5 3 4 6 8 9.5];
y = [0.9 1.5 2.5 5.1 4.5 4.9 6.3];
p = polyfit(x,y,2);
l = polyfit(x,y,3);
t = polyfit(x,y,4);
xp = 0.9:0.1:9.5;
yp1 = polyval(p,xp);
yp2 = polyval(l,xp);
yp3 = polyval(t,xp);
xlabel('x');
ylabel('y');
plot(x,y,'o',xp,yp1,yp2,yp3)
Walter Roberson
Walter Roberson am 27 Nov. 2021
x = [0.9 1.5 3 4 6 8 9.5];
y = [0.9 1.5 2.5 5.1 4.5 4.9 6.3];
p = polyfit(x,y,2);
l = polyfit(x,y,3);
t = polyfit(x,y,4);
xp = 0.9:0.1:9.5;
yp1 = polyval(p,xp);
yp2 = polyval(l,xp);
yp3 = polyval(t,xp);
xlabel('x');
ylabel('y');
plot(x,y,'o',xp,yp1,xp,yp2,xp,yp3)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Polynomials finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by