Прежде всего, я предлагаю вам не использовать имена переменных, такие как TIME1, TIME2 и т. Д., Поскольку это быстро запутывается.Вместо этого вы можете, например, использовать массив ячеек с пятью строками (по одной на каждую лунку) и одним или двумя столбцами.В приведенном ниже примере кода wellData{2,1}
- время для второй скважины, wellData{2,2}
- соответствующая норма расхода нефти SC - в год.
Возможно, есть более элегантные способы чтения;вот что-то быстрое:
%# open the file
fid = fopen('Reportq.rwo');
%# read it into one big array, row by row
fileContents = textscan(fid,'%s','Delimiter','\n');
fileContents = fileContents{1};
fclose(fid); %# don't forget to close the file again
%# find rows containing TABLE NUMBER
wellStarts = strmatch('TABLE NUMBER',fileContents);
nWells = length(wellStarts);
%# loop through the wells and read the numeric data
wellData = cell(nWells,2);
wellStarts = [wellStarts;length(fileContents)];
for w = 1:nWells
%# read lines containing numbers
tmp = fileContents(wellStarts(w)+5:wellStarts(w+1)-1);
%# convert strings to numbers
tmp = cellfun(@str2num,tmp,'uniformOutput',false);
%# catenate array
tmp = cat(1,tmp{:});
%# assign output
wellData(w,:) = mat2cell(tmp,size(tmp,1),[1,1]);
end