calculate slope from linear fit data

66 Ansichten (letzte 30 Tage)
Namira
Namira am 11 Aug. 2018
Beantwortet: Edward Vivanco am 10 Nov. 2019
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?

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 11 Aug. 2018
Bearbeitet: Ameer Hamza am 11 Aug. 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.

Weitere Antworten (1)

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

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by