Multiple text file read i Matlab

5 views (last 30 days)
I want matlab to read multiple text file. The matlab code to read the single text file and specific line is attached. How to read multiple text from the folder?
fid=fopen('E:\ReliabilityAll\alpha\sub1.txt');
StartLine=3;
for k=1:StartLine-1
fgetl(fid); % read and dump
end
Fline=fgetl(fid); % this is the 3rd line
%do stuff
fclose(fid)

Accepted Answer

madhan ravi
madhan ravi on 10 Jul 2020
Edited: madhan ravi on 10 Jul 2020
for l = 1:8
fid=fopen(sprintf('E:\\ReliabilityAll\\alpha\\sub%d.txt',l));
StartLine=3;
for k=1:StartLine-1
fgetl(fid); % read and dump
end
Fline=fgetl(fid); % this is the 3rd line
%do stuff
fclose(fid)
end
  8 Comments
madhan ravi
madhan ravi on 10 Jul 2020
I suggest you to read sir Walter’s comment as well.
Khan Muhammad Adeel Khan
Khan Muhammad Adeel Khan on 10 Jul 2020
Thanks Sir for the feedback and answers from you both really save my time and energy @Walter Roberson. Could you please suggest me a good platform to learn the coding in Matlab in an effective way or suggest any online open source? I woud be grateful

Sign in to comment.

More Answers (1)

Robert
Robert on 10 Jul 2020
Edited: Robert on 10 Jul 2020
You might also use a direct loop on the result of using the 'dir' command, if the '*' placeholder is sufficient for your search. Take care to use the transpose operator ' on the result of dir, because you need a row vector of results to for-loop.
sDir = 'C:\Users\Khan\Documents\MATLAB';
for sctFile = dir(fullfile(sDir, 'sub*.txt'))'
fh = fopen(fullfile(sDir, sctFile.name));
% here goes your code
% ...
fclose(fh);
end
Or just dir on the directory, and filter the file names within the loop..

Community Treasure Hunt

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

Start Hunting!