Unsing string for indexing though structures

1 view (last 30 days)
Hey, I would like to create a while loop with which I can read mat files one after the other and evaluate them automatically without writing a separate program for each mat file. Loading the mat files works using the loop, but unfortunately I can't access the structures with a variable s2.
Does someone have a solution for it?
i = 108;
% A = ((0.1255)/2)^2*pi;
% ml_in_m3 = 1e-6;
while i <= 108
pfad = '...';
s = strcat(pfad,'Test3_',string(i),'.mat');
s2 = strcat('Test3_',string(i));
load(s);
figure(2)
plot(s2.X.Data,s2.Y(8).Data)
t = s2.X.Data;
y = s2.Y(8).Data;
x = 0:0.001:s2.X.Data(end);
y=interp1(t,y,x,'spline');
i = i+1;
end
%the error that occur is: Unrecognized method, property, or field 'X' for class 'string'.

Answers (1)

KSSV
KSSV on 28 Sep 2022
Edited: KSSV on 28 Sep 2022
i = 108;
% A = ((0.1255)/2)^2*pi;
% ml_in_m3 = 1e-6;
while i <= 108
pfad = '...';
s = strcat(pfad,'Test3_',string(i),'.mat');
% s2 = strcat('Test3_',string(i));
s2 = load(s); % <--changed here
figure(2)
plot(s2.X.Data,s2.Y(8).Data)
t = s2.X.Data;
y = s2.Y(8).Data;
x = 0:0.001:s2.X.Data(end);
y=interp1(t,y,x,'spline');
i = i+1;
end
  3 Comments
KSSV
KSSV on 28 Sep 2022
Do all mat files have same variable names?
Jan-Philipp Göbel
Jan-Philipp Göbel on 28 Sep 2022
yeah, only the name of the file and the values of the variables are changing

Sign in to comment.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!