OK. To respond to the question raised...
Well, that's the hard way...use
A major advantage of the above is there is no "magic number" of 39 buried in the code and you can modify the search pattern to select particular subsets of interest depending on the needs at the time.
If you really do need multiple files at one time, then you can use cell array or other storage mechanism, but often it isn't needed.
Or, of course, while it's somewhat more difficult to write, once you do, there's no issue in generating the names dynamically--
Same comments apply about whether need more than one at a time but has the "magic number" issue plus is much more to make other selections with.
Here's example of the above...
>> for i=1:3,disp(sprintf(fmt,i)),end
And, the extension to incorporate the last cyclic numeric field should be obvious in a nested loop structure if you're adamant about doing it that way instead of dir