Я хотел бы рассмотреть возможность извлечения, разделения и дублирования со строковым типом данных:
function profFunc
n = 1E4;
str = {'JFK_1_1.TXT';
'JFK_12_12.TXT';
'JFK_123_123.TXT'};
tic
for i = 1:n
A = cellfun(@(x) textscan(x, 'JFK_%d_%d.txt'), str,'UniformOutput', false);
A = vertcat(A{:});
A = cell2mat(A);
end
toc
tic
for i = 1:n
B = regexp(str,'JFK_(\d*)_(\d*)\.TXT','tokens');
B = [B{:}];
B = str2double(vertcat(B{:}));
end
toc
tic
for i = 1:n
C = string(str);
C = extractBetween(C,'_','.');
C = split(C,'_');
C = double(C);
end
toc
assert(isequal(A,B,C));
end
>> profFunc
Elapsed time is 1.895104 seconds.
Elapsed time is 1.655958 seconds.
Elapsed time is 0.094432 seconds.