Fit a line to data using regress
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hey all, I am trying to use a new matlab function "regress" and would like some help on how to use it to fit a line.
below is my code that I have so far, but lost on how to use the "regress" function.
x = 0:0.1:10;
n = 0;
noise = n*rand(1,length(x));
y = 2*x+1+noise;
figure(1);
plot(x,y,'d')
0 commentaires
Réponses (1)
Adam Danz
le 25 Sep 2020
Modifié(e) : Adam Danz
le 25 Sep 2020
If x and y are vectors, they must be column vectors
regress(y(:),x(:))
For alternatives, see
2 commentaires
Adam Danz
le 25 Sep 2020
Modifié(e) : Adam Danz
le 28 Sep 2020
No, b is just the slope if you've used the syntax from my answer.
If you want to plot the regression line you'll need the y-intercept term. To get the y-intercept term you need to add a column of 1s to x.
b = regress(y(:),[ones(size(x(:))),x(:)]);
b is a 2x1 vector containing the [intercept; slope];
Or, check out lsline.
Or, check out polyfit(x,y,1) along with refline.
Voir également
Catégories
En savoir plus sur Linear and Nonlinear Regression 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!