MATLAB: Individual files reading

data reading in loops

I have some daily data , files shows the details of year, month and day GSAT20090101_xyz.h5, GSAT20090102_xyz.h5 …31 , same for month 02 also.
I wanted to read only one month file from this folder e.g jan 1-31, 1-28 …
I am new in matlab, so somebody please tell how i can set for loop for this problem.

Best Answer

On a quick thought, it would be something like this:
files = dir('*.h5'); % Find the files with extension .h5 in the current directory.

month = '01'; % Month must be a string ('01' for January, '02' for February, etc.).

for ii = 1:numel(files)
nameFound = strfind(files(ii).name, ['GSAT2009' month]);
if nameFound
fid = fopen(files(ii).name);
% Do whatever you need with the files here.

fclose(fid);
end
end
EDIT
If you want to read year information separately, you can use the following, which is very similar:
files = dir('*.h5'); % Find the files with extension .h5 in the current directory.
month = '01'; % Month must be a string ('01' for January, '02' for February, etc.).
year = '2009'; % Year must be a string.
NOTE: If month or year are not strings and are numeric (double), you can use the function num2str.
for ii = 1:numel(files)
nameFound = strfind(files(ii).name, ['GSAT' year month]);
if nameFound
fid = fopen(files(ii).name);
% Do whatever you need with the files here.
fclose(fid);
end
end
Try it and let me know if it works.