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.