MATLAB: Converting txt file into title and array

fscanftext filetextscan

I am trying to load a txt file that looks like this:
Time (s)
0
1.5
1.6
2
2.5
3.5
4
and I want to save the first line as a string to be used for the xlabel on a plot, and the n lines of numbers afterwards I would like to save as an array.
I tried to use something like this and it did not work:
xL = fscanf(fid,'%s');
fgetl(fid); %first line of txt file is the data label I am going to use for the plot xlabel
for n = 1:dataLength % dataLength = 7 here
data(n) = fscanf(fid,'%f');
fgetl(fid);
end
The problem was the xL variable was then defined as 'Time (s)01.51.622.53.54' . It basically did not just grab one line for some reason.

Best Answer

Try this
%%
fid = fopen( 'cssm.txt', 'rt' );
xL = fgetl( fid ); % read the first line
data = fscanf( fid, '%f' ); % read numerical data until end of file
[~] = fclose( fid );
%%
xL
data
where cssm.txt contains your data sample
Related Question