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

2 visualizaciones (últimos 30 días)
Damith
Damith el 17 de Jun. de 2014
Comentada: dpb el 17 de Jun. de 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.

Respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by