How to find the intersection of linear regression model and yline
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Star Strider
2024-6-12
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 个评论
更多回答(1 个)
John D'Errico
2024-6-12
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!