From 2D data to a 3D matrix

I have a folder with 2D data stored in 128 files (from number 001 to number 128), whose name has this general form:
7528_00###.txt
where ### represents numbers from 001 to 128. I want to load these data in a 3D matrix in MATLAB, because this is a more manageable data structure. What is the best approach to achieve this task?

1 Commento

Stephen23
Stephen23 il 24 Mag 2018
Modificato: Stephen23 il 24 Mag 2018
@matnewbie: what file format do the files use? What size are the 2D matrices?

Accedi per commentare.

Risposte (3)

Nicola Bombace
Nicola Bombace il 24 Mag 2018
Based on your comment, you could obtain the filename using a for loop and the function sprintf.
nFiles = 128;
for n = 1 : nFiles
filename = sprintf('%s%03d','7528_00',n);
% Process File
end
for i = 1:128
x = sprintf('7528_00%03d.txt',i);
%load your file using x
end
Stephen23
Stephen23 il 24 Mag 2018
S = dir('7528_00*.txt');
N = numel(S);
A = nan(128,128,N);
for k = 1:N
S(k).name
A(:,:,k) = ... load your data file
end

Categorie

Prodotti

Tag

Richiesto:

il 24 Mag 2018

Riaperto:

il 25 Mag 2018

Community Treasure Hunt

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

Start Hunting!

Translated by