How to read only the first term on the file.

조회 수: 1 (최근 30일)
Moises Belda
Moises Belda 2019년 5월 31일
댓글: Moises Belda 2019년 6월 17일
Hi, I would know if someone can help me with this. In the file I have, I only need to read te first term of the second column, I mean, the total_x number. Anyone know how can I do that?
Thanks
  댓글 수: 7
Moises Belda
Moises Belda 2019년 5월 31일
No, just only -1.781235e-01. I only need this term of all columns.
Thanks
Moises Belda
Moises Belda 2019년 6월 17일
I again,
Could you help me once more, please. In the previous question I needed the first term of the first row, but instead of that now I need the third term, how could I obtain them? I am a bit lost with all the %f and %s...
Thank you

댓글을 달려면 로그인하십시오.

채택된 답변

per isakson
per isakson 2019년 5월 31일
편집: per isakson 2019년 5월 31일
Try this
%%
ffs = 'h:\m\cssm\force.dat'; % change to your folder
fid = fopen( ffs, 'r' );
cac = textscan( fid, '%*f%s%*s%*s', 1, 'Headerlines',4, 'Delimiter','\t' );
fclose( fid );
total_x = sscanf( cac{1}{1}, '(%f %*f %*f)' );
and display the value
>> total_x
total_x =
-0.17812
In response to comment
Try this instead
%%
ffs = 'h:\m\cssm\force.dat'; % change to your folder
fid = fopen( ffs, 'r' );
cac = textscan( fid, '%*f%s%*s%*s', inf, 'Headerlines',4, 'Delimiter','\t' );
fclose( fid );
total_x = cellfun( @(chr) sscanf(chr,'(%f %*f %*f)'), cac{1} );
and check the result
>> whos total_x
Name Size Bytes Class Attributes
total_x 190978x1 1527824 double
  댓글 수: 7
Moises Belda
Moises Belda 2019년 6월 2일
Okay. Now it's working. Thank you very much for your help
Jan
Jan 2019년 6월 3일
If it works, please select this as accepted answer.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Low-Level File I/O에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by