以下に示すように、水の平均飽和度 (%) のデータを読み取りたいとします。このデータは大きなファイルの一部ですが、平均水飽和度 (%) は指定された形式でのみ繰り返されます。
Average Pressure
Total Pore Volume psia 3884.9
HC. Pore Volume psia 3884.9
Average P/Z
Total Pore Volume psia 4457.8
HC. Pore Volume psia 4457.8
Average Saturation %
Oil 84.911
Gas .08873
Water 15.000
Percentage Recovery
Stock Tank Oil .02211
STO as a % of Mobile Oil .02891
Total Gas .02034
Water 62e-12
readline.m関数を使ってやろうとしたのですが、残念ながら平均含水率(%)データの位置が行番号で固定されていません。異なるモデルの同様の種類の出力ファイルでは、行番号が変わります。
これは私がやろうとしていたことです:
%# Reading Water Saturation (Sw) data from output (.OUT) file of reservoir model
Sw_LineNo=[554,968,1120,1272,1424,1576,1728,1880,2032,2184,2336,2488,2640,2792,2944,3096,3248,3400,3552,3704,3856]; % This column vector contains the line numbers of the .out file with Sw values for year 1 till 20
for i=1:size(Sw_LineNo,2)
read_value=readline('ReservoirModel_ExplorWell_CMGBuilder.out',Sw_LineNo(i)); % read_value stores values in form of string
Swav_Data_E_W(i,j)=str2num(read_value(33:38)); % converts the required portion of string (Sw value) to number
end
ここで、モデル ( ReservoirModel_ExplorWell_CMGBuilder.out
) が変更されると、テキスト ファイル内の水の平均飽和度 (%) がある行番号も変更されます。したがってSw_LineNo
、モデルごとに変化し、多数のモデルがあります。
水データのすべての平均飽和度 (%) を読み取る正しい方法を提案してください。