MATLAB: Not able to Extract DATA from Row and Column

.dat file extractionrow columns

I got the code below that is meant to extract specific signals and their corresponding data from .dat file. and output them in a table / row and column with signal name and data. however my FS_DATA is not correct what have I done wrong ? the SIGNAL 1×32 struct with 6 while the DATA is 6906×32 double.
[DATA SIGNALS] = tmsread('A359_FIB2_F817.dat');%read data and gives back DATA and SIGNALS names
FS_list= {};%empty cell to populate with Filtered FS signals
n=0;%count
for i=1:length(SIGNALS)
if strfind(upper(SIGNALS(i).Name),'FS')%filter throught the SIGNALS list and locates FS only signals
n = n+1;%count
FS_list{n} = SIGNALS(i).Name;%populates the FS signals
end
end
FS_data=cell(size(DATA,1),size(FS_list,1)); %extract the corresponding DAT for EachFSsignal
for i=1:length(FS_list)
FS_data{:,i},DATA(:,i); %creates a table/ row and column with FS signals and its DATA
end

Best Answer

A much simpler version of your code which should work in R2016b:
[data, signals] = tmsread('A359_FIB2_F817.dat');
signames = {signals.Name}; %no need for a loop for that
tokeep = contains(signames, 'FS') & ~contains(signames, 'AFS');
datatokeep = data(:, [true, tokeep]); %no need for find
writetable(array2table(datatokeep, 'VariableNames', ['xxx', signames(tokeep)]), 'output.xlsx');