How to create a best fit line here?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I was trying to make a best-fit line with the data that I have, but for some reason the polyfit command doesn't seem to give me the right answer for it. Does anyone know how to fix it? Thank you.
thickness = 0.8; % the units are in mm
width = 12.7;
area = thickness*width;
load = xlsread('homework1.xlsx','A9:A42');
strain = xlsread('homework1.xlsx','B9:B42');
trueStress1 = (load.*(1+strain))./area; % true stress calculation
trueStrain1 = log(strain + 1); % true strain calculation
x = log(trueStrain1);
y = log(trueStress1);
p = polyfit(x,y,1); % bestfit the line between points
f = polyval(p,x);
figure;
plot(x,y,'o');
hold on
plot(x,f,'-');
title('True Stress vs. True Strain');
xlabel('Log \epsilon');
ylabel('Log \sigma');
legend('data','linear fit','location','northwest')
0 commentaires
Réponse acceptée
Chad Greene
le 10 Fév 2021
It looks like the first x value is -Inf. Try eliminating that point from the polynomial fit, like this:
p = polyfit(x(2:end),y(2:end),1); % bestfit the line between points
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Stress and Strain dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!