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 Comment

Stephen23
Stephen23 on 24 May 2018
Edited: Stephen23 on 24 May 2018
@matnewbie: what file format do the files use? What size are the 2D matrices?

Sign in to comment.

Answers (3)

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
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

Categories

Products

Tags

Asked:

on 24 May 2018

Reopened:

on 25 May 2018

Community Treasure Hunt

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

Start Hunting!