How to read only the first term on the file.

1 Ansicht (letzte 30 Tage)
Moises Belda
Moises Belda am 31 Mai 2019
Kommentiert: Moises Belda am 17 Jun. 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 Kommentare
Moises Belda
Moises Belda am 31 Mai 2019
No, just only -1.781235e-01. I only need this term of all columns.
Thanks
Moises Belda
Moises Belda am 17 Jun. 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

per isakson
per isakson am 31 Mai 2019
Bearbeitet: per isakson am 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 Kommentare
Moises Belda
Moises Belda am 2 Jun. 2019
Okay. Now it's working. Thank you very much for your help
Jan
Jan am 3 Jun. 2019
If it works, please select this as accepted answer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Import and Export finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by