How to make the line of best fit go through the origin?

36 次查看(过去 30 天)
Effectivenormalstress=[41,79,119,159,197,80];
Maximumshearstress=[34,73,97,138,173,56];
x=Effectivenormalstress;
y=Maximumshearstress;
scatter(x, y, 'rx');
xlabel('Effective normal stress');
ylabel('Shear stress');
sgtitle('Interpretation for angles of shearing resistance');
coefficients=polyfit(x, y, 1);
xFit=linspace(min(x),max(x),1000);
yFit=polyval(coefficients, xFit);
hold on;
plot(xFit,yFit,'b-' , 'LineWidth',1);
grid on;

采纳的回答

David Goodmanson
David Goodmanson 2020-4-23
编辑:David Goodmanson 2020-4-23
Hello Ash,
Effectivenormalstress=[41,79,119,159,197,80]'; % make these into column vectors
Maximumshearstress=[34,73,97,138,173,56]';
x=Effectivenormalstress;
y=Maximumshearstress;
c = x\y
xplot = 1:200;
plot(xplot,c*xplot,x,y,'o');grid on
The idea is to fit the linear relation x*c = y in the least squares sense where x and y are column vectors.
  1 个评论
Mohd Aaquib Khan
Mohd Aaquib Khan 2023-9-13
Hi David, this is very useful, thanks.
Also how can I find the goodness of fit in this fit? R value or any other goodness of fit parameter!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear and Nonlinear Regression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by