How to find the intersection of linear regression model and yline
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Joy
am 12 Jun. 2024
Beantwortet: Star Strider
am 12 Jun. 2024
Say I have a table with the following values:
T(:,1) = [0 1 2 3 4 5]
T(:,2) = [0 1 2 3 4 5]
I want to be able to predict values so I fit a simple linear regression model to it. I also want to extract the X value for when the lin reg model intersects a value Y = 4.3. Is there a way to find the coordinates of this intersection?
0 Kommentare
Akzeptierte Antwort
Star Strider
am 12 Jun. 2024
T(:,1) = [0 1 2 3 4 5].';
T(:,2) = [0 1 2 3 4 5].';
x = T(:,1);
y = T(:,2);
p = polyfit(x, y, 1)
f = polyval(p, x);
ylv = 4.3;
xv = interp1(f, x, ylv)
figure
plot(x, y, '.', 'DisplayName','Data')
hold on
plot(x, f, '-r', 'DisplayName','Regression')
plot(xv, ylv, 'ms', 'DisplayName','Intersection Of ‘yline’')
hold off
yline(ylv, '--k', 'DisplayName','yline')
xlabel('x')
ylabel('y')
legend('Location','best')
.
0 Kommentare
Weitere Antworten (1)
John D'Errico
am 12 Jun. 2024
Pretty boring data.
T(:,1) = [0 1 2 3 4 5];
T(:,2) = [0 1 2 3 4 5];
P = polyfit(T(:,1),T(:,2),1)
a = P(1)
b = P(2)
They are the coefficients of the linear polynomial model. The model is of the form:
Y = a*X + b
So if you want to solve for x, given y, just use algebra.
Y0 = 4.3
X0 = (Y0 - b)/a
Since your data was so simple, the line is just the 45 degree line, with X == Y here.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation 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!