Polyfit not showing a curve
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Jamie Ford
am 8 Okt. 2019
Kommentiert: Star Strider
am 8 Okt. 2019
Trying to plot a curve using polyfit. This is my code.
% store coordinates
x = [5.2 5.5 5.6 5.8];
y = [6.408 16.125 19.816 27.912];
% use polyfit to get coefficients of cubic
p = polyfit(x, y, 3);
scatter(x, y, 'black');
hold on
plot(p, 'green');
When plotted, p is jagged and looks nothing like a cubic
0 Kommentare
Akzeptierte Antwort
Thiago Henrique Gomes Lobato
am 8 Okt. 2019
polyfit only get you the coefficients, you then have to actually evaluate some values to get the curve. An easy alternative is to use the function polyval (https://de.mathworks.com/help/matlab/ref/polyval.html), which will evaluate the given polynom for the given points. The following code should give you the result you would expect:
% store coordinates
x = [5.2 5.5 5.6 5.8];
y = [6.408 16.125 19.816 27.912];
% use polyfit to get coefficients of cubic
p = polyfit(x, y, 3);
yfit = polyval(p,x); % Evaluate polynomial coefficients p in values x
scatter(x, y, 'black');
hold on
plot(x,yfit, 'green');
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!