How to make the line of best fit go through the origin?
    21 views (last 30 days)
  
       Show older comments
    
    Ash Maxwell
 on 23 Apr 2020
  
    
    
    
    
    Commented: Mohd Aaquib Khan
 on 13 Sep 2023
            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;
0 Comments
Accepted Answer
  David Goodmanson
      
      
 on 23 Apr 2020
        
      Edited: David Goodmanson
      
      
 on 23 Apr 2020
  
      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 Comment
  Mohd Aaquib Khan
 on 13 Sep 2023
				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!
More Answers (0)
See Also
Categories
				Find more on Surface and Mesh Plots in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

