How do I print the filenames with for and assign them to another variable?

1 view (last 30 days)
studentmatlaber
studentmatlaber on 22 Apr 2021
Commented: Rena Berman on 6 May 2021
I have 10 .mat files. "data1.mat", "data2.mat", "data2.mat" ... I want to store these files in an array named "file" by throwing them into a for loop. I wrote a code like this for him.
for i = 1:10
file = sprintf ('data% d.mat', i);
if exist (file) == 2
end
end
however, it writes the file "data10.mat" to the file. I want files starting from 1 to 10 to be uploaded to the "file" file. How can I do it?

Answers (1)

Walter Roberson
Walter Roberson on 22 Apr 2021
for i = 1:10
file = sprintf ('data%d.mat', i)
if exist (file) == 2
fprintf('file "%s" exists with type 2\n', file);
else
fprintf('file "%s" does not exist with type 2\n', file)
end
end
file = 'data1.mat'
file "data1.mat" exists with type 2
file = 'data2.mat'
file "data2.mat" does not exist with type 2
file = 'data3.mat'
file "data3.mat" does not exist with type 2
file = 'data4.mat'
file "data4.mat" does not exist with type 2
file = 'data5.mat'
file "data5.mat" does not exist with type 2
file = 'data6.mat'
file "data6.mat" does not exist with type 2
file = 'data7.mat'
file "data7.mat" does not exist with type 2
file = 'data8.mat'
file "data8.mat" does not exist with type 2
file = 'data9.mat'
file "data9.mat" does not exist with type 2
file = 'data10.mat'
file "data10.mat" does not exist with type 2
(It happens that data1.mat exists in one of the Sym Biology examples.)

Community Treasure Hunt

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

Start Hunting!