calculate slope from linear fit data

135 vues (au cours des 30 derniers jours)
Namira
Namira le 11 Août 2018
I have this code to linear fit data
x = 1:10;
y1 = [1 5 7 8 9 15 16 12 18 20];
scatter(x,y1,'b','*')
P = polyfit(x,y1,1);
slope = P(1)
intercept = P(2)
yfit = P(1)*x+P(2); % P(1) is the slope and P(2) is the intercept
hold on;
plot(x,yfit,'r-.')
And the figure I got from code is attached here
The intercept from figure should be 2.2. But I get the value from code is 0.5.
I didn't understand why the values are different? The code seems correct to me. Any suggestion from anyone?

Réponse acceptée

Ameer Hamza
Ameer Hamza le 11 Août 2018
Modifié(e) : Ameer Hamza le 11 Août 2018
The intercept is indeed 0.5. Intercept is the value on y-axis when x=0. Whereas you 2.2 is the value when x=1.

Plus de réponses (1)

Edward Vivanco
Edward Vivanco le 10 Nov 2019
Error in 1st line: x = 1:10
Fix: x = 0:10

Catégories

En savoir plus sur Fit Postprocessing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by