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

1 view (last 30 days)
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.)

Categories

Find more on Loops and Conditional Statements 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!