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 件のコメント

Stephen23
Stephen23 2018 年 5 月 24 日
編集済み: Stephen23 2018 年 5 月 24 日
@matnewbie: what file format do the files use? What size are the 2D matrices?

サインインしてコメントする。

回答 (3 件)

Nicola Bombace
Nicola Bombace 2018 年 5 月 24 日

0 投票

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 2018 年 5 月 24 日

0 投票

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

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

製品

タグ

質問済み:

2018 年 5 月 24 日

再開済み:

2018 年 5 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by