read a text file or not read it

Hi I have a lot of text files.
%
file1.txt
file2.txt.
.
.
.
.
file100
i read this files with this function:
%
for k=1:100
fid=fopen(['file_' num2str(k) '.txt']);
if fid == -1, error('Cannot open file'),end
result{k,1}=textscan(fid,'%f %f %f %f %f');
fclose(fid)
end
i want to scip reading file50.txt and file69.txt. How could i do this with matlab. tell hem not to read these both files? Thank you

 Accepted Answer

Or if you do not want to hard code it:
result = cell(1, 100);
index = 0;
for k=1:100
fid = fopen(['file_' num2str(k) '.txt']);
if fid ~= -1
result{index, 1} = textscan(fid,'%f %f %f %f %f');
fclose(fid)
end
end
result = result(1:index); % Crop empty cells

More Answers (1)

José-Luis
José-Luis on 7 Nov 2012
Edited: José-Luis on 7 Nov 2012
idx = 1:100;
idx([50 69]) = []; %You could also use an if statement inside the loop, but this might be more efficient
for k=idx
fid=fopen(['file_' num2str(k) '.txt']);
if fid == -1, error('Cannot open file'),end
result{k,1}=textscan(fid,'%f %f %f %f %f');
fclose(fid)
end

Asked:

on 7 Nov 2012

Community Treasure Hunt

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

Start Hunting!