How to read a text file line by line?

954 ビュー (過去 30 日間)
Jetson Ronald
Jetson Ronald 2013 年 4 月 9 日
コメント済み: MANISH R 2022 年 9 月 28 日
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 件のコメント
Walter Roberson
Walter Roberson 2013 年 4 月 9 日
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?

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

回答 (3 件)

Image Analyst
Image Analyst 2013 年 4 月 9 日
編集済み: Image Analyst 2013 年 4 月 9 日
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.
  1 件のコメント
Timothy Mathias
Timothy Mathias 2019 年 7 月 22 日
Update for Matlab R2019a
Use readmatrix() instead of dlmread()

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


Ahmed A. Selman
Ahmed A. Selman 2013 年 4 月 18 日
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 件のコメント
Walter Roberson
Walter Roberson 2013 年 4 月 18 日
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 2013 年 4 月 18 日
@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.

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


Ugur CAN KOR
Ugur CAN KOR 2018 年 1 月 14 日
How can I read this file? matlab code?
  10 件のコメント
MANISH R
MANISH R 2022 年 9 月 28 日
@Image Analyst Sorry about that reply.
MANISH R
MANISH R 2022 年 9 月 28 日
@Vipul Kumar Thanks.

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

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by