計(jì)算機(jī)在化工中的應(yīng)用實(shí)驗(yàn)報(bào)告_第1頁(yè)
計(jì)算機(jī)在化工中的應(yīng)用實(shí)驗(yàn)報(bào)告_第2頁(yè)
計(jì)算機(jī)在化工中的應(yīng)用實(shí)驗(yàn)報(bào)告_第3頁(yè)
計(jì)算機(jī)在化工中的應(yīng)用實(shí)驗(yàn)報(bào)告_第4頁(yè)
計(jì)算機(jī)在化工中的應(yīng)用實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

《計(jì)算機(jī)在化學(xué)化工中的應(yīng)用》實(shí)驗(yàn)報(bào)告學(xué)院:化學(xué)與化工學(xué)院班級(jí):12級(jí)碩勛勵(lì)志班姓名:徐凱杰學(xué)號(hào):120702028實(shí)驗(yàn)一傳熱實(shí)驗(yàn)中多變量的曲線的擬合一、實(shí)驗(yàn)?zāi)康?)熟悉VB編程平臺(tái)2)掌握多變量曲線擬合的算法3)編擬合所給的傳熱實(shí)驗(yàn)?zāi)P偷腣B程序4)經(jīng)過(guò)實(shí)驗(yàn)數(shù)據(jù)求出模型數(shù)據(jù)、并掌握解線性方程組的克拉默法規(guī)二、運(yùn)行環(huán)境1)MicrosoftWindowsXP2)VB6.0三、實(shí)驗(yàn)原理略四、vb代碼PrivateSubCommand1_Click( )DimmAsInteger'm=inputbox(“實(shí)驗(yàn)次數(shù)”)m=7Dimx10,x20,y0Dimi,j,kAsIntegerDima(1To10,1To10),y(1To10),y1(1To10),a0,a1,a2Dims,S1,S2,S3,b(1To10,1To10),xxDimx1(1To10),x2(1To10),YY,sd'open"dem.dat"forinputas#1'fori=1tominput#1,xx,YYx1(i)=xxx2(i0=xx^2y(i)=YY'nexti'close#1'7組努塞爾準(zhǔn)數(shù)、雷諾數(shù)及普蘭德準(zhǔn)數(shù),數(shù)據(jù)最大時(shí)應(yīng)采用直接從文件讀取方法x10=Array(0,100,200,300,500,100,700,800)'注意下標(biāo)的起點(diǎn)辦理(加0)x20=Array(0,2,4,1,0.3,5,3,4)'注意下標(biāo)的起點(diǎn)辦理(加0)y0=Array(0,1.127,2.416,2.205,2.312,1.484,6.038,7.325)'注意下標(biāo)的起點(diǎn)辦理(加0)Fori=1Tomx1(i)=Log(x10(i))x2(i)=Log(x20(i))y(i)=Log(y0(i))Nexti'求解法方程系數(shù)矩陣a(1,1)=ma(1,2)=0Fori=1Toma(1,2)=a(1,2)+x1(i)Nextia(2,1)=a(1,2)a(1,3)=0Fori=1Toma(1,3)=a(1,3)+x2(i)Nextia(3,1)=a(1,3)a(2,2)=0Fori=1Toma(2,2)=a(2,2)+x1(i)*x1(i)Nextia(3,3)=0Fori=1Toma(3,3)=a(3,3)+x2(i)*x2(i)Nextia(2,3)=0Fori=1Toma(2,3)=a(2,3)+x1(i)*x2(i)Nextia(3,2)=a(2,3)'求解法方程常數(shù)向量y1(1)=0Fori=1Tomy1(1)=y1(1)+y(i)Nextiy1(2)=0Fori=1Tomy1(2)=y1(2)+x1(i)*y(i)Nextiy1(3)=0Fori=1Tomy1(3)=y1(3)+x2(i)*y(i)Nexti'(利用克拉默法規(guī)解法方程/線性特別組)s=a(1,1)*a(2,2)*a(3,3)+a(1,2)*a(2,3)*a(3,1)+a(1,3)*a(2,1)*a(3,2)s=s-a(1,1)*a(2,3)*a(3,2)-a(1,2)*a(2,1)*a(3,3)-a(1,3)*a(2,2)*a(3,1)Forj=1To3b(j,1)=a(j,1)a(j,1)=y1(j)NextjS1=a(1,1)*a(2,2)*a(3,3)+a(1,2)*a(2,3)*a(3,1)+a(1,3)*a(2,1)*a(3,2)S1=S1-a(1,1)*a(2,3)*a(3,2)-a(1,2)*a(2,1)*a(3,3)-a(1,3)*a(2,2)*a(3,1)Forj=1To3a(j,1)=b(j,1)NextjForj=1To3b(j,2)=a(j,2)a(j,2)=y1(j)NextjS2=a(1,1)*a(2,2)*a(3,3)+a(1,2)*a(2,3)*a(3,1)+a(1,3)*a(2,1)*a(3,2)S2=S2-a(1,1)*a(2,3)*a(3,2)-a(1,2)*a(2,1)*a(3,3)-a(1,3)*a(2,2)*a(3,1)Forj=1To3a(j,2)=b(j,2)NextjForj=1To3b(j,3)=a(j,3)a(j,3)=y1(j)NextjS3=a(1,1)*a(2,2)*a(3,3)+a(1,2)*a(2,3)*a(3,1)+a(1,3)*a(2,1)*a(3,2)S3=S3-a(1,1)*a(2,3)*a(3,2)-a(1,2)*a(2,1)*a(3,3)-a(1,3)*a(2,2)*a(3,1)a0=S1/sa1=S2/sa2=S3/sText1.Text=Int(1000*Exp(a0)+0.5)/1000'四舍五入保留三位Text2.Text=Int(1000*a1+0.5)/1000Text3.Text=Int(1000*a2+0.5)/1000sd=0Fori=1Tomsd=sd+Abs(a0+a1*x1(i)+a2*x2(i)-y(i))'求Nextsd=sd/mText4.Text=sd'Int(1000*sd+0.5)/1000PrintTab(50);"序號(hào)","模型計(jì)算值","實(shí)驗(yàn)值"Fori=1TomPrintPrintTab(45);i;(Text1.Text)*(x10(i)^(Text2.Text))*(x20(i)^(Text3.Text));0.023*(x10(i)^0.8)*(x20(i)^0.3)NextEndSub五、實(shí)驗(yàn)結(jié)果截圖六、實(shí)驗(yàn)后思慮。VB編程是一種簡(jiǎn)單,并且效率高的可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言。。經(jīng)過(guò)對(duì)本實(shí)驗(yàn)的實(shí)質(zhì)操作,我掌握了多變量曲線擬合的基本算法,了解認(rèn)識(shí)線性方程組的克拉默法規(guī)。并且,同時(shí)在今后的工作中,可以經(jīng)過(guò)這個(gè)實(shí)驗(yàn)來(lái)解決大部分實(shí)驗(yàn)數(shù)據(jù)及模型參數(shù)的擬合問(wèn)題。實(shí)驗(yàn)二梯度法擬合蒸汽壓與溫度關(guān)系模型一、實(shí)驗(yàn)?zāi)康?)掌握梯度法擬合的基本算法以及理解其普適性2)編寫梯度法擬合蒸汽壓與溫度的關(guān)系的VB程序3)經(jīng)過(guò)實(shí)對(duì)程序進(jìn)行考據(jù),并注意比較初值對(duì)運(yùn)行速度和結(jié)果的影響二、運(yùn)行環(huán)境1)MicrosoftWindowsXP2)VB6.0三、實(shí)驗(yàn)原理略四、實(shí)驗(yàn)VB程序代碼PrivateSubCommand1_Click(IndexAsInteger)Dimm,nAsIntegerm=6Dimi,j,kAsIntegerDimA,B,C,F,ee,P(1To10),T(1To10)DimA1,B1,C1,TA,TB,TC,TT,f1,f2,f3Dimsd,W,S,EY,XX,YY'(由dem.dat輸入實(shí)驗(yàn)數(shù)據(jù)XX=Array(-23.7,-10,0,10,20,30,40)'注意下標(biāo)的起點(diǎn)辦理(加0)YY=Array(0.101,0.174,0.254,0.359,0.495,0.662,0.88)'注意下標(biāo)的起點(diǎn)辦理(加0)Print"直接讀數(shù)據(jù)文件后計(jì)算"Fori=1TomT(i)=XX(i)T(i)=273.15+T(i)P(i)=YY(i)*7600PrintT(i),P(i)NextiCloseiA=Val(InputBox("A"))'B=Val(InputBox("B"))'C=Val(InputBox("C"))'1000F=0

指定初值指定初值指定初值Fori=1Tom=FNP(A,B,C,T(i),P(i))ee=ee^2F=F+eeNextif1=0A1=A+0.000001*A'print"A,A1=";A,A1Fori=1Tomee=FNP(A1,B,C,T(i),P(i))=ee^2f1=f1+eeNextiTA=(f1-F)/(0.000001*A)'printf1,F,TA'A=val(inputbox("A"))f2=0B1=B+0.00001*BFori=1Tom=FNP(A,B1,C,T(i),P(i))ee=ee^2f2=f2+eeNextiTB=(f2-F)/(0.00001*B)f3=0C1=C+0.00001*CFori=1Tom=FNP(A,B,C1,T(i),P(i))ee=ee^2f3=f3+eeNextiTC=(f3-F)/(0.00001*C)=TA^2+TB^2+TC^2TT=Sqr(TT)IfTT>0.001ThenA=A-0.005*TAB=B-1.5*TBC=C-0.001*TCGoTo1000ElseEndIfPrintsd=0Fori=1Tom'//計(jì)算絕對(duì)平均相對(duì)誤差sd=sd+Abs(FNSD(A,B,C,T(i),P(i)))/P(i)PrintFNSD(A,B,C,T(i),P(i))Nextisd=sd/mPrintPrint"A,B,C=";A,B,CPrint"sd=";sd'//打印絕對(duì)平均相對(duì)誤差EndSubPublicFunctionFNP(A,B,C,T,P)FNP=(A-B/(T+C))-Log(P)EndFunctionPublicFunctionFNSD(A,B,C,T,P)FNSD=Exp(A-B/(T+C))-PEndFunction五、實(shí)驗(yàn)結(jié)果截圖六、實(shí)驗(yàn)后思慮。本實(shí)驗(yàn)是基于最小二乘原理,函數(shù)擬合的目標(biāo)是使擬合函數(shù)和實(shí)質(zhì)測(cè)量值之間的差的平方和最小。對(duì)于最小值的問(wèn)題,梯度法是用負(fù)梯度方向作為優(yōu)化搜尋方向。而梯度法是一個(gè)簡(jiǎn)單的迭代優(yōu)化計(jì)算方法。注意的是,負(fù)梯度的最速下降性是一個(gè)局部的性質(zhì)。在計(jì)算的先期使用此法,當(dāng)湊近極小點(diǎn)時(shí),在改用其他的算法,如共軛梯度法。實(shí)驗(yàn)三二分法求解化工中的非線性方程一、實(shí)驗(yàn)?zāi)康?)掌握二分法解非線性方程組的基本算法2)編寫二分法邱玨非線性方程組的VB程序3)經(jīng)過(guò)實(shí)例的程序進(jìn)行調(diào)試,并學(xué)習(xí)輸出數(shù)據(jù)格式化二、運(yùn)行環(huán)境1)MicrosoftWindowsXP2)VB6.0三、實(shí)驗(yàn)原理略四、實(shí)驗(yàn)VB代碼PrivateSubCommand1_Click( )DimaxAsSingleDimbxAsSingleDimcxAsSingleDimayAsSingleDimbyAsSingleDimcyAsSingleDimeAsSingleDimnumAsInteger'累計(jì)次數(shù)變量DimstAsStringDimchAsStringDimspAsStringch=Chr(13)+Chr(10)sp=Space(10)st="二分法解方程"+chst=st+"求2,3-二甲基苯胺沸點(diǎn)(當(dāng)P=101325chax=200bx=500e=0.01st=st+"區(qū)間左端點(diǎn)初始值ax="+Str(ax)+chst=st+"區(qū)間右端點(diǎn)初始值bx="+Str(bx)+ch

時(shí)

lnP=59.7622-8013.69/T-5.081lnT)"+st=st+"精度控制限e="+Str(e)+chst=st+"num"+sp+"ax"+Space(14)+"bx"+Space(14)+"|ax-bx|"+chay=F(ax)by=F(bx)num=1DoWhileAbs(ax-bx)>ecx=(ax+bx)/2cy=F(cx)Ifcy=0ThenExitDo'若是已得解,則退出循環(huán)Ifcy*ay>0Thenax=cxay=cyElsebx=cxby=cyEndIfst=st+Format(num,"000")+sp+Format(ax,"000.00")+sp+Format(bx,"000.00")+sp+Format(Abs(ax-bx),"0.0000")+chnum=num+1Loopst=st+ch+"2,3-二甲基苯胺沸點(diǎn):"+Format(cx,"#00.00")+"K"+ch+chst=st+"***時(shí)間:"+Str(Time)+Space(3)+"日期:"+Str(Date)+chText1.Text=""Text1.Text=stEndSub'二分法求2,3-二甲基苯胺沸點(diǎn)所用函數(shù)PrivateFunctionF(ByValuAsSingle)F=Log(101325)-59.7622+8013.69/u+5.081*Log(u)'注意對(duì)數(shù)運(yùn)算EndFunction五、實(shí)驗(yàn)結(jié)果截圖六、實(shí)驗(yàn)后思慮。經(jīng)過(guò)應(yīng)用微積分中的介值定理,是是用二分法的前提條件。若是我們所要求解的方程從物理意義上來(lái)講確實(shí)存在實(shí)根,但又不滿足f(a)f(b)<0,這時(shí)候,我們必定經(jīng)過(guò)改變a和b的值來(lái)滿足二分法的應(yīng)用條件。實(shí)驗(yàn)四主元最大高斯消元法解化工中的線性方程組一、實(shí)驗(yàn)?zāi)康?)掌握主元最大高斯消元法2)編寫最大高斯消元法求解線性方程組的

VB

程序3)經(jīng)過(guò)實(shí)例對(duì)程序進(jìn)行調(diào)試,并比較一般的高斯消去法比較二、運(yùn)行環(huán)境1)MicrosoftWIndowsXP_2)VB6.0三、實(shí)驗(yàn)原理略四、實(shí)驗(yàn)程序代碼PrivateSubCommand1_Click( )Dimm,nAsIntegerDima( ),z( ),x( ),w,aa( ),s,t,k,ln=4ReDima(n+2,2+n),z(n+2,2+n),x(n+1),aa(n+2,2+n)Dimi,j,k1,k2,stDimchAsStringDimspAsStringch=Chr(13)+Chr(10)sp=Space(5)a(1,1)=6#/123.1a(1,2)=6#/93.13a(1,3)=3#/73.1a(1,4)=2#/43.07a(2,1)=5#/123.1a(2,2)=7#/93.13a(2,3)=7#/73.1a(2,4)=6#/43.07a(3,1)=1#/123.1a(3,2)=1#/93.13a(3,3)=1#/73.1a(3,4)=0#/43.07a(4,1)=2#/123.1a(4,2)=0#/93.13a(4,3)=1#/73.1a(4,4)=1#/43.07a(1,5)=57.78/12.01a(2,5)=7.92/1.008a(3,5)=11.23/14.01a(4,5)=23.09/16st=st+"主元最大高斯消去法解線性方程組"+chst=st+"設(shè)有一混雜物由硝基苯、苯胺、氨基丙酮、乙醇組成;"+chst=st+"對(duì)該混雜物進(jìn)行元素解析結(jié)果以百分?jǐn)?shù)表示以下"+chst=st+"C%=57.78%;H%=7.92%;N%=11.23%;O%=23.09%"+chst=st+"原子量:A(C)=12.01;A(H)=1.008;A(N)=14.01;A(O)=16.00"+chst=st+"分子量:硝基苯123.1;苯胺93.13;氨基丙酮73.10;乙醇43.07"+chst=st+"硝基苯分子C-6;H-5;N-1;O-2"+chst=st+"苯胺分子C-6;H-7;N-1;O-0"+chst=st+"氨基丙酮分子C-3;H-7;N-1;O-1"+chst=st+"乙醇分子C-2;H-6;N-0;O-1"+chst=st+"確定上面四種化合物在混雜物中所占的百分比"+ch+ch'搜尋主元Fori=1TonIfi=nThenGoTo200Fort=i+1TonIfAbs(a(i,i))<Abs(a(t,i))ThenFors=iTon+1aa(t,s)=a(i,s)a(i,s)=a(t,s)a(t,s)=aa(t,s)NextsElseEndIfNextt200'消去w=a(i,i)Forj=1Ton+1a(i,j)=a(i,j)/wNextjIfi=nThenGoTo100Forj=i+1TonFork=i+1Ton+1z(i,k)=a(i,k)*a(j,i)a(j,k)=a(j,k)-z(i,k)NextkNextjNexti100'回代x(n+1)=0Fork=nTo1Step-1s=0Forj=k+1Tons=s+a(k,j)*x(j)Nextjx(k)=a(k,n+1)-s'st=st+"x("+str(i)+")="+format(x(i),"00.00")+"%"+ch'print"x(";k;")=";x(k)NextkFori=1Ton'輸出結(jié)果st=st+"x("+Str(i)+")="+Format(x(i),"00.00")+"%"+chNextist=st+chst=st+"***時(shí)間:"+Str(Time)+Space(3)+"日期:"+Str(Date)+chText1.Text=""Text1.Text=stEndSub五、實(shí)驗(yàn)結(jié)果截圖六、實(shí)驗(yàn)后思慮高斯消去法不需要方程組的初值,也不需要重復(fù)迭代計(jì)算。只經(jīng)過(guò)“消去”和“回代”2個(gè)過(guò)程就可以直接求出方程組的解。爾后若是在消去的過(guò)程中,若碰到主元為0,則無(wú)法計(jì)算。所以,發(fā)展了“主元最大高斯消去法”。就是在主元所在的列中,搜尋到最大的元素,進(jìn)行行與行之間的調(diào)換,并將該最大的元素作為主元,保證主元不為0。實(shí)驗(yàn)五廢弛迭代法求解化工中的線性方程組一、實(shí)驗(yàn)?zāi)康?)掌握廢弛迭代法的基本算法及和緊湊迭代的細(xì)微差異2)編寫廢弛迭代法求救線性方程組的VB代碼,注意學(xué)習(xí)從文件讀取數(shù)據(jù)3)經(jīng)過(guò)實(shí)例的程序進(jìn)行考據(jù),并觀察廢弛迭代因子對(duì)結(jié)果的影響二、運(yùn)行環(huán)境1)MicrosoftWIndowseXP2)VB6.0三、實(shí)驗(yàn)原理略四、實(shí)驗(yàn)程序代碼PrivateSubCommand1_Click( )DimnAsIntegerDimi,j,ff,t,k,l,hDimstAsStringDima( )AsSingleDimy( )AsSingleDimb( )AsSingleDimg( )AsSingleDimx1( )AsSingleDimx2( )AsSingleDimjk( )AsIntegerDimchAsStringDimspAsStringch=Chr(13)+Chr(10)sp=Space(5)CommonDialog1.CancelError=True'onerrorgotoerrhandlerCommonDialog1.Filter="數(shù)據(jù)文件(*.txt)|*.txt|拉圖文件(*.bmp)|*.bmp|AllFiles(*.*)|*.*"'文件過(guò)濾CommonDialog1.FilterIndex=0CommonDialog1.DialogTitle="加載增廣矩陣數(shù)據(jù)文件"CommonDialog1.ShowOpen'*****數(shù)據(jù)文件的行數(shù)就是方程的個(gè)數(shù)OpenCommonDialog1.FileNameForInputAs#1DoWhileNotEOF(1)LineInput#1,stn=n+1LoopClose#1'*****數(shù)據(jù)文件的行數(shù)就是方程的個(gè)數(shù)ReDima(1Ton,1Ton)AsSingleReDimb(1Ton,1Ton)AsSingleReDimx1(1Ton)AsSingleReDimx2(1Ton)AsSingleReDimg(1Ton)AsSingleReDimy(1Ton)AsSingle'*****讀數(shù)據(jù)OpenCommonDialog1.FileNameForInputAs#1Fori=1TonForj=1TonInput#1,a(i,j)

'方程等號(hào)左端數(shù)據(jù)NextjInput#1,y(i)

'方程等號(hào)右端數(shù)據(jù)NextiClose#q'*****讀數(shù)據(jù)st="廢弛迭代法解線性方程

"+chst=st+Space(5)+"數(shù)據(jù)本源于"+CommonDialog1.FileName+ch+chst=st+"增廣矩陣以下(對(duì)二甲苯-間二甲苯-鄰二甲苯-乙苯---(混雜物):"+ch+chst=st+Space(5)+"第一行為12.5nm波長(zhǎng)處摩爾吸取系數(shù)-混雜物吸取"+chst=st+Space(5)+"第一行為13.0nm波長(zhǎng)處摩爾吸取系數(shù)-混雜物吸取"+chst=st+Space(5)+"第一行為13.4nm波長(zhǎng)處摩爾吸取系數(shù)-混雜物吸取"+chst=st+Space(5)+"第一行為14.3nm波長(zhǎng)處摩爾吸取系數(shù)-混雜物吸取"+ch+ch'*****輸出原始數(shù)據(jù)Fori=1TonForj=1TonIfa(i,j)>=0Thenst=st+Space(5)+Format(a(i,j),"0.00000")Elsest=st+Space(4)+Format(a(i,j),"0.00000")EndIfNextjIfy(i)>=0Thenst=st+Space(5)+Format(y(i),"0.00000")+chElsest=st+Space(4)+Format(y(i),"0.00000")+chEndIfNexti'*****輸出原始數(shù)據(jù)'---------------------------------------Fori=1Tonx1(i)=0x2(i)=0Nexti'fori=1tonforj=1tona(i,j)=InputBox("a("&i&","&j&")")Printa(i,j),nextj'y(i)=InputBox("y("&i&")")'print"",y(i)'Nexti'產(chǎn)生迭代矩陣Fori=1Tong(i)=y(i)/a(i,i)Forj=1TonIfj=iThenb(i,j)=0Elseb(i,j)=-a(i,j)/a(i,i)EndIfNextjNextie=InputBox("輸入廢弛因子")'開始廢弛迭代DoIfk>=1ThenFori=1Tonx1(i)=x2(i)NextiEndIfFori=1Tons=g(i)Forj=1Tons=s+b(i,j)*x2(j)Nextjx2(i)=(1-e)*x1(i)+e*s'注意Nextieer=0Fori=1Toneer=cer+Abs(x1(i)-x2(i))'計(jì)算誤差Nextik=k+1'累計(jì)次數(shù)LoopWhile(k<100Andeer>=0.001)Printkst=st+ch+"方程組的解為:"+ch+chFori=1Tonst=st+"x("+Str(i)+")="+Format(x2(i),"0.00000")+chNextist=st+ch+"迭代次數(shù)為:"+Str(k)+ch'format(k,"000")st=st+ch+"廢弛因子為:"+Format(e,"0.0000")+chst=st+ch+"誤差為:"+Format(eer,"0.000000")+chst=st+chst=st+"***時(shí)間:"+Str(Time)+Space(3)+"日期:"+Str(Date)+chText1.Text=""Text1.Text=stEndSub五、實(shí)驗(yàn)結(jié)果截圖六、實(shí)驗(yàn)后思慮。廢弛迭代法是數(shù)值計(jì)算中解線性代數(shù)方程組的一類迭代法。逐次超廢弛迭代過(guò)程中,知迭代方程及其系數(shù)矩陣,對(duì)任意的初始值,確定超廢弛因子,用迭代矩陣來(lái)進(jìn)行計(jì)算確定譜半徑,爾后其絕對(duì)值小于一解出來(lái)超廢弛因子。而緊湊迭代是當(dāng)廢弛因子為1的時(shí)候,叫做緊湊迭代。兩者的差異在于廢弛因子的不

已同。實(shí)驗(yàn)六龍格庫(kù)塔法求解化工過(guò)程中的常微分方程一、實(shí)驗(yàn)?zāi)康?)掌握龍格庫(kù)塔法的基本源理2)編寫龍格庫(kù)塔法解決常微分方程的VB程序3)經(jīng)過(guò)實(shí)例的程序進(jìn)行調(diào)試和考據(jù),并觀察初值對(duì)計(jì)算過(guò)程及結(jié)果的影響4)掌握VB繪制二維曲線圖的方法和繪圖參數(shù)的設(shè)置二、運(yùn)行環(huán)境1)MicrosoftWindowsXP2)VB6.0三、實(shí)驗(yàn)原理略四、實(shí)驗(yàn)程序截圖PrivateSubCommand1_Click( )Consteps=0.00001Dimt( )AsSingleDimx( )AsSingleDimy( )AsSingleDimz( )AsSingleDimJ1,J2AsSingleDimK1,K2,K3,K4AsSingleDimQ1,Q2,Q3,Q4AsSingleDimS1,S2,S3,S4AsSingleDimhAsSingleDimiAsIntegerDimnAsIntegerh=0.01J1=1J2=1.1n=Int(10/h)ReDimt(n+1),x(n+1),y(n+1),z(n+1)AsSinglet(0)=0x(0)=0y(0)=0'z(0)=0Fori=0Ton-1K1=-J1*x(i)Q1=J1*x(i)-J2*y(i)S1=h*(J2*y(i))K2=-J1*(x(i)+h*K1/2)Q2=J1*(x(i)+h*K1/2)-J2*(y(i)+h*Q1/2)S2=h*(J2*(y(i)+Q1/2))K3=-J1*(x(i)+h*K2/2)Q3=J1*(x(i)+h*K2/2)-J2*(y(i)+h*Q2/2)S3=h*(J2*(y(i)+Q2/2))K4=-J1*(x(i)+h*K3)Q4=J1*(x(i)+h*K3)-J2*(y(i)+h*Q3)S4=h*(J2*(y(i)+Q3))x(i+1)=x(i)+h*(K1+2*K2+2*K3+K4)/6'計(jì)算A物質(zhì)的濃度y(i+1)=y(i)+h*(Q1+2*Q2+2*Q3+Q4)/6z(i+1)=z(i)+(S1+2*Q2+2*Q3+Q4)/6z(i)=x(0)-x(i)-y(i)t(i+1)=t(i)+h'計(jì)算反應(yīng)時(shí)間tNextiDimaxisname1AsString,axisname2AsStringaxisname1="t"axisname2=""xy_axispicture1,t( ),x( ),axisname1,axisname2Fori=0Ton-1picture1.PSet(t(i),x(i))Nexti'xy_axispicture1,t( ),y( ),axisname1,axisname2Fori=0Ton-1Picture.PSet(t(i),y(i))Nexti'xy_axispicture1,t( ),z( ),axisname1,axisname2Fori=0Ton-1Picture.PSet(t(i),z(i))NextiEndSub模塊代碼Subxy_axis(picAsPictureBox,x1( )AsSingle,y1( )AsSingle,axisname1AsString,axisname2AsString)OnErrorGoToproblemx:DimmaxnumberAsSingle,minnumberAsSingleDimleftxAsSingle,topyAsSingleDimrightxAsSingle,bottomyAsSingleDimnAsIntegern=UBound(x1)pic.Font.Size=12pic.Font.Name="宋體"pic.DrawWidth=2maxminx1( ),maxnumber,minnumberleftx=minnumberrightx=maxnumbermaxminy1( ),maxnumber,minnumbertopy=

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論