How to read only the first term on the file.

1 vue (au cours des 30 derniers jours)
Moises Belda
Moises Belda le 31 Mai 2019
Commenté : Moises Belda le 17 Juin 2019
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 commentaires
Moises Belda
Moises Belda le 31 Mai 2019
No, just only -1.781235e-01. I only need this term of all columns.
Thanks
Moises Belda
Moises Belda le 17 Juin 2019
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

Connectez-vous pour commenter.

Réponse acceptée

per isakson
per isakson le 31 Mai 2019
Modifié(e) : per isakson le 31 Mai 2019
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 commentaires
Moises Belda
Moises Belda le 2 Juin 2019
Okay. Now it's working. Thank you very much for your help
Jan
Jan le 3 Juin 2019
If it works, please select this as accepted answer.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by