How to read only the first term on the file.

1 次查看(过去 30 天)
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