Borrar filtros
Borrar filtros

How to read a text file line by line?

1.042 visualizaciones (últimos 30 días)
Jetson Ronald
Jetson Ronald el 9 de Abr. de 2013
Comentada: MANISH R el 28 de Sept. de 2022
Hello
I have a complicated text file,it runs row by row, first clumn is time and the next colum is corresponding acceleration, similarily it has 5 coulns of time and fivi colums of correcpoding acceleration, e.g. is givin below. How can I read this file using a matlab script?
0000 .0495 .0042 .0386 .0085 .0263 .0127 .0262 .0169 .0153
.0211 -.0079 .0254 -.0080 .0296 -.0312 .0338 -.0312 .0380 -.0545
.0423 -.0545 .0465 -.0763 .0507 -.0764 .0549 -.0996 .0592 -.0996
.0634 -.1229
Thank You
Jetson
  1 comentario
Walter Roberson
Walter Roberson el 9 de Abr. de 2013
The last line appears to have only one time/acceleration pair. Should that be treated specially? Or do you just want to matrix will times in one column and corresponding accelerations in the other?

Iniciar sesión para comentar.

Respuestas (3)

Image Analyst
Image Analyst el 9 de Abr. de 2013
Editada: Image Analyst el 9 de Abr. de 2013
Use fgetl(). From the help:
Examples
Read and display the file fgetl.m one line at a time:
fid = fopen('fgetl.m');
tline = fgetl(fid);
while ischar(tline)
disp(tline)
tline = fgetl(fid);
end
fclose(fid);
You might also want to look at the dlmread() function.

Ahmed A. Selman
Ahmed A. Selman el 18 de Abr. de 2013
Try selecting one dimension a time for each line, e.g.,
...
time=fscanf(fID,'%g',[1 1:2:inf]);
acce=fscanf(fID,'%g',[1 2:2:inf]);
...
  2 comentarios
Walter Roberson
Walter Roberson el 18 de Abr. de 2013
If you read with inf as a size, then you are going to read to end of file, in which case the second fscanf() is not going to have any file to read from.
The size argument of fscanf() can be a scalar or a vector of length 2, but it cannot be a vector with more than 2 element such as [1 1:2:inf]
Jan
Jan el 18 de Abr. de 2013
@Ahmed: Did you try the code? What do you expect as result of 1:2:inf? It must be a vector with infinite length, which must be stored in an infinitely large memory.
In addition, like Walter has explained already, fscanf reads the file sequentially, such that the idea of importing the variables one after the other does not match the was Matlab works.

Iniciar sesión para comentar.


Ugur CAN KOR
Ugur CAN KOR el 14 de En. de 2018
How can I read this file? matlab code?
  10 comentarios
MANISH R
MANISH R el 28 de Sept. de 2022
@Image Analyst Sorry about that reply.
MANISH R
MANISH R el 28 de Sept. de 2022
@Vipul Kumar Thanks.

Iniciar sesión para comentar.

Categorías

Más información sobre Large Files and Big Data en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by