I have plotted the stress strain graph from the tensile experiment and now I want to find the young's modulus of elasticity,yield point and yield stress

62 views (last 30 days)
could you please help I want to write a code in such a way that we do not have to pick the points rather every time for finding the slope instead it should automatically pick the linear part of the graph and gives us the Young's Modulus of elasticity,Yield Stress and Yield Point and the offset line at 20% .I am attaching the matlab file and data also. thanks.

Answers (1)

VBBV
VBBV on 13 Nov 2022
Edited: VBBV on 14 Nov 2022
T=readmatrix('tensile1_270_23.txt');
D=T(:,1);
F=T(:,2)*1000;
B=25;
A=(12.6*4.1);
strain=(D/B)+3.1710e-05;
stress=F/A+1.78295;
[idx val] = max(stress); % max value of stress in data
Thresh = val; % chose it as threshold
[TF S] = ischange(stress,'linear','Threshold',Thresh); % extract first occurance of abrupt change in data
idx = find(TF);
E = stress(idx(1))./strain(idx(1)) % Elastic (youngs) modulus
E = 1.0111e+03
Yield_sig = stress(idx(1)) % yield stress MPa
Yield_sig = 36.4346
Offset = strain(idx(1))*0.2 % offset distance @ 20% strain
Offset = 0.0072
plot(strain,stress,'LineWidth',2)
hold on
plot(strain(1:idx(1))+Offset,stress(1:idx(1)),'r--')
grid on
x=xlabel('strain, \epsilon');
y=ylabel('stress, \sigma (MPa)');
you can try this approach

Categories

Find more on Stress and Strain 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!