版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì)</p><p> 2013年7月19日</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 課程 石油工程課程設(shè)計(jì)</p><p> 題目 瑞利(Rayleigh)模型的
2、應(yīng)用</p><p> 主要內(nèi)容、基本要求、主要參考資料等</p><p><b> 主要內(nèi)容:</b></p><p><b> 推導(dǎo)瑞利預(yù)測(cè)模型;</b></p><p> 根據(jù)油氣田實(shí)際生產(chǎn)數(shù)據(jù),進(jìn)行線性回歸,求得直線的截距和斜率;</p><p> 根據(jù)相關(guān)
3、公式,確定瑞利模型常數(shù)a和c;</p><p><b> 計(jì)算油田年產(chǎn)油量;</b></p><p> 計(jì)算油田累積產(chǎn)油量;</p><p><b> 計(jì)算可采儲(chǔ)量;</b></p><p> 計(jì)算最高年產(chǎn)量發(fā)生的時(shí)間;</p><p><b> 計(jì)算最高
4、年產(chǎn)量;</b></p><p> 計(jì)算油田達(dá)到最高產(chǎn)量時(shí)的累積產(chǎn)量;</p><p> 繪制油田實(shí)際年產(chǎn)量與預(yù)測(cè)產(chǎn)量對(duì)比曲線;</p><p> 繪制油田實(shí)際累積產(chǎn)量與預(yù)測(cè)累積產(chǎn)量對(duì)比曲線。</p><p><b> 基本要求:</b></p><p><b>
5、基礎(chǔ)數(shù)據(jù):</b></p><p> 某油田或區(qū)塊的開發(fā)數(shù)據(jù)。</p><p><b> 2)設(shè)計(jì)要求</b></p><p> 該專題設(shè)計(jì)最終要求是,學(xué)生通過自選上述基礎(chǔ)數(shù)據(jù),利用所學(xué)知識(shí)完成規(guī)定設(shè)計(jì)內(nèi)容,編制相應(yīng)軟件,并提交規(guī)范設(shè)計(jì)報(bào)告。</p><p><b> 主要參考資料</
6、b></p><p> 陳元千 油藏工程實(shí)踐[M].石油工業(yè)出版社.</p><p> 完成期限 2013年7月1日~2013年7月19日 </p><p> 指導(dǎo)教師 王立軍 </p><p> 專業(yè)負(fù)責(zé)人 王立軍 </p><p
7、> 2013年7 月 19日</p><p><b> 目 錄</b></p><p><b> 1 前 言3</b></p><p> 1.1 設(shè)計(jì)的目的意義3</p><p> 1.2 設(shè)計(jì)的主要內(nèi)容3</p><p><b> 2
8、 基礎(chǔ)數(shù)據(jù)4</b></p><p><b> 3 基礎(chǔ)理論5</b></p><p> 3.1瑞利(Rayleigh)模型的應(yīng)用模型的建立5</p><p> 3.2模型的求解方法7</p><p><b> 4 設(shè)計(jì)結(jié)果8</b></p><p
9、><b> 認(rèn)識(shí)與結(jié)論12</b></p><p><b> 參考文獻(xiàn)13</b></p><p><b> 附 錄14</b></p><p><b> 1 前 言</b></p><p> 1.1 設(shè)計(jì)的目的意義</p&g
10、t;<p> 本課題的目的是讓學(xué)生通過自選一組數(shù)據(jù),利用所學(xué)專業(yè)知識(shí)在指導(dǎo)教師的指導(dǎo)下獨(dú)立完成對(duì)某一油田或區(qū)塊開發(fā)指標(biāo)的預(yù)測(cè)。本課題要求學(xué)生對(duì)瑞利(Rayleigh)模型的關(guān)系式進(jìn)行推導(dǎo),其結(jié)果包括,對(duì)油氣田的年產(chǎn)量、累積產(chǎn)量、可采儲(chǔ)量、最高年產(chǎn)量、最高年產(chǎn)量發(fā)生的時(shí)間的預(yù)測(cè)方法。從而將理論知識(shí)和實(shí)際問題相結(jié)合,通過該專題設(shè)計(jì)的訓(xùn)練,加強(qiáng)學(xué)生理論知識(shí)運(yùn)用能力,計(jì)算機(jī)技術(shù)應(yīng)用能力及解決實(shí)際問題的工程應(yīng)用能力。</p&
11、gt;<p> 1.2 設(shè)計(jì)的主要內(nèi)容</p><p> 根據(jù)已有的基礎(chǔ)數(shù)據(jù),利用所學(xué)的專業(yè)知識(shí),在指導(dǎo)教師指導(dǎo)下獨(dú)立完成并提交一個(gè)油田或一個(gè)區(qū)塊油田開發(fā)指標(biāo)預(yù)測(cè)結(jié)果,設(shè)計(jì)主要內(nèi)容如下:</p><p><b> 推導(dǎo)瑞利預(yù)測(cè)模型;</b></p><p> 根據(jù)油氣田實(shí)際生產(chǎn)數(shù)據(jù),進(jìn)行線性回歸,求得直線的截距和斜率;&l
12、t;/p><p> 根據(jù)相關(guān)公式,確定瑞利模型常數(shù)a和c;</p><p><b> 計(jì)算油田年產(chǎn)油量;</b></p><p> 計(jì)算油田累積產(chǎn)油量;</p><p><b> 計(jì)算可采儲(chǔ)量;</b></p><p> 計(jì)算最高年產(chǎn)量發(fā)生的時(shí)間;</p>
13、<p><b> 計(jì)算最高年產(chǎn)量;</b></p><p> 計(jì)算油田達(dá)到最高產(chǎn)量時(shí)的累積產(chǎn)量;</p><p> 繪制油田實(shí)際年產(chǎn)量與預(yù)測(cè)產(chǎn)量對(duì)比曲線;</p><p> 繪制油田實(shí)際累積產(chǎn)量與預(yù)測(cè)累積產(chǎn)量對(duì)比曲線。</p><p><b> 2 基礎(chǔ)數(shù)據(jù)</b></
14、p><p> 中國華北地區(qū)的任丘霧迷山古潛山油田于1975年7月被發(fā)現(xiàn),1976年投產(chǎn)。其油藏類型為塊狀底水潛山,孔、洞、縫發(fā)育,儲(chǔ)層位于震旦系,以白云巖為主。油藏埋藏深度為2588~3510m,含油面積為56.9km2,油層有效厚度為272.0m.,有效孔隙度為6%,空氣滲透率為106×10-3μm2。原始地層壓力為32.6MPa,原始飽和壓力為1.3MPa,原始?xì)庥捅葹?.4m3/t,地面原油密度為0
15、.889g/cm3,地層油粘度為8.20mPa·s。開始上報(bào)的原油地質(zhì)儲(chǔ)量為53038×104t,可采儲(chǔ)量為11760×104t。油藏采用邊緣底部的注水方式。1990年底綜合含水率為82%。該油田的開發(fā)數(shù)據(jù)列于下表。</p><p> 表2-1 開發(fā)數(shù)據(jù)表</p><p><b> 3 基礎(chǔ)理論</b></p><
16、;p> 瑞利(Rayleigh)模型能夠很好地預(yù)測(cè)對(duì)油氣田的年產(chǎn)量、累積產(chǎn)量、可采儲(chǔ)量、最高年產(chǎn)量、最高年產(chǎn)量發(fā)生的時(shí)間,以及最高年產(chǎn)量對(duì)應(yīng)的累計(jì)產(chǎn)量。</p><p> 3.1瑞利(Rayleigh)模型的應(yīng)用模型的建立</p><p> 在數(shù)理統(tǒng)計(jì)中瑞利分布的分布密度表示為:</p><p><b> (3-1)</b><
17、;/p><p> 式中 f(x)——瑞利分布的分布密度函數(shù);</p><p> x——分布變量,其值大于等于0;</p><p> μ——控制分布峰值的參數(shù)。</p><p> 由式(3-l)表示的瑞利分布,在x從0到∞區(qū)間內(nèi)的累積分布(或分布函數(shù))等于1,因此可以得到關(guān)系式如下</p><p><b>
18、; ?。?-2)</b></p><p> 對(duì)于油氣田來說,開發(fā)時(shí)間從0到∞之間的累計(jì)產(chǎn)量可視為油氣田的可采儲(chǔ)量,可表示為</p><p><b> (3-3) </b></p><p> 式中:NR為油氣田的可采儲(chǔ)量,104t(油),108m3(氣);NP(t)為累積產(chǎn)量,104t(油),108m3(氣);Q年產(chǎn)量,104t
19、/a(油),108m3/a(氣);t為開發(fā)時(shí)間,a。</p><p> 將式(3-3)等號(hào)兩端同除以NR得</p><p><b> ?。?-4)</b></p><p> 由式(3-2)與式(3-4)對(duì)比可以看出,,因此,若將式(3-1)轉(zhuǎn)換為預(yù)測(cè)油氣田產(chǎn)量分布的模型時(shí),需將該式的右端乘以可采儲(chǔ)量。該可采儲(chǔ)量可視為,將數(shù)理統(tǒng)計(jì)中的理論分布
20、轉(zhuǎn)為預(yù)測(cè)模型的轉(zhuǎn)換常數(shù)。由此,式(3-1)可寫為</p><p><b> ?。?-5)</b></p><p><b> 設(shè),則;又設(shè)和得</b></p><p><b> ?。?-6)</b></p><p><b> 再作如下設(shè)定</b><
21、/p><p><b> ?。?-7)</b></p><p> 則得到預(yù)測(cè)油氣田產(chǎn)量的模型為</p><p><b> ?。?-8)</b></p><p> 油氣田的累積產(chǎn)量表示為</p><p><b> ?。?-9)</b></p>
22、<p> 將式(3-8)代入式(3-9)進(jìn)行積分得</p><p><b> ?。?-10)</b></p><p> 再講式(3-7)代入式(3-10),得到預(yù)測(cè)油氣田累積產(chǎn)量的模型為</p><p><b> (3-11)</b></p><p> 對(duì)式(3-8)兩邊取導(dǎo)數(shù),整
23、理得</p><p><b> (3-12)</b></p><p><b> 當(dāng)時(shí),必然有</b></p><p><b> ?。?-13)</b></p><p> 由式(3-13)可以得到最高年產(chǎn)量發(fā)生的時(shí)間為</p><p><b&g
24、t; ?。?-14)</b></p><p> 式中:為最高年產(chǎn)量發(fā)生的時(shí)間,a</p><p> 將式(3-14)代入式(3-8)的得到預(yù)測(cè)油氣田最高年產(chǎn)量的公式為</p><p><b> (3-15)</b></p><p> 式中:為最高年產(chǎn)量,104t/a(油),108m3/a(氣)。<
25、;/p><p> 再將式(3-14)代入式(3-11)得到預(yù)測(cè)最高年產(chǎn)量對(duì)應(yīng)的累積產(chǎn)量為</p><p><b> ?。?-16)</b></p><p> 式中:為最高年產(chǎn)量對(duì)應(yīng)的累積產(chǎn)量,104t/a(油),108m3/a(氣)。</p><p> 將式(3-7)代入式(3-16)得</p><
26、p><b> ?。?-17)</b></p><p> 已知,因此式(3-17)又可寫為</p><p><b> ?。?-18)</b></p><p> 由式(3-18)可以看出,對(duì)于瑞利模型來說,當(dāng)可采儲(chǔ)量的40%時(shí),油田進(jìn)入遞減期。</p><p> 3.2模型的求解方法<
27、/p><p> 由上述推導(dǎo)的結(jié)果可以看出,要想利用瑞利模型進(jìn)行各項(xiàng)預(yù)測(cè),就必須首先確定模型常數(shù)a和c的數(shù)值。為此,將式(3-18)等號(hào)兩端先除以t再取常用對(duì)數(shù),得</p><p><b> ?。?-19)</b></p><p><b> 若設(shè):</b></p><p><b> ?。?-
28、20)</b></p><p><b> ?。?-21)</b></p><p><b> 則得:</b></p><p><b> ?。?-22)</b></p><p> 由式(3-22)看出,Q/t與之間具有半對(duì)數(shù)直線關(guān)系。當(dāng)根據(jù)油氣田的實(shí)際生產(chǎn)數(shù)據(jù),由式
29、(3-22)進(jìn)行線性回歸之后,可以求得直線的截距和斜率的數(shù)值,并由式(3-22)和式(21)確定模型常數(shù)a和c的數(shù)值。 </p><p><b> 4 設(shè)計(jì)結(jié)果</b></p><p> 處理表1中的數(shù)據(jù)得到和相應(yīng)的,按照(3-22)式的直線關(guān)系繪于圖4-1,得到了一條很好的直線。經(jīng)線性回歸求得直線的截距α=2.5816;直線的斜率β=0.007528;直線的
30、相關(guān)系數(shù)r=0.9945。將α和β的數(shù)值分別代入式(3-20)和式(3-21)求得a為387.59,c為57.76。</p><p> 圖4-1 該油田與的半對(duì)數(shù)關(guān)系</p><p> 將a和c的數(shù)值代入式(3-7)得到該油田的可采儲(chǔ)量為11020×104t;</p><p> 將c的值代入式(3-14)得到最高年產(chǎn)量發(fā)生的時(shí)間為5.3692a;&l
31、t;/p><p> 將a和c的數(shù)值代入式(3-15)得到該油田的最高年產(chǎn)量為1242.8×104t;</p><p> 將該油田可采儲(chǔ)量的數(shù)值代入式(3-18)得到該當(dāng)油田年產(chǎn)量達(dá)到最高年產(chǎn)量時(shí)的累積產(chǎn)量為4401.14×104t。</p><p> 將a和c的數(shù)值代入式(3-8)得,預(yù)測(cè)該油田年產(chǎn)量的公式為</p><p&
32、gt;<b> ?。?-23)</b></p><p> 將a和c的數(shù)值代入式(3-10)得到預(yù)測(cè)該油田累積產(chǎn)量的公式為</p><p><b> ?。?-24)</b></p><p> 由式(3-23)和式(3-24)預(yù)測(cè)該油田的產(chǎn)量和累積產(chǎn)量如表4-1</p><p> 表4-1 開發(fā)數(shù)
33、據(jù)表</p><p> 根據(jù)表4-1中數(shù)據(jù),在同一坐標(biāo)系中繪制實(shí)際產(chǎn)量與預(yù)測(cè)產(chǎn)量及其對(duì)應(yīng)時(shí)間t之間的關(guān)系曲線,繪于圖4-2。</p><p> 圖4-2 實(shí)際與預(yù)測(cè)產(chǎn)量隨時(shí)間變化曲線</p><p> 在同一坐標(biāo)系中繪制實(shí)際累計(jì)產(chǎn)量與預(yù)測(cè)累計(jì)產(chǎn)量及其對(duì)應(yīng)時(shí)間t之間的關(guān)系曲線,繪于圖4-3。</p><p> 圖4-3 實(shí)際與預(yù)測(cè)累計(jì)產(chǎn)
34、量隨時(shí)間變化曲線</p><p><b> 認(rèn)識(shí)與結(jié)論</b></p><p> 通過本次課程設(shè)計(jì),得出如下認(rèn)識(shí)與結(jié)論:</p><p> ?。?)通過此次課程設(shè)計(jì),基本掌握了瑞利(Rayleigh)模型的應(yīng)用方法,并能初步對(duì)油田進(jìn)行預(yù)測(cè)分析。</p><p> ?。?)能熟練掌握、運(yùn)用瑞利(Rayleigh)模型原
35、理、推導(dǎo)及公式,可以對(duì)油氣田的年產(chǎn)量、累計(jì)產(chǎn)量、可采儲(chǔ)量、最高年產(chǎn)量、最高年產(chǎn)量發(fā)生的時(shí)間以及與最高年產(chǎn)量對(duì)應(yīng)的累積產(chǎn)量進(jìn)行預(yù)測(cè)。</p><p> (3)通過計(jì)算機(jī)的編程學(xué)習(xí)與操作,使我對(duì)VB語言有了更進(jìn)一步的認(rèn)識(shí)和了解。同時(shí),提高了使用計(jì)算機(jī)技應(yīng)用的能力以及解決實(shí)際問題的工程應(yīng)用能力,使理論與實(shí)踐相結(jié)合。</p><p> ?。?)這次課程設(shè)計(jì),使我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)的重要性與實(shí)踐操作
36、的必要性,在老師的指導(dǎo)下和與同學(xué)的討論中,不斷地發(fā)現(xiàn)問題、不斷地解決問題、不斷地領(lǐng)悟、不斷地獲取,使自己的程序不斷完善。</p><p> (5)通過這次的課程設(shè)計(jì),培養(yǎng)了我獨(dú)立思考和動(dòng)手操作的能力,也使我在日常的學(xué)習(xí)與討論當(dāng)中增長了許多課外知識(shí),認(rèn)識(shí)到數(shù)學(xué)模型對(duì)油氣田的產(chǎn)量預(yù)測(cè)的重要性。雖然在課程設(shè)計(jì)的過程中遇到了一些問題,但經(jīng)過反復(fù)的思考與檢查找出原因所在并進(jìn)行改正。</p><p>
37、;<b> 參考文獻(xiàn)</b></p><p> [1]陳元千. 瑞利模型的完善推導(dǎo)與應(yīng)用[J]. 油氣地質(zhì)與采收率,2004,11(4):39-41.</p><p> [2]陳元千 油藏工程實(shí)踐[M].石油工業(yè)出版社,2003</p><p><b> 附 錄 </b></p><p>
38、<b> 程 序</b></p><p> Private Sub Command2_Click()</p><p> Dim a() As String</p><p> Dim b() As String</p><p> Dim c() As String</p><p> Di
39、m d() As String</p><p> Dim i As Integer</p><p><b> i = 1</b></p><p> Open "d:\aa.txt" For Input As #1</p><p> On Error GoTo h</p><
40、p> Do While Not EOF(1)</p><p> ReDim Preserve a(i)</p><p> ReDim Preserve b(i)</p><p> ReDim Preserve c(i)</p><p> ReDim Preserve d(i)</p><p> Inp
41、ut #1, a(i), b(i), c(i), d(i)</p><p><b> i = i + 1</b></p><p><b> Loop</b></p><p><b> h:</b></p><p><b> Close #1</b>
42、</p><p> With MSFlexGrid1</p><p> .Rows = UBound(a)</p><p> For i = 1 To UBound(a)</p><p> MSFlexGrid1.TextMatrix(i - 1, 0) = a(i)</p><p> MSFlexGrid1
43、.TextMatrix(i - 1, 1) = b(i)</p><p> MSFlexGrid1.TextMatrix(i - 1, 2) = c(i)</p><p> MSFlexGrid1.TextMatrix(i - 1, 3) = d(i)</p><p><b> Next i</b></p><p>
44、;<b> End With</b></p><p><b> End Sub</b></p><p> Private Sub Command1_Click()</p><p> Open "d:\aa.txt" For Output As #1</p><p> W
45、ith MSFlexGrid1</p><p><b> k = .Rows</b></p><p> For i = 0 To k - 1</p><p> strTemp = ""</p><p> For j = 0 To .Cols - 1</p><p>&l
46、t;b> DoEvents</b></p><p> strTemp = strTemp & .TextMatrix(i, j) & ","</p><p><b> Next j</b></p><p> Print #1, Left(strTemp, Len(strTemp) -
47、 1)</p><p><b> Next i</b></p><p><b> End With</b></p><p><b> Close #1</b></p><p><b> End Sub</b></p><p>
48、; Private Sub Command3_Click()</p><p> Dim a() As String</p><p> Dim b() As String</p><p> Dim c() As String</p><p> Dim d() As String</p><p> Dim e(
49、) As String</p><p> Dim f() As String</p><p> Dim i As Integer</p><p><b> i = 1</b></p><p> Open "d:\aa.txt" For Input As #1</p><p&
50、gt; On Error GoTo h</p><p> Do While Not EOF(1)</p><p> ReDim Preserve a(i)</p><p> ReDim Preserve b(i)</p><p> ReDim Preserve c(i)</p><p> ReDim Pre
51、serve d(i)</p><p> Input #1, a(i), b(i), c(i), d(i)</p><p><b> i = i + 1</b></p><p><b> Loop</b></p><p><b> h:</b></p>&l
52、t;p><b> Close #1</b></p><p> n = UBound(a)</p><p> ReDim e(1 To n) As String</p><p> ReDim f(1 To n) As String</p><p> For i = 2 To UBound(a)</p&
53、gt;<p> e(i) = Str(Log(Val(c(i)) / Val(b(i))) / Log(Val(10)))</p><p> f(i) = Str(Val(b(i)) ^ 2)</p><p><b> Next i</b></p><p> With MSFlexGrid3</p><
54、p> MSFlexGrid3.TextMatrix(0, 0) = "年份"</p><p> MSFlexGrid3.TextMatrix(0, 1) = "LogQ/t"</p><p> MSFlexGrid3.TextMatrix(0, 2) = "t2"</p><p> .Rows
55、 = UBound(a)</p><p> For i = 2 To UBound(a)</p><p> MSFlexGrid3.TextMatrix(i - 1, 0) = a(i)</p><p> MSFlexGrid3.TextMatrix(i - 1, 1) = e(i)</p><p> MSFlexGrid3.Text
56、Matrix(i - 1, 2) = f(i)</p><p><b> Next i</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p> Private Sub Command4_Click(
57、)</p><p> k = 10 ^ Val(Text2.Text)</p><p> l = 1 / (2.303 * Val(Text3.Text))</p><p> Dim a() As String</p><p> Dim b() As String</p><p> Dim c() As St
58、ring</p><p> Dim d() As String</p><p> Dim g() As Single</p><p> Dim i As Integer</p><p><b> i = 1</b></p><p> Open "d:\aa.txt"
59、For Input As #1</p><p> On Error GoTo h</p><p> Do While Not EOF(1)</p><p> ReDim Preserve a(i)</p><p> ReDim Preserve b(i)</p><p> ReDim Preserve c(i
60、)</p><p> ReDim Preserve d(i)</p><p> Input #1, a(i), b(i), c(i), d(i)</p><p><b> i = i + 1</b></p><p><b> Loop</b></p><p><
61、b> h:</b></p><p><b> Close #1</b></p><p> n = UBound(a)</p><p> ReDim g(2 To n + 2) As Single</p><p> For i = 2 To n</p><p> g(i
62、) = k * Val(b(i)) * Exp(-(Val(b(i)) ^ 2 / l))</p><p><b> Next i</b></p><p> With MSFlexGrid4</p><p> .Rows = UBound(a)</p><p> For i = 0 To n - 2</p&
63、gt;<p> MSFlexGrid4.TextMatrix(i + 1, 4) = g(i + 2)</p><p><b> Next i</b></p><p><b> End With</b></p><p> ReDim MyData(n - 2, 3) As Double</p&g
64、t;<p> '-----x軸坐標(biāo)值-----Y軸坐標(biāo)值----------</p><p> For i = 0 To 15</p><p> MyData(i, 2) = b(i + 2): MyData(i, 3) = g(i + 2) '本句代表了:第一點(diǎn)數(shù)據(jù)的X軸坐標(biāo),Y軸坐標(biāo)</p><p><b> Ne
65、xt i</b></p><p> For i = 0 To 15</p><p> MyData(i, 0) = b(i + 2): MyData(i, 1) = c(i + 2)</p><p><b> Next i</b></p><p><b> '波形圖外觀設(shè)置</
66、b></p><p> With MSChart3</p><p> .TitleText = "實(shí)際與預(yù)測(cè)年產(chǎn)量隨時(shí)間變化曲線"</p><p> ' '設(shè)置圖線的外觀</p><p> .Plot.SeriesCollection(1).Pen.Width = 30</p>
67、<p> .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid</p><p><b> ' '設(shè)置XY軸</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False</p><p> .Plot
68、.Axis(VtChAxisIdY).ValueScale.Auto = False</p><p><b> '// 設(shè)置最大值</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 18</p><p> .Plot.Axis(VtChAxisIdY).ValueS
69、cale.Maximum = 2000</p><p><b> '// 設(shè)置最小值</b></p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0</p&g
70、t;<p><b> '//</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 12 'X軸主要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 10 'Y軸主要網(wǎng)格數(shù)
71、量</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxi
72、sIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p> .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p> MSChart3.Plot.AutoLayout = False</p><p> MSCha
73、rt3.Plot.UniformAxis = False</p><p> MSChart3.chartType = VtChChartType2dXY '設(shè)置圖形為二維散點(diǎn)圖</p><p> MSChart3.ChartData = MyData '數(shù)據(jù)</p><p> Dim Index As Integer</p>&l
74、t;p> Index = 1 '設(shè)置圖標(biāo)類型為非自動(dòng)選擇,這樣可以設(shè)置為自己需要的類型</p><p> MSChart3.Plot.SeriesCollection(Index).ShowLine = False '去除連線</p><p> MSChart3.Plot.SeriesCollection.Item(Index).SeriesMarker.Aut
75、o = False</p><p> With MSChart3.Plot.SeriesCollection.Item(Index).DataPoints.Item(-1).Marker</p><p> .Visible = True '散點(diǎn)的點(diǎn)是否可見</p><p> .Size = 80 '散點(diǎn)的大小</p>&l
76、t;p> .Style = VtMarkerStyleFilledDiamond '選擇菱形的</p><p> .FillColor.Automatic = False '顏色不自動(dòng)填充</p><p> .FillColor.Set 400, 40, 400 '設(shè)置為黑色</p><p> .Pen.VtColor.Set
77、255, 40, 400 '同樣這個(gè)也必須設(shè)置,否則中間有默認(rèn)的顏色</p><p><b> End With</b></p><p><b> End With</b></p><p><b> End Sub</b></p><p> Private Su
78、b Command5_Click()</p><p> k = 10 ^ Val(Text2.Text)</p><p> l = 1 / (2.303 * Val(Text3.Text))</p><p> Dim a() As String</p><p> Dim b() As String</p><p&g
79、t; Dim c() As String</p><p> Dim d() As String</p><p> Dim h() As Single</p><p> Dim i As Integer</p><p><b> i = 1</b></p><p> Open "
80、;d:\aa.txt" For Input As #1</p><p> On Error GoTo h</p><p> Do While Not EOF(1)</p><p> ReDim Preserve a(i)</p><p> ReDim Preserve b(i)</p><p> R
81、eDim Preserve c(i)</p><p> ReDim Preserve d(i)</p><p> Input #1, a(i), b(i), c(i), d(i)</p><p><b> i = i + 1</b></p><p><b> Loop</b></p&g
82、t;<p><b> h:</b></p><p><b> Close #1</b></p><p> n = UBound(a)</p><p> ReDim h(2 To n + 2) As Single</p><p> For i = 2 To n</p>
83、;<p> h(i) = k * l / 2 * (1 - Exp(-(Val(b(i)) ^ 2 / l)))</p><p><b> Next i</b></p><p> With MSFlexGrid4</p><p> .Rows = UBound(a)</p><p> For i
84、= 0 To n - 2</p><p> MSFlexGrid4.TextMatrix(i + 1, 5) = h(i + 2)</p><p><b> Next i</b></p><p><b> End With</b></p><p> ReDim MyData(n - 2, 3
85、) As Double</p><p> '-----x軸坐標(biāo)值-----Y軸坐標(biāo)值----------</p><p> For i = 0 To 15</p><p> MyData(i, 2) = b(i + 2): MyData(i, 3) = h(i + 2) '本句代表了:第一點(diǎn)數(shù)據(jù)的X軸坐標(biāo),Y軸坐標(biāo)</p><
86、;p><b> Next i</b></p><p> For i = 0 To 15</p><p> MyData(i, 0) = b(i + 2): MyData(i, 1) = d(i + 2)</p><p><b> Next i</b></p><p><b>
87、 '波形圖外觀設(shè)置</b></p><p> With MSChart2</p><p> .TitleText = "實(shí)際與預(yù)測(cè)累計(jì)產(chǎn)量隨時(shí)間變化曲線"</p><p> ' '設(shè)置圖線的外觀</p><p> .Plot.SeriesCollection(1).Pen.Wi
88、dth = 30</p><p> .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid</p><p><b> ' '設(shè)置XY軸</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False</p&g
89、t;<p> .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False</p><p><b> '// 設(shè)置最大值</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 18</p><p> .Plot.Axis
90、(VtChAxisIdY).ValueScale.Maximum = 12000</p><p><b> '// 設(shè)置最小值</b></p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</p><p> .Plot.Axis(VtChAxisIdX).ValueScal
91、e.Minimum = 0</p><p><b> '//</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 12 'X軸主要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivis
92、ion = 10 'Y軸主要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y軸次要網(wǎng)格數(shù)量</p><p>
93、; .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p> .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p> MSChart2.Plot.AutoLayout = False</p&
94、gt;<p> MSChart2.Plot.UniformAxis = False</p><p> MSChart2.chartType = VtChChartType2dXY '設(shè)置圖形為二維散點(diǎn)圖</p><p> MSChart2.ChartData = MyData '數(shù)據(jù)</p><p> Dim Index As
95、Integer</p><p> Index = 1 '設(shè)置圖標(biāo)類型為非自動(dòng)選擇,這樣可以設(shè)置為自己需要的類型</p><p> MSChart2.Plot.SeriesCollection(Index).ShowLine = False '去除連線</p><p> MSChart2.Plot.SeriesCollection.Item(In
96、dex).SeriesMarker.Auto = False</p><p> With MSChart2.Plot.SeriesCollection.Item(Index).DataPoints.Item(-1).Marker</p><p> .Visible = True '散點(diǎn)的點(diǎn)是否可見</p><p> .Size = 80
97、9;散點(diǎn)的大小</p><p> .Style = VtMarkerStyleFilledDiamond '選擇菱形的</p><p> .FillColor.Automatic = False '顏色不自動(dòng)填充</p><p> .FillColor.Set 400, 40, 400 '設(shè)置為黑色</p><p&g
98、t; .Pen.VtColor.Set 55, 40, 400 '同樣這個(gè)也必須設(shè)置,否則中間有默認(rèn)的顏色</p><p><b> End With</b></p><p><b> End With</b></p><p><b> End Sub</b></p>&
99、lt;p> Private Sub Command6_Click()</p><p> Dim a() As String</p><p> Dim b() As String</p><p> Dim c() As String</p><p> Dim d() As String</p><p>
100、 Dim e() As String</p><p> Dim f() As String</p><p> Dim i As Integer</p><p><b> i = 1</b></p><p> Open "d:\aa.txt" For Input As #1</p>
101、<p> On Error GoTo h</p><p> Do While Not EOF(1)</p><p> ReDim Preserve a(i)</p><p> ReDim Preserve b(i)</p><p> ReDim Preserve c(i)</p><p> Re
102、Dim Preserve d(i)</p><p> Input #1, a(i), b(i), c(i), d(i)</p><p><b> i = i + 1</b></p><p><b> Loop</b></p><p><b> h:</b></p&
103、gt;<p><b> Close #1</b></p><p> n = UBound(a)</p><p> ReDim e(2 To n) As String</p><p> ReDim f(2 To n) As String</p><p> For i = 2 To UBound(a)
104、</p><p> e(i) = Str(Log(Val(c(i)) / Val(b(i))) / Log(Val(10)))</p><p> f(i) = Str(Val(b(i)) ^ 2)</p><p><b> Next i</b></p><p> ReDim MyData(n - 2, 1) As
105、 Double</p><p> '-----x軸坐標(biāo)值-----Y軸坐標(biāo)值----------</p><p> For i = 0 To UBound(a) - 2</p><p> MyData(i, 0) = f(i + 2): MyData(i, 1) = e(i + 2) '本句代表了:第一點(diǎn)數(shù)據(jù)的X軸坐標(biāo),Y軸坐標(biāo)</p&g
106、t;<p><b> Next i</b></p><p><b> '波形圖外觀設(shè)置</b></p><p> With MSChart1</p><p> .TitleText = "Rayleigh曲線"</p><p> '
107、'設(shè)置圖線的外觀</p><p> .Plot.SeriesCollection(1).Pen.Width = 30</p><p> .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid</p><p> ' '設(shè)置XY軸</p><p> .Plo
108、t.Axis(VtChAxisIdX).ValueScale.Auto = False</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False</p><p><b> '// 設(shè)置最大值</b></p><p> .Plot.Axis(VtChAxisIdX).Value
109、Scale.Maximum = 300</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 3</p><p><b> '// 設(shè)置最小值</b></p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</p&g
110、t;<p> .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0</p><p><b> '//</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 20 'X軸主要網(wǎng)格數(shù)量</p><p>
111、; .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 20 'Y軸主要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0 'X軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Min
112、orDivision = 0 'Y軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p> .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted</p>&l
113、t;p> MSChart1.Plot.AutoLayout = False</p><p> MSChart1.Plot.UniformAxis = False</p><p> MSChart1.chartType = VtChChartType2dXY '設(shè)置圖形為二維散點(diǎn)圖</p><p> MSChart1.ChartData = My
114、Data '數(shù)據(jù)</p><p> Dim Index As Integer</p><p> Index = 1 '設(shè)置圖標(biāo)類型為非自動(dòng)選擇,這樣可以設(shè)置為自己需要的類型</p><p> MSChart1.Plot.SeriesCollection(Index).ShowLine = False '去除連線</p>&
115、lt;p> MSChart1.Plot.SeriesCollection.Item(Index).SeriesMarker.Auto = False</p><p> With MSChart1.Plot.SeriesCollection.Item(Index).DataPoints.Item(-1).Marker</p><p> .Visible = True '散
116、點(diǎn)的點(diǎn)是否可見</p><p> .Size = 80 '散點(diǎn)的大小</p><p> .Style = VtMarkerStyleFilledDiamond '選擇菱形的</p><p> .FillColor.Automatic = False '顏色不自動(dòng)填充</p><p> .FillColo
117、r.Set 400, 40, 400 '設(shè)置為黑色</p><p> .Pen.VtColor.Set 255, 40, 400 '同樣這個(gè)也必須設(shè)置,否則中間有默認(rèn)的顏色</p><p><b> End With</b></p><p><b> End With</b></p>&
118、lt;p><b> End Sub</b></p><p> Private Sub Command7_Click()</p><p> Dim a() As String</p><p> Dim b() As String</p><p> Dim c() As String</p>&
119、lt;p> Dim d() As String</p><p> Dim e() As String</p><p> Dim f() As String</p><p> Dim i As Integer</p><p><b> i = 1</b></p><p> Open
120、 "d:\aa.txt" For Input As #1</p><p> On Error GoTo h</p><p> Do While Not EOF(1)</p><p> ReDim Preserve a(i)</p><p> ReDim Preserve b(i)</p><p&
121、gt; ReDim Preserve c(i)</p><p> ReDim Preserve d(i)</p><p> Input #1, a(i), b(i), c(i), d(i)</p><p><b> i = i + 1</b></p><p><b> Loop</b>&l
122、t;/p><p><b> h:</b></p><p><b> Close #1</b></p><p> n = UBound(a)</p><p> ReDim e(2 To n) As String</p><p> ReDim f(2 To n) As St
123、ring</p><p> For i = 2 To UBound(a)</p><p> e(i) = Str(Log(Val(c(i)) / Val(b(i))) / Log(Val(10)))</p><p> f(i) = Str(Val(b(i)) ^ 2)</p><p><b> Next i</b>
124、;</p><p> ReDim MyData(n - 2, 3) As Double</p><p> '-----x軸坐標(biāo)值-----Y軸坐標(biāo)值----------</p><p> For i = 0 To UBound(a) - 2</p><p> MyData(i, 0) = f(i + 2): MyData(i,
125、 1) = e(i + 2) '本句代表了:第一點(diǎn)數(shù)據(jù)的X軸坐標(biāo),Y軸坐標(biāo)</p><p><b> Next i</b></p><p> MyData(0, 2) = Text4.Text: MyData(0, 3) = Text5.Text</p><p> For i = 1 To UBound(a) - 2</p&
126、gt;<p> MyData(i, 2) = Text6.Text: MyData(i, 3) = Text7.Text</p><p><b> Next i</b></p><p><b> '波形圖外觀設(shè)置</b></p><p> With MSChart1</p>&l
127、t;p> .TitleText = "Rayleigh曲線"</p><p> ' '設(shè)置圖線的外觀</p><p> .Plot.SeriesCollection(1).Pen.Width = 30</p><p> .Plot.SeriesCollection(1).Pen.Style = VtPenSty
128、leSolid</p><p> ' '設(shè)置XY軸</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Auto = False</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Auto = False</p><p><b>
129、 '// 設(shè)置最大值</b></p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Maximum = 300</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Maximum = 3</p><p><b> '// 設(shè)置最小值</b>&
130、lt;/p><p> .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0</p><p><b> '//</b></p><p> .Plot.Axis(
131、VtChAxisIdX).ValueScale.MajorDivision = 20 'X軸主要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 20 'Y軸主要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision =
132、0 'X軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0 'Y軸次要網(wǎng)格數(shù)量</p><p> .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p> .Plo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石油工程課程設(shè)計(jì)
- 石油工程課程設(shè)計(jì)
- 石油工程課程設(shè)計(jì)--鉆井工程設(shè)計(jì)
- 石油工程課程設(shè)計(jì)--鉆井工程設(shè)計(jì)
- 西安石油大學(xué)采油工程課程設(shè)計(jì)
- 西安石油大學(xué)采油工程課程設(shè)計(jì)
- 采油工程課程設(shè)計(jì)
- 采油工程課程設(shè)計(jì)3
- 最新采油工程課程設(shè)計(jì)
- 《石油工程概論》課程標(biāo)準(zhǔn)
- 石油工程論文
- 石油工程開發(fā)規(guī)劃的模糊優(yōu)化研究.pdf
- 灰色預(yù)測(cè)gm(1,1)模型在石油工程中的應(yīng)用
- 高性能計(jì)算在石油工程領(lǐng)域的應(yīng)用
- 海洋石油工程環(huán)境
- 新生石油工程介紹
- 石油工程導(dǎo)論作業(yè)
- 《石油工程綜合設(shè)計(jì)》教學(xué)大綱
- 石油工程畢業(yè)論文--低滲透油藏的開發(fā)技術(shù)
- 微課程設(shè)計(jì)與開發(fā)模型研究
評(píng)論
0/150
提交評(píng)論