威布爾模型與乙型水驅(qū)曲線的聯(lián)解法開發(fā)課程設(shè)計(jì)報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  XXXX 石 油 大 學(xué)</p><p>  課 程 設(shè) 計(jì)</p><p><b>  年 月 日</b></p><p>  XXXX石油大學(xué)課程設(shè)計(jì)任務(wù)書</p><p>  課程 石油工程課程設(shè)計(jì)</p><p>

2、;  題目 威布爾模型與乙型水驅(qū)曲線的聯(lián)解法</p><p>  專業(yè) 石油工程 姓名 學(xué)號(hào) </p><p>  主要內(nèi)容、基本要求、主要參考資料等</p><p><b>  主要內(nèi)容:</b></p><p>  推

3、導(dǎo)威布爾模型及其與乙型水驅(qū)曲線聯(lián)解關(guān)系式的預(yù)測(cè)模型;</p><p>  根據(jù)油氣田實(shí)際生產(chǎn)數(shù)據(jù),進(jìn)行線性回歸,求得乙型水驅(qū)曲線的截距、斜率;</p><p>  根據(jù)相關(guān)公式,確定威布爾(Weibull)模型常數(shù)a、b、c;</p><p><b>  計(jì)算油田年產(chǎn)油量;</b></p><p>  計(jì)算油田累積產(chǎn)油量

4、;</p><p><b>  計(jì)算含水率;</b></p><p><b>  計(jì)算可采儲(chǔ)量;</b></p><p>  計(jì)算最高年產(chǎn)量發(fā)生的時(shí)間;</p><p><b>  計(jì)算最高年產(chǎn)量;</b></p><p>  (10)繪制油田實(shí)際年產(chǎn)量

5、與預(yù)測(cè)產(chǎn)量對(duì)比曲線;</p><p>  (11)繪制油田實(shí)際累積產(chǎn)量與預(yù)測(cè)累積產(chǎn)量對(duì)比曲線。</p><p><b>  基本要求:</b></p><p>  該專題設(shè)計(jì)最終要求是,學(xué)生通過(guò)自選基礎(chǔ)數(shù)據(jù),利用威布爾模型與乙型水驅(qū)曲線聯(lián)解預(yù)測(cè)模型,結(jié)合油田實(shí)際生產(chǎn)資料,預(yù)測(cè)選定油氣田的年產(chǎn)量、累積產(chǎn)量、含水率、可采儲(chǔ)量、最高年產(chǎn)量、最高年產(chǎn)量

6、發(fā)生的時(shí)間等開發(fā)指標(biāo),并編制相應(yīng)軟件,并提交規(guī)范設(shè)計(jì)報(bào)告。</p><p><b>  主要參考資料</b></p><p>  [1]陳元千.預(yù)測(cè)油氣田產(chǎn)量的Weibull模型[J].新疆石油地質(zhì),1995,16(3):250-255.</p><p>  [2]童憲章.天然水驅(qū)和人工注水油藏的統(tǒng)計(jì)規(guī)律探討[J].石油勘探與開發(fā),1978,4

7、(6):38-64.</p><p>  [3] 陳元千.一種新型水驅(qū)曲線關(guān)系式的推導(dǎo)及應(yīng)用[J].石油學(xué)報(bào),1993,14(2):65-73.</p><p>  [4] 陳元千.水驅(qū)曲線關(guān)系式的推導(dǎo)[J]. 石油學(xué)報(bào),1985,6(2):69-78.</p><p>  完成期限 </p><p

8、>  指導(dǎo)教師 </p><p>  專業(yè)負(fù)責(zé)人 </p><p><b>  年 月 日</b></p><p><b>  目 錄</b></p><p><b>  1 前 言1

9、</b></p><p>  1.1 設(shè)計(jì)的目的意義1</p><p>  1.2 設(shè)計(jì)的主要內(nèi)容1</p><p><b>  2 基礎(chǔ)數(shù)據(jù)2</b></p><p><b>  3 基礎(chǔ)理論3</b></p><p>  3.1威布爾預(yù)測(cè)模型的建立

10、3</p><p>  3.2威布爾模型與乙型水驅(qū)曲線的聯(lián)解法4</p><p>  3.3模型的求解方法5</p><p><b>  4 設(shè)計(jì)結(jié)果7</b></p><p><b>  認(rèn)識(shí)與結(jié)論8</b></p><p><b>  參考文獻(xiàn)9&l

11、t;/b></p><p>  附錄:計(jì)算機(jī)程序與結(jié)果10</p><p><b>  1 前 言</b></p><p>  1.1 設(shè)計(jì)的目的意義</p><p>  本課題的目的是讓學(xué)生通過(guò)自選一組數(shù)據(jù),利用所學(xué)專業(yè)知識(shí)在指導(dǎo)教師的指導(dǎo)下獨(dú)立完成對(duì)某一油田或區(qū)塊開發(fā)指標(biāo)的預(yù)測(cè)。本課題要求學(xué)生對(duì)威布爾(We

12、ibull)模型及其與乙型水驅(qū)曲線聯(lián)解關(guān)系式進(jìn)行推導(dǎo),其結(jié)果包括,對(duì)油氣田的年產(chǎn)量、累積產(chǎn)量、含水率、可采儲(chǔ)量、最高年產(chǎn)量、最高年產(chǎn)量發(fā)生的時(shí)間的預(yù)測(cè)方法。從而將理論知識(shí)和實(shí)際問(wèn)題相結(jié)合,通過(guò)該專題設(shè)計(jì)的訓(xùn)練,加強(qiáng)學(xué)生理論知識(shí)運(yùn)用能力,計(jì)算機(jī)技術(shù)應(yīng)用能力及解決實(shí)際問(wèn)題的工程應(yīng)用能力。</p><p>  1.2 設(shè)計(jì)的主要內(nèi)容</p><p>  根據(jù)已有的基礎(chǔ)數(shù)據(jù),利用所學(xué)的專業(yè)知識(shí),在

13、指導(dǎo)教師指導(dǎo)下獨(dú)立完成并提交一個(gè)油田或一個(gè)區(qū)塊油田開發(fā)指標(biāo)預(yù)測(cè)結(jié)果,設(shè)計(jì)主要內(nèi)容如下:</p><p> ?。?)推導(dǎo)威布爾模型及其與乙型水驅(qū)曲線聯(lián)解關(guān)系式;</p><p> ?。?)根據(jù)油氣田實(shí)際生產(chǎn)數(shù)據(jù),進(jìn)行線性回歸,求得乙型水驅(qū)曲線的截距、斜率;</p><p> ?。?)根據(jù)相關(guān)公式,確定威布爾(Weibull)模型常數(shù)a、b、c;</p>

14、<p> ?。?)計(jì)算油田年產(chǎn)油量;</p><p> ?。?)計(jì)算油田累積產(chǎn)油量;</p><p><b> ?。?)計(jì)算含水率;</b></p><p> ?。?)計(jì)算可采儲(chǔ)量;</p><p> ?。?)計(jì)算最高年產(chǎn)量發(fā)生的時(shí)間;</p><p>  (9)計(jì)算最高年產(chǎn)量;<

15、/p><p> ?。?0)繪制油田實(shí)際年產(chǎn)量與預(yù)測(cè)產(chǎn)量對(duì)比曲線;</p><p> ?。?1)繪制油田實(shí)際累積產(chǎn)量與預(yù)測(cè)累積產(chǎn)量對(duì)比曲線。</p><p><b>  2 基礎(chǔ)數(shù)據(jù)</b></p><p>  某油田的開發(fā)數(shù)據(jù)如下:</p><p>  表2-1 某油田開發(fā)數(shù)據(jù)</p>

16、<p><b>  3 基礎(chǔ)理論</b></p><p>  威布爾(Weibull)預(yù)測(cè)模型能夠很好地預(yù)測(cè)油田產(chǎn)油量隨時(shí)間的變化關(guān)系,但卻不能預(yù)測(cè)油田的含水率、產(chǎn)水量、產(chǎn)液量及累積產(chǎn)水量和累積產(chǎn)液量,而這些開發(fā)指標(biāo)正是水驅(qū)開發(fā)油田所需要預(yù)測(cè)的。乙型水驅(qū)曲線法是油藏工程中重要的預(yù)測(cè)方法,但它只能預(yù)測(cè)累積產(chǎn)水量與累積產(chǎn)油量之間的關(guān)系,卻不能預(yù)測(cè)開發(fā)指標(biāo)與開發(fā)時(shí)間的關(guān)系,而油田開發(fā)

17、指標(biāo)的預(yù)測(cè),都離不開與開發(fā)時(shí)間的聯(lián)系。將Weibull預(yù)測(cè)模型和乙型水驅(qū)曲線法相結(jié)合,則能夠預(yù)測(cè)水驅(qū)油田的含水率、產(chǎn)油量、產(chǎn)水量、產(chǎn)液量、可采儲(chǔ)量及其相應(yīng)的累積產(chǎn)量隨開發(fā)時(shí)間變化的聯(lián)解法。聯(lián)解法既能保持兩種方法原有的預(yù)測(cè)功能,又克服了兩者的局限性。</p><p>  3.1威布爾預(yù)測(cè)模型的建立</p><p>  Weibull(威布爾)于1939年提出的統(tǒng)計(jì)分布模型已成為生命試驗(yàn)和可靠

18、性理論研究的基礎(chǔ)。該模型的分布密度表示為:</p><p><b>  (3-1)</b></p><p>  式中 f(x)——威布爾分布的分布密度函數(shù);</p><p>  x——分布變量,根據(jù)實(shí)際問(wèn)題,分布區(qū)間為0~∞;</p><p>  α——控制分布形態(tài)的形狀參數(shù);</p><p>

19、  β——控制分布峰位和峰值的尺度參數(shù)。</p><p>  若對(duì)(3-l)式進(jìn)行積分,在x為0~∞區(qū)間內(nèi),可以得到Weibu11的分布函數(shù)值等于1,推證如下:</p><p><b> ?。?-2)</b></p><p>  為將Weibull分布模型用于油氣田開發(fā)指標(biāo)的預(yù)測(cè),將(3-l)式改寫為</p><p>&

20、lt;b>  (3-3)</b></p><p>  式中 Q——油氣田的年產(chǎn)量,104t/a(油)或108m3/a(氣);</p><p>  t ——油氣田的開發(fā)時(shí)間,a;</p><p>  C——由Weibull分布模型轉(zhuǎn)換為油氣田開發(fā)實(shí)用模型的模型轉(zhuǎn)換常數(shù)。</p><p>  油氣田的累積產(chǎn)量表達(dá)式為:<

21、/p><p><b>  (3-4)</b></p><p>  式中 NP——油氣田的累積產(chǎn)量,104t或108t(油);108m(氣)。</p><p>  式中 NP——油氣田的累積產(chǎn)量,104t或108t(油);108m(氣)。</p><p>  將(3-3)代入(3-4)式并考慮(3-2)式中的變量變換法,t

22、從0到t積分得:</p><p><b>  (3-5)</b></p><p>  當(dāng)時(shí),,則,因此(3-5)式又可改寫為:</p><p><b>  (3-6)</b></p><p>  在得到上面的結(jié)果之后,便可對(duì)模型轉(zhuǎn)換常數(shù)的性質(zhì)和作用做這樣的說(shuō)明:由于Weibull分布模型,在x從0到

23、區(qū)間的分布函數(shù)F(x)=1.0,這相當(dāng)于實(shí)際開發(fā)的油氣田,在t從0到區(qū)間的累積產(chǎn)量,即油氣田的可采儲(chǔ)量。因此,為了能夠得到(3-5)式的結(jié)果,就必須在(3-3)中引入模型轉(zhuǎn)換常數(shù)C。而該模型轉(zhuǎn)換常數(shù)就是油氣田的可采儲(chǔ)量。因此,可以將(3-3)式再改寫為:</p><p><b> ?。?-7)</b></p><p>  為了確定最高年產(chǎn)量發(fā)生的時(shí)間,有(3-7)式對(duì)

24、時(shí)間t求導(dǎo)數(shù)得:</p><p><b> ?。?-8)</b></p><p>  當(dāng)=0時(shí),必然有=0,故可以得到最高年產(chǎn)量發(fā)生的時(shí)間tm為:</p><p><b> ?。?-9)</b></p><p>  將(3-9)式代入(3-7)式,得到油氣田的最高年產(chǎn)量(Qmax)的表達(dá)式:<

25、/p><p><b> ?。?-10)</b></p><p>  再將(3-9)式代入(3-6)式,得到油氣田最高年產(chǎn)量發(fā)生時(shí)的累積產(chǎn)量(Npm)為:</p><p><b> ?。?-11)</b></p><p>  油氣田的剩余可采儲(chǔ)量NRR表示為:</p><p>&l

26、t;b> ?。?-12)</b></p><p>  將(3-6)式代入(3-12)式得:</p><p><b>  (3-13)</b></p><p>  剩余可采儲(chǔ)量的儲(chǔ)采比ω表示為:</p><p><b> ?。?-14)</b></p><p>

27、;  將(3-7)式和(3-13)式代入(3-14)式得:</p><p><b> ?。?-15)</b></p><p>  剩余可采儲(chǔ)量的采油速度為儲(chǔ)采比的倒數(shù),故由(3-15)式得到剩余可采儲(chǔ)量采油速度的表達(dá)式:</p><p><b> ?。?-16)</b></p><p>  式中以小

28、數(shù)f表示,若改以百分?jǐn)?shù)%表示時(shí),(3-16)式改為下式:</p><p><b>  (3-17)</b></p><p>  3.2威布爾模型與乙型水驅(qū)曲線的聯(lián)解法</p><p>  利用數(shù)理統(tǒng)計(jì)學(xué)中的威布爾(Weibull)分布,研究與推導(dǎo)得到了威布爾(Weibull)預(yù)測(cè)模型[1]。該模型具有預(yù)測(cè)油田產(chǎn)量、累積產(chǎn)量和可采儲(chǔ)量的功能,其基

29、本關(guān)系式分別為:</p><p><b> ?。?-18)</b></p><p><b> ?。?-19)</b></p><p><b> ?。?-20)</b></p><p>  乙型水驅(qū)曲線法,首先是由我國(guó)著名專家童憲章先生[2]以經(jīng)驗(yàn)公式的形式,于1978年提出。它

30、的理論推導(dǎo)由文獻(xiàn)[3]完成,其基本關(guān)系式為:</p><p><b> ?。?-21)</b></p><p>  由(3-21)式對(duì)時(shí)間t求導(dǎo)數(shù)得:</p><p><b> ?。?-22)</b></p><p><b>  已知:;;</b></p><

31、;p>  故由(3-22)式得:</p><p><b> ?。?-23)</b></p><p>  將(3-23)式代入(3-21)式得:</p><p><b> ?。?-24)</b></p><p>  取經(jīng)濟(jì)極限水油比(Rwo) L,由(24)式得到預(yù)測(cè)油田可采儲(chǔ)量的關(guān)系式:<

32、;/p><p><b> ?。?-25)</b></p><p>  已知水油比與含水率的關(guān)系為:</p><p><b>  (3-26)</b></p><p>  將(3-26)式代入(3-24)式得:</p><p><b> ?。?-27)</b>

33、</p><p>  將(3-19)式代入(3-27)式得:</p><p><b> ?。?-28)</b></p><p>  當(dāng)由(3-18)式和(3-28)式得到預(yù)測(cè)的產(chǎn)油量和含水率之后,可由下面的公式分別預(yù)測(cè)油田的產(chǎn)水量和產(chǎn)液量:</p><p><b> ?。?-29)</b></

34、p><p><b> ?。?-30)</b></p><p>  最高年產(chǎn)量發(fā)生的時(shí)間tm的計(jì)算公式如下:</p><p>  最高年產(chǎn)量Qmax為:</p><p>  3.3模型的求解方法</p><p>  為了確定預(yù)測(cè)模型的模型常數(shù)a、b、c以及可采儲(chǔ)量NR的數(shù)值,對(duì)(3-18)式可進(jìn)行如下處

35、理:</p><p><b> ?。?-31)</b></p><p><b>  若設(shè):</b></p><p><b> ?。?-32)</b></p><p><b> ?。?-33)</b></p><p><b>

36、;  則得:</b></p><p><b> ?。?-34)</b></p><p>  根據(jù)實(shí)際的開發(fā)數(shù)據(jù),首先利用(3-34)式進(jìn)行線性試差求解,根據(jù)最大線性相關(guān)系數(shù)求出b,然后利用最小二乘法求得α和β。再由(3-32)式和(3-33)式改寫的下式,分別確定模型的常數(shù)a和c的數(shù)值:</p><p><b> ?。?-

37、35)</b></p><p><b> ?。?-36)</b></p><p>  確定出預(yù)測(cè)模型參數(shù)a、b、c后,即可根據(jù)(3-20)式求解出可采儲(chǔ)量NR。</p><p>  在確定預(yù)測(cè)模型常數(shù)a、b、c、NR時(shí),其值是否正確可靠,要利用(3-18)式、(3-19)式、(3-28)式預(yù)測(cè)的理論產(chǎn)油量、累積產(chǎn)油量和含水率,與實(shí)際

38、產(chǎn)油量、累積產(chǎn)油量和含水率進(jìn)行對(duì)比加以確定,而達(dá)到最佳擬合效果的參數(shù)才是最準(zhǔn)確、可靠的。</p><p><b>  4 設(shè)計(jì)結(jié)果</b></p><p>  將表1中的累積產(chǎn)液量(Lp)和相應(yīng)的累積產(chǎn)油量(NP)數(shù)據(jù),按照(3-21)式的直線關(guān)系繪于圖4-1,得到了一條很好的直線。經(jīng)線性回歸求得直線的截距A=2.50;直線的斜率B=0.000502;直線的相關(guān)系數(shù)r

39、=0.9999。</p><p>  圖4-1 該油田的乙型水驅(qū)曲線</p><p>  將表1中的Log(Qo/t)和相應(yīng)的t^(b+1)數(shù)據(jù),按照(3-34)式的直線關(guān)系繪于圖4-2,得到了一條很好的直線。經(jīng)線性回歸求得直線的截距=1.32;直線的斜率=-0.00132;參數(shù)a=21.002,b=1.1,c=328.039,直線的相關(guān)系數(shù)r=0.9990。</p><

40、;p>  圖4-2 該油田的weibull曲線</p><p>  在確定預(yù)測(cè)模型常數(shù)a、b、c后,利用(3-18)式、(3-19)式、(3-28)式計(jì)算油田年產(chǎn)油量、計(jì)算油田累積產(chǎn)油量、計(jì)算含水率如下表:</p><p><b>  表4-1 數(shù)據(jù)表</b></p><p>  計(jì)算可采儲(chǔ)量:NR =3280.639(104t),計(jì)算最

41、高年產(chǎn)量發(fā)生的時(shí)間:11.897a,計(jì)算最高年產(chǎn)量:Qmax=184.302(104t)。</p><p>  預(yù)測(cè)的理論產(chǎn)油量、累積產(chǎn)油量和含水率,與實(shí)際產(chǎn)油量、累積產(chǎn)油量和含水率進(jìn)行對(duì)比。按照(3-18)式的關(guān)系在同一坐標(biāo)系中繪制實(shí)際產(chǎn)量與預(yù)測(cè)產(chǎn)量及其對(duì)應(yīng)時(shí)間t之間的關(guān)系曲線,繪于圖4-3。</p><p>  圖4-3 產(chǎn)量與時(shí)間關(guān)系曲線</p><p>  

42、按照(3-19)式的關(guān)系在同一坐標(biāo)系中繪制實(shí)際累計(jì)產(chǎn)量與預(yù)測(cè)累計(jì)產(chǎn)量及其對(duì)應(yīng)時(shí)間t之間的關(guān)系曲線,繪于圖4-4。</p><p>  圖4-4 累計(jì)產(chǎn)量與時(shí)間關(guān)系曲線</p><p>  按照(3-28)式的關(guān)系在同一坐標(biāo)系中繪制實(shí)際含水率與預(yù)測(cè)含水率及其對(duì)應(yīng)時(shí)間t之間的關(guān)系曲線,繪于圖4-5。</p><p>  圖4-5 含水率與時(shí)間關(guān)系曲線</p>

43、<p><b>  認(rèn)識(shí)與結(jié)論</b></p><p>  通過(guò)本次課程設(shè)計(jì),得出如下認(rèn)識(shí)與結(jié)論:</p><p> ?。?)通過(guò)此次油田開發(fā)的課程設(shè)計(jì),我基本掌握了威布爾(Weibull)模型與乙型水驅(qū)曲線聯(lián)解法,并能初步對(duì)油田進(jìn)行預(yù)測(cè)分析。</p><p> ?。?)通過(guò)這次的課程設(shè)計(jì),培養(yǎng)了我獨(dú)立思考和動(dòng)手操作的能力,也使我

44、在日常的學(xué)習(xí)與討論當(dāng)中增長(zhǎng)了許多課外知識(shí),認(rèn)識(shí)到數(shù)學(xué)模型對(duì)油氣田的產(chǎn)量預(yù)測(cè)的重要性。雖然在課程設(shè)計(jì)的過(guò)程中遇到了一些問(wèn)題,但經(jīng)過(guò)反復(fù)的思考與檢查找出原因所在并進(jìn)行改正。</p><p> ?。?)通過(guò)計(jì)算機(jī)的編程學(xué)習(xí)與操作,使我對(duì)VB語(yǔ)言有了更進(jìn)一步的認(rèn)識(shí)和了解。同時(shí),提高了使用計(jì)算機(jī)技應(yīng)用的能力以及解決實(shí)際問(wèn)題的工程應(yīng)用能力,使理論與實(shí)踐相結(jié)合。</p><p>  (4)現(xiàn)在能熟練掌握

45、、運(yùn)用威布爾(Weibull)模型與乙型水驅(qū)曲線聯(lián)解法的原理、推導(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> ?。?)這次課程設(shè)計(jì),使我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)的重要性與實(shí)踐操作的必要性,在老師的指導(dǎo)下和與同學(xué)的討論中,不斷地發(fā)現(xiàn)問(wèn)題、不斷地解決問(wèn)題、不斷地領(lǐng)悟、不斷地獲取,使自己的程序不斷完善。</p>

46、<p> ?。?)課程設(shè)計(jì)誠(chéng)然是一門專業(yè)課,它給了我很多的專業(yè)知識(shí)以及專業(yè)上的提升。課程設(shè)計(jì)同時(shí)又是一門講道課,一門思辨課,給了我許多道,給了我許多思,得到很大的提升空間。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]陳元千.預(yù)測(cè)油氣田產(chǎn)量的Weibull模型[J].新疆石油地質(zhì),1995,16(3):250-255.<

47、/p><p>  [2]童憲章.天然水驅(qū)和人工注水油藏的統(tǒng)計(jì)規(guī)律探討[J].石油勘探與開發(fā),1978,4(6):38-64.</p><p>  [3] 陳元千.一種新型水驅(qū)曲線關(guān)系式的推導(dǎo)及應(yīng)用[J].石油學(xué)報(bào),1993,14(2):65-73.</p><p>  [4] 陳元千.水驅(qū)曲線關(guān)系式的推導(dǎo)[J]. 石油學(xué)報(bào),1985,6(2):69-78.</p&

48、gt;<p>  附錄:計(jì)算機(jī)程序與結(jié)果</p><p><b>  計(jì)算機(jī)程序</b></p><p>  Option Base 0</p><p>  Const e = 2.708281828</p><p>  Dim a, t(200), qt(200), t0(200), q0(200), q

49、w(200), ye(200), wp(200)</p><p>  Dim b, c, d</p><p>  Dim afw, qmax, tm, NR, x, y, a1, a2, r, rmax, bmax, aa1, bb1, cc1, ub, aa, ab, ar, br, yt, an, bn, mn</p><p>  Dim s(), px(),

50、py()</p><p>  Dim sx, sy, sxy, sx2, sy2</p><p>  Dim np(200), lp(200)</p><p>  Dim yq0(200), ynp(200), yfw(200), ynr, fw(200)</p><p>  Private Sub c1_Click()</p>

51、<p><b>  yt = 50</b></p><p><b>  Rem 源數(shù)據(jù)輸入</b></p><p>  Open App.Path + "\cd.txt" For Input As #1</p><p><b>  ub = -1</b></p&g

52、t;<p>  Do Until EOF(1)</p><p>  ub = ub + 1</p><p>  Input #1, ye(ub), t(ub), q0(ub), qw(ub), np(ub), wp(ub), lp(ub)</p><p>  lp(ub) = Log(lp(ub)) / Log(10)</p><p

53、><b>  Loop</b></p><p><b>  Close #1</b></p><p>  Private Sub c5_Click()</p><p>  Rem 乙型參數(shù)計(jì)算</p><p>  For an = ub To 2 Step -1

54、 '求相關(guān)系數(shù)r,趨勢(shì)線</p><p>  sx = 0: sy = 0: sxy = 0: sx2 = 0: sy2 = 0</p><p>  l = ub - an</p><p>  For i = l To an + l</p><p>  sx = sx + np(i)</p&

55、gt;<p><b>  Next i</b></p><p>  For i = l To an + l</p><p>  sy = sy + lp(i)</p><p><b>  Next i</b></p><p>  For i = l To an + l</p>

56、;<p>  sxy = sxy + np(i) * lp(i)</p><p><b>  Next i</b></p><p>  For i = l To an + l</p><p>  sx2 = sx2 + np(i) ^ 2</p><p><b>  Next i</b>

57、;</p><p>  For i = l To an + l</p><p>  sy2 = sy2 + lp(i) ^ 2</p><p><b>  Next i</b></p><p>  a2 = ((an + 1) * sxy - sx * sy) / ((an + 1) * sx2 - sx ^ 2)<

58、;/p><p>  a1 = (sx2 * sy - sx * sxy) / ((an + 1) * sx2 - sx ^ 2)</p><p>  r = ((an + 1) * sxy - sx * sy) / (((an + 1) * sx2 - sx ^ 2) ^ 0.5 * ((an + 1) * sy2 - sy ^ 2) ^ 0.5)</p><p>&l

59、t;b>  '取最大值r</b></p><p>  If r > ar Then ar = r</p><p><b>  Next an</b></p><p><b>  aa = a1</b></p><p><b>  ab = a2</b&

60、gt;</p><p>  Form3.Text1.Text = aa '截距,參數(shù)A</p><p>  Form3.Text2.Text = ab '斜率,參數(shù)B</p><p>  Form3.Text3.Text = ar '最

61、大相關(guān)系數(shù)</p><p>  Form3.Show</p><p>  Rem weibull參數(shù)計(jì)算</p><p><b>  bn = 12</b></p><p>  l = ub - bn</p><p><b>  bmax = 0</b></p>

62、<p><b>  rmax = 0</b></p><p>  For b = 1 To 2 Step 0.05</p><p>  sx = 0: sy = 0: sxy = 0: sx2 = 0: sy2 = 0</p><p>  For i = l To l + bn</p><p>  t(i)

63、= i + 1</p><p><b>  Next i</b></p><p>  For i = l To l + bn</p><p>  qt(i) = Log(q0(i) / (t(i) ^ b)) / Log(10)</p><p>  t0(i) = t(i) ^ (b + 1)</p>&l

64、t;p><b>  Next i</b></p><p>  For i = l To l + bn</p><p>  sx = sx + t0(i)</p><p><b>  Next i</b></p><p>  For i = l To l + bn</p><

65、p>  sy = sy + qt(i)</p><p><b>  Next i</b></p><p>  For i = l To l + bn</p><p>  sxy = sxy + qt(i) * t0(i)</p><p><b>  Next i</b></p>

66、<p>  For i = l To l + bn</p><p>  sx2 = sx2 + t0(i) ^ 2</p><p><b>  Next i</b></p><p>  For i = l To l + bn</p><p>  sy2 = sy2 + qt(i) ^ 2</p>

67、<p><b>  Next i</b></p><p>  r = Abs(((bn + 1) * sxy - sx * sy) / (((bn + 1) * sx2 - sx ^ 2) ^ 0.5 * ((bn + 1) * sy2 - sy ^ 2) ^ 0.5))</p><p><b>  '最大相關(guān)系數(shù)</b><

68、;/p><p>  If r > rmax Then 'r取最大值</p><p><b>  rmax = r</b></p><p><b>  bmax = b</b></p><p>  a2 = ((bn + 1) * sxy - sx * sy) / ((b

69、n + 1) * sx2 - sx ^ 2)</p><p>  a1 = (sx2 * sy - sx * sxy) / ((bn + 1) * sx2 - sx ^ 2)</p><p><b>  End If</b></p><p><b>  Next b</b></p><p>  aa

70、1 = 10 ^ a1</p><p>  bb1 = bmax</p><p>  cc1 = -1 / (2.303 * a2)</p><p>  afw = 100 * (1 - 10 ^ (-(aa + ab * aa1 * cc1 / (bb1 + 1) + Log(2.303 * ab) / Log(10))))</p><p>

71、;  '極限含水率fw公式,fw=1-10(-A+B(a*c/(b+1)(1-exp(-t^(b+1)/c))))</p><p>  tm = (bb1 * cc1 / (bb1 + 1)) ^ (1 / (bb1 + 1))</p><p>  '最高年產(chǎn)量對(duì)應(yīng)時(shí)間tm公式,tm=(b*c/(b+1))^(1/(b+1))</p><p>  q

72、max = aa1 * (bb1 * cc1 / (bb1 + 1)) ^ (bb1 / (bb1 + 1)) * Exp(-bb1 / (bb1 + 1))</p><p>  '最高年產(chǎn)量Qmax公式,Qmax=a*(b*c/(b+1))^(b/(b+1))*exp(-b/(b+1))</p><p>  NR = aa1 * cc1 / (bb1 + 1)</p>

73、<p>  '可采儲(chǔ)量NR公式,NR=a*c/(b+1)</p><p>  Form3.Text4.Text = a2 '斜率</p><p>  Form3.Text5.Text = a1 '截距</p><p>  Form3.Text6.Text = rmax

74、 '最大相關(guān)系數(shù)</p><p>  Form3.Text7.Text = aa1 '參數(shù)a</p><p>  Form3.Text8.Text = bb1 '參數(shù)b</p><p>  Form3.Text9.Text = cc1 '參數(shù)c</p&

75、gt;<p>  Form3.Text10.Text = afw '極限含水率</p><p>  Form3.Text11.Text = qmax '最高年產(chǎn)量</p><p>  Form3.Text12.Text = tm '最高年產(chǎn)量對(duì)應(yīng)時(shí)間</p><p>

76、;  Form3.Text13.Text = NR '可采儲(chǔ)量</p><p><b>  Rem 預(yù)測(cè)數(shù)據(jù)</b></p><p>  For i = 0 To yt</p><p>  t(i) = i + 1</p><p>  yq0(i) = Round(aa1 * (t(i)

77、^ bb1) * (e ^ (-t(i) ^ (bb1 + 1) / cc1)), 2)</p><p>  ynp(i) = Round(aa1 * cc1 * (1 - (e ^ (-t(i) ^ (bb1 + 1) / cc1))) / (bb1 + 1), 2)</p><p>  If i <= ub Then fw(i) = Round(100 * qw(i) / (qw

78、(i) + q0(i)), 2)</p><p>  yfw(i) = Round(100 * (1 - 10 ^ (-(aa + ab * ynp(i) + Log(2.303 * ab) / Log(10)))), 2)</p><p>  If yfw(i) < 0 Then yfw(i) = 0</p><p><b>  Next i<

79、;/b></p><p><b>  mn = 50</b></p><p><b>  Rem 表格輸出</b></p><p>  MSFlexGrid1.ColWidth(0) = 1000 '表格行寬</p><p>  MSFlexGrid

80、1.ColWidth(1) = 1200</p><p>  MSFlexGrid1.ColWidth(2) = 1200</p><p>  MSFlexGrid1.ColWidth(3) = 1200</p><p>  MSFlexGrid1.ColWidth(4) = 1200</p><p>  MSFlexGrid1.ColWid

81、th(5) = 1200</p><p>  MSFlexGrid1.ColWidth(6) = 1200</p><p>  MSFlexGrid1.Rows = 201</p><p>  MSFlexGrid1.Cols = 7</p><p>  MSFlexGrid1.Width = MSFlexGrid1.ColWidth(1)

82、* MSFlexGrid1.Cols + MSFlexGrid1.Cols * 12</p><p>  'MSFlexGrid1.Height = MSFlexGrid1.RowHeight(1) * MSFlexGrid1.Rows + MSFlexGrid1.Rows * 12</p><p>  MSFlexGrid1.TextMatrix(0, 0) = "時(shí)間

83、/a"</p><p>  MSFlexGrid1.TextMatrix(0, 1) = "實(shí)際產(chǎn)量"</p><p>  MSFlexGrid1.TextMatrix(0, 2) = "預(yù)測(cè)產(chǎn)量"</p><p>  MSFlexGrid1.TextMatrix(0, 3) = "實(shí)際累計(jì)產(chǎn)量"

84、</p><p>  MSFlexGrid1.TextMatrix(0, 4) = "預(yù)測(cè)累計(jì)產(chǎn)量"</p><p>  MSFlexGrid1.TextMatrix(0, 5) = "實(shí)際含水率%"</p><p>  MSFlexGrid1.TextMatrix(0, 6) = "預(yù)測(cè)含水率%"<

85、/p><p>  For i = 0 To mn</p><p>  MSFlexGrid1.TextMatrix(i + 1, 0) = Format(t(i), "0.##")</p><p>  MSFlexGrid1.TextMatrix(i + 1, 1) = Format(q0(i), "0.##")</p>

86、;<p>  MSFlexGrid1.TextMatrix(i + 1, 2) = Format(yq0(i), "0.##")</p><p>  MSFlexGrid1.TextMatrix(i + 1, 3) = Format(np(i), "0.##")</p><p>  MSFlexGrid1.TextMatrix(i +

87、1, 4) = Format(ynp(i), "0.##")</p><p>  MSFlexGrid1.TextMatrix(i + 1, 5) = Format(fw(i), "0.##")</p><p>  MSFlexGrid1.TextMatrix(i + 1, 6) = Format(yfw(i), "0.##")&

88、lt;/p><p><b>  Next i</b></p><p><b>  '橫縱坐標(biāo)</b></p><p>  With MSChart1</p><p>  .ColumnCount = 2</p><p>  .Plot.SeriesCollection(1

89、).Pen.Width = 15</p><p>  .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.A

90、uto = True</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision

91、= 6</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivi

92、sion = 0</p><p>  .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p>  .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p>  MSChart1.Pl

93、ot.AutoLayout = False</p><p>  MSChart1.Plot.UniformAxis = False</p><p>  MSChart1.chartType = VtChChartType2dXY '二維坐標(biāo)</p><p>  .Column = 1</p><p><b>  End

94、With</b></p><p>  With MSChart2</p><p>  .ColumnCount = 2</p><p>  .Plot.SeriesCollection(1).Pen.Width = 15</p><p>  .Plot.SeriesCollection(1).Pen.Style = VtPenSt

95、yleSolid</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.Auto = True</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</

96、p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.MajorDivision = 6</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6</p

97、><p>  .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0</p><p>  .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtP

98、enStyleDotted</p><p>  .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p>  MSChart1.Plot.AutoLayout = False</p><p>  MSChart1.Plot.UniformAxis = False</p&

99、gt;<p>  MSChart1.chartType = VtChChartType2dXY</p><p>  .Column = 1</p><p><b>  End With</b></p><p>  With MSChart3</p><p>  .ColumnCount = 2</p&

100、gt;<p>  .Plot.SeriesCollection(1).Pen.Width = 15</p><p>  .Plot.SeriesCollection(1).Pen.Style = VtPenStyleSolid</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.Auto = True</p><p&g

101、t;  .Plot.Axis(VtChAxisIdY).ValueScale.Auto = True</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.Minimum = 0</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.Minimum = 0</p><p>  .Plot.Axi

102、s(VtChAxisIdX).ValueScale.MajorDivision = 6</p><p>  .Plot.Axis(VtChAxisIdY).ValueScale.MajorDivision = 6</p><p>  .Plot.Axis(VtChAxisIdX).ValueScale.MinorDivision = 0</p><p>  .Plo

103、t.Axis(VtChAxisIdY).ValueScale.MinorDivision = 0</p><p>  .Plot.Axis(VtChAxisIdX).AxisGrid.MajorPen.Style = VtPenStyleDotted</p><p>  .Plot.Axis(VtChAxisIdY).AxisGrid.MajorPen.Style = VtPenStyle

104、Dotted</p><p>  MSChart1.Plot.AutoLayout = False</p><p>  MSChart1.Plot.UniformAxis = False</p><p>  MSChart1.chartType = VtChChartType2dXY</p><p>  .Column = 1</p&g

105、t;<p><b>  End With</b></p><p><b>  End Sub</b></p><p>  Private Sub c2_Click()</p><p>  MSFlexGrid1.Visible = True '輸出數(shù)據(jù)在表格內(nèi)</

106、p><p><b>  Rem 曲線繪制</b></p><p><b>  Rem 數(shù)據(jù)輸出</b></p><p><b>  End Sub</b></p><p>  Private Sub c3_Click()</p><p><b> 

107、 '文件輸出</b></p><p>  Open App.Path + "3.txt" For Output As #2</p><p>  Print #2, "年份", "時(shí)間", "預(yù)測(cè)產(chǎn)量", "預(yù)測(cè)累計(jì)產(chǎn)量", "預(yù)測(cè)含水率"</p&

108、gt;<p>  For i = 0 To yt</p><p>  Print #2, ye(0) + i, i + 1, yq0(i), ynp(i), yfw(i)</p><p><b>  Next i</b></p><p><b>  Close #2</b></p><p&

109、gt;<b>  Print</b></p><p><b>  End Sub</b></p><p>  Private Sub c4_Click()</p><p><b>  End</b></p><p><b>  End Sub</b><

110、;/p><p>  Private Sub d1_Click()</p><p>  '理論產(chǎn)油量Qo與時(shí)間t的關(guān)系曲線繪制</p><p>  MSChart1.Visible = True</p><p>  ReDim px(yt), py(yt), s(yt, 3)</p><p>  'st =

111、yt / 500</p><p>  For i = 1 To mn</p><p><b>  px(i) = i</b></p><p>  py(i) = aa1 * (px(i) ^ bb1) * (e ^ (-px(i) ^ (bb1 + 1) / cc1)) '理論產(chǎn)油量Qo公式</p><p>

112、<b>  '實(shí)際散點(diǎn)</b></p><p>  s(i, 0) = px(i)</p><p>  s(i, 1) = q0(i)</p><p><b>  '預(yù)測(cè)曲線</b></p><p>  s(i, 2) = px(i)</p><p>  s(

113、i, 3) = py(i)</p><p><b>  Next i</b></p><p><b>  '散點(diǎn)</b></p><p>  Dim Index As Integer</p><p>  Index = 1 '設(shè)置圖標(biāo)類型為非自動(dòng)選擇,這樣可以設(shè)置為自己需要的類型&l

114、t;/p><p>  MSChart1.Plot.SeriesCollection(Index).ShowLine = False '去除連線!!</p><p>  MSChart1.Plot.SeriesCollection.Item(Index).SeriesMarker.Auto = False</p><p>  With MSChart1.Plot.

115、SeriesCollection.Item(Index).DataPoints.Item(-1).Marker</p><p>  .Visible = True '散點(diǎn)的點(diǎn)是否可見</p><p>  .Size = 120 '散點(diǎn)的大小</p><p>  .Style = VtMarkerStyleFilledDiamond 

116、9;選擇菱形的</p><p>  .FillColor.Automatic = False '顏色不自動(dòng)填充</p><p>  .FillColor.Set 400, 15, 400 '設(shè)置為紫紅色</p><p>  .Pen.VtColor.Set 400, 15, 400 '同樣這個(gè)也必須設(shè)置,否則中間有默認(rèn)的顏色</p>

117、;<p><b>  End With</b></p><p><b>  '橫縱坐標(biāo)表示</b></p><p>  With Form1.MSChart1</p><p>  .Plot.Axis(VtChAxisIdX, 0).AxisTitle = "t"</p>

118、;<p>  .Plot.Axis(VtChAxisIdY, 0).AxisTitle = "Qo"</p><p>  .Title.Text = "Qo與t關(guān)系曲線"</p><p><b>  End With</b></p><p>  MSChart1.ChartData = s

119、 '顯示圖形</p><p><b>  End Sub</b></p><p>  Private Sub d2_Click()</p><p>  '累積產(chǎn)油量Np與時(shí)間t的關(guān)系曲線</p><p>  MSChart2.Visible = True</p><p>  

120、ReDim px(yt), py(yt), s(yt, 3)</p><p>  'st = yt / 500</p><p>  For i = 1 To mn</p><p><b>  px(i) = i</b></p><p>  py(i) = aa1 * cc1 * (1 - (e ^ (-px(i)

121、 ^ (bb1 + 1) / cc1))) / (bb1 + 1) '累計(jì)產(chǎn)油量Np公式</p><p><b>  '實(shí)際散點(diǎn)</b></p><p>  s(i, 0) = px(i)</p><p>  s(i, 1) = np(i)</p><p><b>  '預(yù)測(cè)曲線&

122、lt;/b></p><p>  s(i, 2) = px(i)</p><p>  s(i, 3) = py(i)</p><p><b>  Next i</b></p><p><b>  '散點(diǎn)</b></p><p>  Dim Index As In

123、teger</p><p>  Index = 1 '設(shè)置圖標(biāo)類型為非自動(dòng)選擇,這樣可以設(shè)置為自己需要的類型</p><p>  MSChart2.Plot.SeriesCollection(Index).ShowLine = False '去除連線?。?lt;/p><p>  MSChart2.Plot.SeriesCollection.Item(In

124、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 = 120

125、'散點(diǎn)的大小</p><p>  .Style = VtMarkerStyleFilledDiamond '選擇菱形的</p><p>  .FillColor.Automatic = False '顏色不自動(dòng)填充</p><p>  .FillColor.Set 400, 15, 400 '設(shè)置為紫紅色</p><

126、;p>  .Pen.VtColor.Set 400, 15, 400 '同樣這個(gè)也必須設(shè)置,否則中間有默認(rèn)的顏色</p><p><b>  End With</b></p><p>  With Form1.MSChart2</p><p>  .Plot.Axis(VtChAxisIdX, 0).AxisTitle = &qu

127、ot;t"</p><p>  .Plot.Axis(VtChAxisIdY, 0).AxisTitle = "Np"</p><p>  .Title.Text = "Np與t關(guān)系曲線"</p><p><b>  End With</b></p><p><b&

128、gt;  '顯示圖形</b></p><p>  MSChart2.Column = 2</p><p>  MSChart2.Plot.UniformAxis = False '自動(dòng)調(diào)節(jié)圖形大小</p><p>  MSChart2.ChartData = s</p><p><

129、;b>  End Sub</b></p><p>  Private Sub d3_Click()</p><p>  '含水率fw與時(shí)間t的關(guān)系曲線</p><p>  MSChart3.Visible = True</p><p>  ReDim px(yt), py(yt), s(yt, 3)</p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論