simple regression analysis issue

3 次查看(过去 30 天)
I am trying to get a simple regression analysis to work, using the \ operator, following the example in this page: https://www.mathworks.com/help/matlab/data_analysis/linear-regression.html
Somehow my regression coefficient is not coming up correct, it has an opposite slope and the value is off. Can someone help me figure out what I'm doing wrong?
Ultimately, I hope to run a loop and find the regression coeffecients between a column vector and a large number of other column vectors pulled from an array, but I need to first pass this simple test...
y = [-38.34; -42.48; -52.71; -49.72];
x = [69.482; 60.645; 37.093; 42.889];
b1 = x\y;
yreg = b1*x;
scatter(x,y)
hold on
plot(x,yreg)

采纳的回答

the cyclist
the cyclist 2022-9-16
编辑:the cyclist 2022-9-16
The method you used does not include an intercept, so your fit is forced to go through the origin. Try this instead (which is also on that documentation page).
y = [-38.34; -42.48; -52.71; -49.72];
x = [69.482; 60.645; 37.093; 42.889];
X = [ones(size(x)), x];
b1 = X\y;
yreg = X*b1;
scatter(x,y)
hold on
plot(x,yreg)
  1 个评论
Coleman Hiett
Coleman Hiett 2022-9-16
duhh! thanks for your help. I knew it would be something obvious that I wan't seeing...

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by