Одна из возможностей - прочитать последний столбец как строку, а затем преобразовать ее в числа.
fid = fopen('file.dat','r');
C = textscan(fid, '%f %f %f %f %s', ...
'Delimiter',' ', 'MultipleDelimsAsOne',true, 'CollectOutput',true);
fclose(fid);
C = [num2cell(C{1}) cellfun(@str2num, C{2}, 'UniformOutput',false)]
Полученный массив ячеек:
C =
[1] [-4436.7] [415.18] [-3019.7] [1x6 double]
[2] [-4366.5] [ 1354] [-3085.1] [1x4 double]
с:
>> C{1,end}
ans =
1 3 4 5 21 23
>> C{2,end}
ans =
1 3 4 23