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 commentaire

Stephen23
Stephen23 le 24 Mai 2018
Modifié(e) : Stephen23 le 24 Mai 2018
@matnewbie: what file format do the files use? What size are the 2D matrices?

Connectez-vous pour commenter.

Réponses (3)

Nicola Bombace
Nicola Bombace le 24 Mai 2018

0 votes

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 le 24 Mai 2018

0 votes

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

0 votes

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

Catégories

En savoir plus sur Large Files and Big Data dans Centre d'aide et File Exchange

Produits

Tags

Question posée :

le 24 Mai 2018

Rouvert :

le 25 Mai 2018

Community Treasure Hunt

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

Start Hunting!

Translated by