東北石油大學(xué)計(jì)算方法上機(jī)實(shí)驗(yàn)答案_第1頁
東北石油大學(xué)計(jì)算方法上機(jī)實(shí)驗(yàn)答案_第2頁
東北石油大學(xué)計(jì)算方法上機(jī)實(shí)驗(yàn)答案_第3頁
東北石油大學(xué)計(jì)算方法上機(jī)實(shí)驗(yàn)答案_第4頁
東北石油大學(xué)計(jì)算方法上機(jī)實(shí)驗(yàn)答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

實(shí)驗(yàn)一1.PrivateFunctionf(x!)f=x"3-2*x"2-4*x-7EndFunctionPrivateSubform_click()Dima!,b!,x!,c!a=3:b=4DoWhileAbs(b-a)>0.00001c=(a+b)/2Iff(c)=0ThenExitDoElseIff(a)*f(c)<0Thenb=cElsea二cEndIfEndIfLoopPrintcEndSub1.(對1題進(jìn)行修改后,要求輸入隔根區(qū)間的上下界就能求出根的程序)PrivateFunctionf(x!)f=x"3-2*x"2-4*x-7EndFunctionPrivateFunctiong(a!,b!)Dimy!DoWhileAbs(b-a)>0.00001y=(a+b)/2Iff(y)=0ThenExitDoElseIff(a)*f(y)<0Thenb=yElsea=yEndIfEndIfLoopg=yEndFunctionPrivateSubform_click()Dima!,b!a=InputBox("輸入隔根區(qū)間上界〃)b=InputBox("輸入隔根區(qū)間下界〃)c=g(a,b)PrintcEndSub2.PrivateFunctionf(x!)f=x"4-5*x"2+x+2EndFunctionPrivateSubform_click()Dima!,b!,c!,h!,x!,i%,j%,p(0To4)AsSingle,q(0To4)AsSinglea=-6:b=6:h=0.3x=ai=0Forj=0To100Iff(x)*f(x+h)<=0Thenp(i)=xq(i)=x+hPrint〃[〃;p(i);i=i+1〃,〃;q(i);〃]〃EndIfj=j+1x=x+hNextPrint-實(shí)根分別為:〃Fori=0To3a=p(i)b=q(i)DoWhileAbs(b-a)>0.00001c=(a+b)/2Iff(c)=0ThenExitDoElseIff(a)*f(c)<0Thenb=cElsea=cEndIfEndIfLoopPrint"root=〃;cNextEndSub(h取值使得劃分的隔根區(qū)間避開根所在得區(qū)間上下界)3.PrivateSubform_click()Dima(0To20)AsSingle,yAsSingle,xAsSingleDimiAsInteger,nAsIntegern=InputBox("輸入多項(xiàng)式的次數(shù)〃)Fori=0Tona(i)=InputBox("輸入&(〃&Str(i)&〃)〃)Nextix=InputBox("輸入x")y=a(n)Fori=1Tony=y*x+a(n-i)NextiPrintyEndSub實(shí)驗(yàn)二1.(1)PrivateSubform_click()Dimx0AsSingle,x1AsSingleDimMAsIntegerx1=2:M=5:k=1Dox0=x1x1=x0-(x0”3-x0”2-2*x0-3)/(3*x0"2-2*x0-2)k=k+1LoopWhilek<MAndAbs(x1-x0)>0.00001Printx1EndSub(2)PrivateSubform_click()Dimx0AsSingle,x1AsSingleDimMAsIntegerx1=1:M=6:k=1Dox0=x1x1=x0-(x0-Sin(x0)-0.5)/(1-Cos(x0))k=k+1LoopWhilek<MAndAbs(x1-x0)>0.00001Printx1EndSub2PrivateSubform_click()Dimx0AsSingle,x1AsSingleDimaAsIntegera=InputBox("輸入a")Ifa=0ThenPrint"a的立方根=0"EndEndIfx1=aDox0=x1x1=x0-(x0"3-a)/(3*x0"2)LoopWhileAbs(x1-x0)>0.000005Print"a的立方根為:";x1EndSub3.PrivateSubform_click()Dimx0AsSingle,x1AsSingle,x2AsSingleDimMAsIntegerx1=0:x2=1:M=6:k=1Dox0=x1x1=x2x2=x1-(f(x1)*(x1-x0)/(f(x1)-f(x0)))k=k+1LoopWhilek<MAndAbs(x1-x0)>0.0001Printx1EndSubPrivateFunctionf(x!)f=x+Sin(x)-1EndFunction4.PrivateSubform_click()Dimx#,x1#x1二1Dox=x1x1=x-(x-Exp(-x))/(1+Exp(-x))LoopWhileAbs(x1一x)>=10”(-5)Print"a的立方根為:”;x1EndSub實(shí)驗(yàn)三1.按列選主元德高斯消去法解線性方程組的通用程序OptionBase1PrivateSubForm_Click()Dima(1To3,1To4)AsSingle,t#,i!,j!,k!,r!,l#,x(1To3)AsSingleFori=1To3Forj=1To4a(i,j)=InputBox(〃輸入一個(gè)數(shù)〃)Printa(i,j);NextjPrintNextiFork=1To2r=kFori=k+1To3IfAbs(a(i,k))>Abs(a(r,k))Thenr二iNextiIfr<>kThenFori=1To4t=a(k,i)a(k,i)=a(r,i)a(r,i)=tNextiEndIfFori=k+1To3l=a(i,k)/a(k,k)Forj=k+1To4a(i,j)=a(i,j)-l*a(k,j)NextjNextiNextkFork=3To1Step-1s=0Forj=k+1To3s=s+a(k,j)*x(j)Nextjx(k)=(a(k,4)-s)/a(k,k)NextkFori=1To3Printx(i),NextiEndSub3.用LU分解法解線性方程組PrivateSubform_click()Constn=4Dima(1Ton,1Ton)AsSingle,l(1Ton,1Ton)AsSingle,u(1Ton,1Ton)AsSingleDimx(1Ton)AsSingle,y(1Ton)AsSingle,b(1Ton)AsSingle,s#,i!,j!,k!,r!Fori=1TonForj=1Tona(i,j)=InputBox(〃輸入a數(shù)組〃)Printa(i,j),NextjPrintNextiFori=1Tonb(i)=InputBox(〃輸入b數(shù)組〃)Printb(i),NextiPrintFork=1TonForj=kTons=0Forr=1Tok-1s=s+l(k,r)*u(r,j)Nextru(k,j)=a(k,j)-sNextjFori=k+1Tons=0Forr=1Tok-1s=s+l(i,r)*u(r,k)Nextrl(i,k)=(a(i,k)-s)/u(k,k)NextiNextkFori=1Tons=0Fork=1Toi-1s=s+l(i,k)*y(k)Nextky(i)=b(i)-sNextiFori=nTo1Step-1s=0Fork=i+1Tons=s+(u(i,k)*x(k))Nextkx(i)=(y(i)-s)/u(i,i)NextiFori=1TonPrintx(i)NextiEndSub實(shí)驗(yàn)四5.雅克比迭代OptionBase1Functioncha(x!(),y!())AsSingleDimzAsSingle,iAsSingle,kAsIntegern=3z=Abs(x(1)-y(1))Fori=2TonIfz<Abs(x(i)-y(i))Thenz=Abs(x(i)-y(i))Nexticha=zEndFunctionPrivateSubform_click()Dima1,x(3)AsSingle,y(3)AsSingleDimtAsSingle,sAsSingle,a(3,3)AsSingleDimiAsInteger,jAsInteger,kAsInteger,nAsIntegern=3a1=Array(10,-2,-1,-2,10,-1,-1,-2,5)b=Array(3,15,10)Fori=1Ton:y(i)=0:Nextik=1Fori=1To3Forj=1To3a(i,j)=a1(k)k=k+1Nextj,iFork=1To30Fori=1Ton|x(i)=y(i)NextiFori=1Tont=0Forj=1TonIfi<>jThent=t+a(i,j)*x(j)Nextjy(i)=(b(i)-t)/a(i,i)NextiIfcha(x,y)<0.000000000001ThenPrintk;Fori=1TonPrinty(i);NextiExitForEndIfNextkIfk>30ThenPrint〃發(fā)散〃EndSub運(yùn)行結(jié)果“19123”Function函數(shù)是用來求(max|y(i)-x(i)|)高斯一賽德爾迭代OptionBase1Functioncha(x!(),y!())AsSingleDimzAsSingle,iAsSingle,kAsIntegern=3z=Abs(x(1)-y(1))Fori=2TonIfz<Abs(x(i)-y(i))Thenz=Abs(x(i)-y(i))Nexticha=zEndFunctionPrivateSubform_click()Dima1,x(3)AsSingle,y(3)AsSingleDimtAsSingle,sAsSingle,a(3,3)AsSingleDimiAsInteger,jAsInteger,kAsInteger,nAsIntegern=3a1=Array(10,-2,-1,-2,10,-1,-1,-2,5)b=Array(3,15,10)Fori=1Ton:x(i)=0:Nextik=1Fori=1To3Forj=1To3a(i,j)=a1(k)k=k+1Nextj,iFork=1To30Fori=1Tony(i)=x(i)NextiFori=1Tont=0Forj=1TonIfi<>jThent=t+a(i,j)*x(j)Nextjx(i)=(b(i)-t)/a(i,i)NextiIfcha(x,y)<0.000000000001ThenPrintk;Fori=1TonPrintx(i);NextiExitForEndIfNextkIfk>30ThenPrint〃發(fā)散〃EndSub運(yùn)行結(jié)果“11123”注意比較雅克比迭代、高斯一賽德爾迭代程序中“涂灰部分的區(qū)別”實(shí)驗(yàn)五3.拉格朗日插值多項(xiàng)式PrivateSubForm_click()Constn=3Dimp#,s!Dimx,yAsVariantx=Array(1,2,3,4)y=Array(4,5,14,37)t=InputBox("inputt")p=0Fork=0Tons=1Fori=0Ton

Ifi<>kThens=s*((t-x(i))/(x(k)-x(i)))EndIfNextip=p+y(k)*sNextkPrintpEndSub運(yùn)行結(jié)果(t=3.5):23.375Vb牛頓基本插值公式程序PrivateSubForm_click()Constn=5Dimx(n)AsSingle,y(n)AsSingle,t#,p#,s#Fori=0Tonx(i)=InputBox(〃inputx"&Trim(Str(i)))y(i)=InputBox("inputy"&Trim(Str(i)))Nextit=InputBox("inputt")Fork=1TonFori=nTokStep-1y(i)=(y(i)-y(i-1))/(x(i)-x(i-k))NextiNextkp二y(0)h=1Fori=1Tonh=h*(t-x(i-1))p=p+h*y(i)Nextii123456x(i)134526Y(i)21017265i123456x(i)134526Y(i)2101726537EndSub運(yùn)行結(jié)果(t=3.5):13.25實(shí)驗(yàn)六Fori=0Tom+t1=a(k,i)a(k,i)=a(r,i)a(r,i)=t1NextiDimxAsVariant,n=7m=2x=Array(0,1,2,y=Array(0,5,3,yAsVariant3,4,5,6,7)2,1,2,4,7)Nexta(i,NextNextForiReDima(0Tom,0TomyAsVariant3,4,5,6,7)2,1,2,4,7)Nexta(i,NextNextForiFork=1Tons=s+(x(k)-i)*y(k)Nextka(i,m+1)=sForj=0Toms=0Fork=1Tons=s+(x(k))"(i+j)kj)=sji二0TomForjPrinta(i,j),NextForjPrinta(i,j),NextjPrintNextiFork=0Tomr=kFori=k+1TomIfAbs(a(i,k))>Abs(a(r,k))Thenr二iEndIfNextiIfr<>kThen1EndIfl=1Fori=k+1Toml=a(i,k)/a(k,k)Forj=k+1Tom+1a(i,j)=a(i,j)-l*a(k,j)NextjNextiNextkFork=mTo0Step-1s=0Forj=k+1Toms=s+a(k,j)*t(j)注意此Nextjt(k)=(a(k,m+1)-s)/a(k,k)NextkPrint〃y=〃;t(0);Fori=1TomIft(i)>=0ThenPrint〃+〃;Printt(i);〃*x"〃;i;NextiEndSub運(yùn)行結(jié)果7140.找加1407541041407S44B76ESB疙8.571432-3;如如麗.?獨(dú)"1+.52380^7愉:*-實(shí)驗(yàn)七1.編制變步長的梯形公式求數(shù)值積分的通用程序,試算積分為【積分下限為0,積分上限為1,被積函數(shù)為:1/(1+x*x)】當(dāng)精度要求為0.00001時(shí),計(jì)算結(jié)果為0.7853956.PrivateSubform_click()DimaAsSingle,bAsSingle,epsAsSingle,sAsSingleDimxAsSingle,hAsSingle,t1AsSingle,tAsSinglea=InputBox("輸入積分下限a")b=InputBox("輸入積分上限b")eps=InputBox("輸入精度要求eps")h=b-at2=(h/2)*(f(a)+f(b))Dot1=t2s=0Forx=a+h/2TobStephs=s+f(x)Nextxt2=t1/2+(h/2)*sh=h/2LoopWhileAbs(t1-t2)>epsPrint"積分的近似值:〃;t2EndSubFunctionf(xAsSingle)AsSinglef=1/(1+x*x)EndFunction2.復(fù)合Simpson公式求積分的通用程序,設(shè)N=8,試算例題為積分下限為0,積分上限為1,被積函數(shù)為:1/(1+x*x),運(yùn)行結(jié)果為0.785398PrivateSubform_click()DimaAsSingle,bAsSingle,epsAsSingle,sAsSingleDimxAsSingle

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論