MATLAB: How to read only the first term on the file.

.dat

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

Best Answer

  • 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