Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
Damith
Damith il 17 Giu 2014
Commentato: dpb il 17 Giu 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.

Risposte (1)

dpb
dpb il 17 Giu 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 Commenti
Damith
Damith il 17 Giu 2014
Yes. Thanks for your guidance though.
dpb
dpb il 17 Giu 2014
You're welcome...my intent is generally aimed to "teach to fish" as well as get a solution...

Accedi per commentare.

Categorie

Scopri di più su File Operations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by