MATLAB: How to make the line of best fit go through the origin

line of best fitline of best fit through originscatter plot

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;

Best Answer

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.