Effacer les filtres
Effacer les filtres

read from multiple text file and store in a 3D array

2 vues (au cours des 30 derniers jours)
Damith
Damith le 17 Juin 2014
Commenté : dpb le 17 Juin 2014
Hi,
I have 378 text files (0001.txt, 0002.txt, ....0378.txt). I can read each text file using the following code by chaning the file name each time and it works fine. But I want to read all text files using a for loop/using a code and store in a 3D array. I need to store in a 3D array is Eleven1,....upto Eleven378.
Can somebody suggest me a way to do in matlab?
filename = '0001.txt';
delimiterIn = ' ';
headerlinesIn = 1;
Eleven_ST1 = importdata(filename,delimiterIn,headerlinesIn);
% View data
for k = [1:4]
head=(Eleven_ST1.textdata{1});
Eleven1=(Eleven_ST1.data(:, k));
Eleven1_YYRR=([Eleven_ST1.data(:,1) Eleven_ST1.data(:,4)]);
end
Thanks in advance.

Réponses (1)

dpb
dpb le 17 Juin 2014
See the FAQ
I strongly recommend the dir solution.
If the data in each file are 2D, then preallocate the number of planes based on the result of dir (instead of hardcoding in 378 to make the script more generally useful) and then store in the plane as
data(:,:,ix)=[file_data1 file_data2];
where ix will be the loop over 1:length(d) and
d=dir('*.txt'); % the files to process directory structure
  6 commentaires
Damith
Damith le 17 Juin 2014
Yes. Thanks for your guidance though.
dpb
dpb le 17 Juin 2014
You're welcome...my intent is generally aimed to "teach to fish" as well as get a solution...

Connectez-vous pour commenter.

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by