взгляните на textscan
У вас есть какой-либо контроль над форматом текстового файла?
EDIT
вот довольно хакерский способ достижения результата
function readtest()
fid = fopen('test.txt');
%skip 3 lines, save 4th, skip 5th
for i = 1:4
names = fgetl(fid);
end
fgetl(fid);
% separate out names
names = textscan(names,'%s','delimiter','|');
% read the data
data = textscan(fid,'%s %s %d %s %s %d %d %f %f %f %[| ]','delimiter','|');
fclose(fid);
for i = 1:size(data,2)-1
values = ( data{i}(1:end));
if(iscell(values))
values = cell2mat(values);
end
name = names{1}{i+1};
% very basic error checking
if(~strcmp(name, ''))
%save the value in the calling work space
assignin('caller', name, values)
end
end