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公式
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库威布尔模型与乙型水驱曲线的联解法开发课程设计报告(5)在线全文阅读。
相关推荐: