Using a for loop to read in 16 data sheets and storing one value from each data sheet in a vector - full problem explained
Show older comments
I have currently got a for loop that reads in all the data values from 16 excel spreadsheets (4 columns, 300+ rows).
I then perform a series of calculations with these data points and I want to store just one value from each - creating a (16, 1) vector where the value from the first data sheet is stored in first row, the second value calculated from the second data sheet is stored in row 2 and so on.
The value I am trying to store is mSTRESS = min(y1) for each data sheet - the max stress experienced by each sample.
The code:
datafiles = dir('Synthetic_Pancreas_Sample_*.xlsx');
figure();
axis padded;
grid on;
xlabel('Strain', 'Interpreter', 'latex', 'fontsize', 16, 'Color', 'k');
ylabel('Stress / MPa', 'Interpreter', 'latex', 'fontsize', 16, 'Color', 'k');
set(gca, 'TickLabelInterpreter', 'latex', 'fontsize', 14);
lgd = legend('fontsize', 10, 'Interpreter', 'latex', 'location', 'Southeast');
title(lgd, 'Sample Number:');
legend('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', ...
'11','12','13','14','15','16');
hold on
A_A = zeros(16,1);
for i = 1:16
A_A(i,:) = mSTRESS;
for file = datafiles'
currentfile = file.name;
RAW = readmatrix(currentfile);
t = RAW(:,1);
mm = RAW(:,2);
N = RAW(:,3);
d = RAW(:,4);
D = max(d);
r = (D/2);
Area = pi*(r^2);
h = RAW(:,5);
H = max(h);
c1 = RAW(:,6);
c1 = max(c1);
c2 = RAW(:,7);
c2 = max(c2);
c3 = RAW(:,8);
c3 = max(c3);
Stress = N./Area;
Strain = mm./H;
I = [0, 0];
XY = [I; Stress Strain];
X = any(XY(:,2)<-0.5,2);
XY(X,:) = [];
STRESS = XY(:,1);
STRAIN = XY(:,2);
STRESS(isnan(STRESS(:))) = [];
STRAIN(isnan(STRAIN(:))) = [];
%plot(STRAIN(1:50:end), STRESS(1:50:end),'color',[c1 c2 c3],'LineWidth',1.5);
p = polyfit(STRAIN,STRESS,4);
x1 = -0.5:0.025:0;
y1 = polyval(p,x1);
plot(x1,y1,'color',[c1 c2 c3],'LineWidth',1.5);
%plot(D, H, '*','color',[c1 c2 c3],'LineWidth',1.5);
mSTRESS = min(y1);
end
Accepted Answer
More Answers (0)
Categories
Find more on Data Import from MATLAB 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!