How to create a best fit line here?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Chad Greene
2021년 2월 10일
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
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Stress and Strain에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!