威布尔模型与乙型水驱曲线的联解法开发课程设计报告(5)

2019-02-17 10:35

yfw(i) = Round(100 * (1 - 10 ^ (-(aa + ab * ynp(i) + Log(2.303 * ab) / Log(10)))), 2) If yfw(i) < 0 Then yfw(i) = 0 Next i mn = 50

Rem 表格输出

MSFlexGrid1.ColWidth(0) = 1000 '表格行宽 MSFlexGrid1.ColWidth(1) = 1200 MSFlexGrid1.ColWidth(2) = 1200 MSFlexGrid1.ColWidth(3) = 1200 MSFlexGrid1.ColWidth(4) = 1200 MSFlexGrid1.ColWidth(5) = 1200 MSFlexGrid1.ColWidth(6) = 1200

MSFlexGrid1.Rows = 201 MSFlexGrid1.Cols = 7

MSFlexGrid1.Width = MSFlexGrid1.ColWidth(1) * MSFlexGrid1.Cols + MSFlexGrid1.Cols * 12 'MSFlexGrid1.Height = MSFlexGrid1.RowHeight(1) * MSFlexGrid1.Rows + MSFlexGrid1.Rows * 12 MSFlexGrid1.TextMatrix(0, 0) = \时间/a\MSFlexGrid1.TextMatrix(0, 1) = \实际产量\MSFlexGrid1.TextMatrix(0, 2) = \预测产量\MSFlexGrid1.TextMatrix(0, 3) = \实际累计产量\MSFlexGrid1.TextMatrix(0, 4) = \预测累计产量\MSFlexGrid1.TextMatrix(0, 5) = \实际含水率%\MSFlexGrid1.TextMatrix(0, 6) = \预测含水率%\For i = 0 To mn

MSFlexGrid1.TextMatrix(i + 1, 0) = Format(t(i), \MSFlexGrid1.TextMatrix(i + 1, 1) = Format(q0(i), \MSFlexGrid1.TextMatrix(i + 1, 2) = Format(yq0(i), \MSFlexGrid1.TextMatrix(i + 1, 3) = Format(np(i), \MSFlexGrid1.TextMatrix(i + 1, 4) = Format(ynp(i), \MSFlexGrid1.TextMatrix(i + 1, 5) = Format(fw(i), \MSFlexGrid1.TextMatrix(i + 1, 6) = Format(yfw(i), \

18

Next i

'横纵坐标

With MSChart1 .ColumnCount = 2

.Plot.SeriesCollection(1).Pen.Width = 15

.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True .Plot.Axis(VtChAxisIdY).ValueScale.Auto = True .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6 .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6 .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0

.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted MSChart1.Plot.AutoLayout = False MSChart1.Plot.UniformAxis = False

MSChart1.chartType = VtChChartType2dXY '二维坐标 .Column = 1 End With

With MSChart2 .ColumnCount = 2

.Plot.SeriesCollection(1).Pen.Width = 15

.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True .Plot.Axis(VtChAxisIdY).ValueScale.Auto = True .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6 .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6

19

.Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0

.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted MSChart1.Plot.AutoLayout = False MSChart1.Plot.UniformAxis = False MSChart1.chartType = VtChChartType2dXY .Column = 1 End With

With MSChart3 .ColumnCount = 2

.Plot.SeriesCollection(1).Pen.Width = 15

.Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True .Plot.Axis(VtChAxisIdY).ValueScale.Auto = True .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0 .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6 .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6 .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0

.Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted MSChart1.Plot.AutoLayout = False MSChart1.Plot.UniformAxis = False MSChart1.chartType = VtChChartType2dXY .Column = 1 End With End Sub

Private Sub c2_Click()

MSFlexGrid1.Visible = True '输出数据在表格内 Rem 曲线绘制 Rem 数据输出 End Sub

20

Private Sub c3_Click() '文件输出

Open App.Path + \

Print #2, \年份\时间\预测产量\预测累计产量\预测含水率\For i = 0 To yt

Print #2, ye(0) + i, i + 1, yq0(i), ynp(i), yfw(i) Next i Close #2 Print End Sub

Private Sub c4_Click() End End Sub

Private Sub d1_Click()

'理论产油量Qo与时间t的关系曲线绘制 MSChart1.Visible = True ReDim px(yt), py(yt), s(yt, 3) 'st = yt / 500 For i = 1 To mn px(i) = i

py(i) = aa1 * (px(i) ^ bb1) * (e ^ (-px(i) ^ (bb1 + 1) / cc1)) '理论产油量Qo公式

'实际散点 s(i, 0) = px(i) s(i, 1) = q0(i)

'预测曲线 s(i, 2) = px(i) s(i, 3) = py(i) Next i '散点

Dim Index As Integer

Index = 1 '设置图标类型为非自动选择,这样可以设置为自己需要的类型 MSChart1.Plot.SeriesCollection(Index).ShowLine = False '去除连线!!

21

MSChart1.Plot.SeriesCollection.Item(Index).SeriesMarker.Auto = False With MSChart1.Plot.SeriesCollection.Item(Index).DataPoints.Item(-1).Marker .Visible = True '散点的点是否可见 .Size = 120 '散点的大小

.Style = VtMarkerStyleFilledDiamond '选择菱形的 .FillColor.Automatic = False '颜色不自动填充 .FillColor.Set 400, 15, 400 '设置为紫红色

.Pen.VtColor.Set 400, 15, 400 '同样这个也必须设置,否则中间有默认的颜色

End With '横纵坐标表示 With Form1.MSChart1

.Plot.Axis(VtChAxisIdX, 0).AxisTitle = \ .Plot.Axis(VtChAxisIdY, 0).AxisTitle = \

.Title.Text = \与t关系曲线\End With

MSChart1.ChartData = s '显示图形 End Sub

Private Sub d2_Click()

'累积产油量Np与时间t的关系曲线 MSChart2.Visible = True ReDim px(yt), py(yt), s(yt, 3) 'st = yt / 500 For i = 1 To mn px(i) = i

py(i) = aa1 * cc1 * (1 - (e ^ (-px(i) ^ (bb1 + 1) / cc1))) / (bb1 + 1)

'实际散点 s(i, 0) = px(i) s(i, 1) = np(i)

'预测曲线

22

'累计产油量Np公式


威布尔模型与乙型水驱曲线的联解法开发课程设计报告(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《市场调研》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: