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 comentario

Stephen23
Stephen23 el 24 de Mayo de 2018
Editada: Stephen23 el 24 de Mayo de 2018
@matnewbie: what file format do the files use? What size are the 2D matrices?

Iniciar sesión para comentar.

Respuestas (3)

Nicola Bombace
Nicola Bombace el 24 de Mayo de 2018

0 votos

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
Aditya Adhikary
Aditya Adhikary el 24 de Mayo de 2018

0 votos

for i = 1:128
x = sprintf('7528_00%03d.txt',i);
%load your file using x
end
Stephen23
Stephen23 el 24 de Mayo de 2018

0 votos

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

Categorías

Más información sobre Large Files and Big Data en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 24 de Mayo de 2018

Abierta de nuevo:

el 25 de Mayo de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by