How to plot best fit line?
597 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have 1700 plot of data in graph. How do I plot the line of best fit? I stored the x and y data in table and the plot them. From the graph, I can see that the graph plotting is upwards. I have read other answers for this kind of question but still confused. Please help. Thank you.
x = score;
y = MOS;
scatter(x,y)
xlabel('score')
ylabel('MOS')
0 commentaires
Réponse acceptée
Image Analyst
le 15 Jan 2018
Modifié(e) : Image Analyst
le 10 Fév 2021
Use polyfit() and polyval():
% Get coefficients of a line fit through the data.
coefficients = polyfit(x, y, 1);
% Create a new x axis with exactly 1000 points (or whatever you want).
xFit = linspace(min(x), max(x), 1000);
% Get the estimated yFit value for each of those 1000 new x locations.
yFit = polyval(coefficients , xFit);
% Plot everything.
plot(x, y, 'b.', 'MarkerSize', 15); % Plot training data.
hold on; % Set hold on so the next plot does not blow away the one we just drew.
plot(xFit, yFit, 'r-', 'LineWidth', 2); % Plot fitted line.
grid on;
See attached for a full demo.
4 commentaires
Plus de réponses (1)
Jos (10584)
le 15 Jan 2018
if it is just for plotting, the command lsline would do.
x = 1:10 ; y = 2* x + 3 ;
plot(x, y, 'bo') ;
lsline
1 commentaire
Voir également
Catégories
En savoir plus sur Histograms dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!