數(shù)值計(jì)算方法大作業(yè)_第1頁(yè)
數(shù)值計(jì)算方法大作業(yè)_第2頁(yè)
數(shù)值計(jì)算方法大作業(yè)_第3頁(yè)
數(shù)值計(jì)算方法大作業(yè)_第4頁(yè)
數(shù)值計(jì)算方法大作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

目錄TOC\o"1-5"\h\z\o"CurrentDocument"第一章非線性方程求根 3\o"CurrentDocument"迭代法 3牛頓法 4\o"CurrentDocument"弦截法 5\o"CurrentDocument"二分法 6\o"CurrentDocument"第二章插值 7\o"CurrentDocument"線性插值 7\o"CurrentDocument"二次插值 8\o"CurrentDocument"拉格朗日插值 9分段線性插值 10\o"CurrentDocument"分段二次插值 11\o"CurrentDocument"第三章數(shù)值積分 13\o"CurrentDocument"復(fù)化矩形積分法 13復(fù)化梯形積分法 14辛普森積分法 15變步長(zhǎng)梯形積分法 16\o"CurrentDocument"第四章線性方程組數(shù)值法 17約當(dāng)消去法 17\o"CurrentDocument"高斯消去法 18\o"CurrentDocument"三角分解法 20雅可比迭代法 21\o"CurrentDocument"高斯一賽德?tīng)柕?23\o"CurrentDocument"第五章常積分方程數(shù)值法 25顯示歐拉公式法 25\o"CurrentDocument"歐拉公式預(yù)測(cè)校正法 26\o"CurrentDocument"改進(jìn)歐拉公式法 27四階龍格一庫(kù)塔法 28數(shù)值計(jì)算方法第一章非線性方程求根1.1迭代法程序代碼:PrivateSubCommand1_Click()x0=Val(InputBox("請(qǐng)輸入初始值x0"))印=Val(InputBox(請(qǐng)輸入誤差限ep))f=0Whilef=0X1=(Exp(2*x0)-x0)/5IfAbs(X1-x0)<epThenPrintX1f=1Elsex0=X1EndIfWendEndSub例:求f(x)=e2x-6x=0在x=0.5附近的根(ep=10-10)◎Fomil ||=|||回|..3095306434794671.21.2牛頓法程序代碼:PrivateSubCommand1_Click()b=Val(InputBox("請(qǐng)輸入被開(kāi)方數(shù)x0"))印=Val(InputBox(請(qǐng)輸入誤差限ep))f=0Whilef=0X1=x0-(x0A2-b)/(2*b)IfAbs(X1-x0)<epThenPrintX1f=1Elsex0=X1EndIfWendEndSub例:求J5的值。(ep=10-i0)亡曰Formi [ui||回||函|;F7.483314772979451.3弦截法程序代碼:PrivateSubCommand1_Click()x0=Val(InputBox("請(qǐng)輸入第一個(gè)初始值x0"))X1=Val(InputBox("請(qǐng)輸入第二個(gè)初始值x1"))印=Val(InputBox("請(qǐng)輸入誤差限ep"))f=0Whilef=0X2=X1-(X1A8-13)*(X1-x0)/((X1A8-13)-(x0A8-13))IfAbs(X2-X1)<epThenPrintX2f=1Elsex0=X1X1=X2EndIfWendEndSub例:求f(x)=x8-13的正根(初始值x1=1,x2=10,ep=10-10)1.4二分法程序代碼:PrivateSubCommand1_Click()a=Val(InputBox("請(qǐng)輸入?yún)^(qū)間端點(diǎn)a"))b=Val(InputBox("請(qǐng)輸入?yún)^(qū)間端點(diǎn)b"))印=Val(InputBox("請(qǐng)輸入誤差限ep"))f=0Whilef=0x=(a+b)/2fx=Exp(-x/7)*(9-2*x)-8fa=Exp(-a/7)*(9-2*a)-8Iffx=0Thenf=1Print”方程的根是”,xElseIffa*fx>0Thena=xElseb=xEndIfIfAbs(b-a)<epThenx=(b+a)/2f=1Print”方程的根是”,xEndIfEndIfWendEndSub例:求方程f(x)=e-7/x(9-2x)-8在區(qū)間 內(nèi)的實(shí)根。( 1第二章插值2.1線性插值程序代碼:PrivateSubCommand1_Click()X0=Val(InputBox("請(qǐng)輸入第一個(gè)結(jié)點(diǎn)X:"))Y0=Val(InputBox("請(qǐng)輸入第一個(gè)結(jié)點(diǎn)Y:"))X1=Val(InputBox("請(qǐng)輸入第二個(gè)結(jié)點(diǎn)X:"))Y1=Val(InputBox("請(qǐng)輸入第二個(gè)結(jié)點(diǎn)Y:"))f=0Whilef=0x=Val(InputBox("請(qǐng)輸入未知點(diǎn)的自變量值X:"))L0=(x-X1)/(X0-X1)L1=(x-X0)/(X1-X0)y=L0*Y0+L1*Y1Print"x=";x,"y=";yf=Val(InputBox("是否繼續(xù)(0/1):"))WendEndSub例:已知兩點(diǎn)(13,1)、(49,8),求30處的值。2.2二次插值程序代碼:PrivateSubCommand1_Click()X0=Val(InputBox("請(qǐng)輸入第一個(gè)結(jié)點(diǎn)X:"))Y0=Val(InputBox("請(qǐng)輸入第一個(gè)結(jié)點(diǎn)Y:"))X1=Val(InputBox("請(qǐng)輸入第二個(gè)結(jié)點(diǎn)X:"))Y1=Val(InputBox("請(qǐng)輸入第二個(gè)結(jié)點(diǎn)Y:"))X2=Val(InputBox("請(qǐng)輸入第三個(gè)結(jié)點(diǎn)X:"))Y2=Val(InputBox("請(qǐng)輸入第三個(gè)結(jié)點(diǎn)Y:"))f=0Whilef=0x=Val(InputBox("請(qǐng)輸入未知點(diǎn)的自變量值X:"))L0=(x-X1) * (x- X2)/ (X0- X1)/(X0-X2)L1=(x-X0) * (x- X2)/ (X1- X0)/(X1-X2)L2=(x-X0) * (x- X1)/ (X2- X0)/(X2-X1)y=L0*Y0+L1* Y1+ L2*Y2Print"x=";x,"y=";yf=Val(InputBox("是否繼續(xù)(0/1):"))WendEndSub囪Formlx-98例:已知三點(diǎn)(81,9)、(100,10)、(囪Formlx-98刁[Eirwirmrwiy=9.刁[Ei1111111二次插值|2.3拉格朗日插值程序代碼:PrivateSubCommand1_Click()Dimx(),y()n=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)數(shù)N"))ReDimx(n),y(n)Fori=0Tonx(i)=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)x("+Str(i)+")"))y(i)=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)y("+Str(i)+")"))Nextif=0Whilef=0xx=Val(InputBox("請(qǐng)輸入未知點(diǎn)的自變量x:"))Sum=0Fori=0Tont=1Forj=0TonIfj<>iThent=t*(xx-x(j))/(x(i)-x(j))EndIfNextjSum=Sum+t*y(i)NextiPrint"x=";xx,"y=";Sumf=Val(InputBox("是否繼續(xù)(0/1)"))WendEndSub例:已知四點(diǎn)(100,10)、(81,9)、(64,8)、(49,7),求87處的值。"I&Fcmil 1□|1EIIS3,——;界二日T y=9.32663398692811拉格朗曰插值2.42.4分段線性插值程序代碼:PrivateSubCommand1_Click()Dimx(),y()n=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)數(shù)N"))ReDimx(n),y(n)Fori=0Tonx(i)=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)x("+Str(i)+")"))y(i)=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)y("+Str(i)+")"))Nextif=0Whilef=0xx=Val(InputBox("請(qǐng)輸入未知點(diǎn)的自變量x:"))L=0j=1WhileL=0Ifxx<x(j)Thenk=j+1L=1Elsej=j+1Ifj>n-1Thenk=n-1L=1EndIfEndIfWend=(xx-x(k))/(x(k-1)-x(k))=(xx-x(k-1))/(x(k)-x(k-1))yy=l0*y(k-1)+l1*y(k)Print"x=";xx,"y=";yyf=Val(InputBox("是否繼續(xù)(0/1)"))WendEndSub例:已知三點(diǎn)(361,19)、(324,18)、(289,17),N=2,求300處的值。3Forml |口一回.型.礴巡口凈17.3142857142857分段線性插值2.5分段二次插值程序代碼:PrivateSubCommand1_Click()Dimx(),y()n=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)數(shù)N"))ReDimx(n),y(n)Fori=0Tonx(i)=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)x("+Str(i)+")"))y(i)=Val(InputBox("請(qǐng)輸入插值節(jié)點(diǎn)y("+Str(i)+")"))Nextif=0Whilef=0xx=Val(InputBox("請(qǐng)輸入未知點(diǎn)的自變量x:"))Ifx0<x(1)Thenk=1f=1EndIfi=2DoWhilef=0Andi>=n-1Ifx0<x(i)ThenIfx0-x(i-1)<x(i)-x0Thenk=i-1f=1Elsek=if=1EndIfElsei=i+1EndIfLoopIff=0Thenk=n-1EndIf11= (xx- x(k+1)) *(xx-x(k))/((x(k-1)- x(k+1)) * (x(k- 1)-x(k)))12= (xx- x(k+1)) *(xx-x(k-1))/((x(k)- x(k+1)) * (x(k) -x(k - 1)))l3= (xx- x(k))*(xx-x(k-1))/((x(k+1)- x(k))*(x(k+1) -x(k - 1)))yy= l1* y(k-1)+ l2*y(k)+l3*y(k+1)Print"x=";xx,"y=";yyf=Val(InputBox("是否繼續(xù)(0/1)"))WendEndSub例:已知三點(diǎn)(225,15)、(196,14)、(169,13),求180處的值。_aForml I-||E|r^~lrX=180 y=415435139ST31分段二次插值復(fù)化梯形積分法復(fù)化梯形積分法第三章數(shù)值積分3.1復(fù)化矩形積分法程序代碼:PrivateSubCommand1_Click()a=Val(InputBox("請(qǐng)輸入積分下限a"))b=Val(InputBox("請(qǐng)輸入積分上限b"))n=Val(InputBox("請(qǐng)輸入積分區(qū)間等分?jǐn)?shù)N"))h=(b-a)/nSum=0Fori=1TonSum=Sum+(a+(i-0.5)*h)A2Nextir=h*SumPrint”復(fù)化矩形積分法計(jì)算結(jié)果:”;rEndSub例:求X2在區(qū)間 的積分值,等分區(qū)間為111|Click程序代碼:程序代碼:3.33.3辛普生積分法請(qǐng)輸入積分下限請(qǐng)輸入積分上限請(qǐng)輸入積分區(qū)間等分?jǐn)?shù)復(fù)化梯形積分法計(jì)算結(jié)果:例:求X2在區(qū)間 的積分值,等分區(qū)間為3.43.4變步長(zhǎng)梯形積分法程序代碼:PrivateSubCommand1_Click()a=Val(InputBox("請(qǐng)輸入積分下限A:"))b=Val(InputBox("請(qǐng)輸入積分上限B:"))n=Val(InputBox("請(qǐng)輸入積分區(qū)間等分?jǐn)?shù)N:"))h=(b-a)/nSum=0w=a+h/2Whilew<bSum=Sum+(w-h/2)A2+4*wA2+(w+h/2)A2w=w+hWends=Sum*h/6Print”辛普生積分法計(jì)算結(jié)果:”;sEndSub日Forml例:求X2日FormlI口II回114辛普生積分法計(jì)算結(jié)果:32-6666666666666辛普生積分法程序代碼:PrivateSubCommand1_Click()a=Val(InputBox("請(qǐng)輸入積分下限a:"))b=Val(InputBox("請(qǐng)輸入積分上限b:"))印=Val(InputBox("請(qǐng)輸入誤差限ep:"))n=1h=b-at1=h*(aA2+bA2)/2f=0Whilef=0Sum=0Fori=1Ton-1Sum=Sum+(a+(i-1/2)*h)a2NextiT2=t1/2+h*Sum/2IfAbs(T2-t1)<epThenPrintT2f=1Elset1=T2h=h/2n=2*nEndIfWendEndSub例:求X2在區(qū)間 的積分值,誤差限第四章線性方程組數(shù)值解法約當(dāng)消去法程序代碼:請(qǐng)輸入方程的個(gè)數(shù)請(qǐng)輸入增廣矩陣?yán)阂阎匠探M求的值。高斯消去法程序代碼:PrivateSubCommand1_Click()Dima(),x()n=Val(InputBox("請(qǐng)輸入方程個(gè)數(shù)N:"))ReDima(n,n+1),x(n)Fori=1TonForj=1Ton+1a(i,j)=Val(InputBox(”請(qǐng)輸入增廣矩陣A("+Str(i)+","+Str(j)+"):"))NextjNextiFork=1Ton-1m=a(k,k)Forj=kTon+1a(k,j)=a(k,j)/mNextjFori=k+1Tonm=a(i,k)Forj=kTon+1a(i,j)=a(i,j)-a(k,j)*mNextjNextiNextkx(n)=a(n,n+1)/a(n,n)Fori=n-1To1Step-1Sum=0Forj=i+1TonSum=Sum+a(i,j)*x(j)Nextjx(i)=a(i,n+1)-SumNextiFori=1TonPrint"x("+Str(i)+")=";x(i)NextiEndSub例:已知方程組求 的值。三角分解法程序代碼:PrivateSubCommand1_Click()Dima(),b(),l(),u(),x(),y()n=Val(InputBox("請(qǐng)輸入方程個(gè)數(shù)N:"))ReDima(n,n),b(n),l(n,n),u(n,n),x(n),y(n)Fori=1TonForj=1Tona(i,j)=Val(InputBox("請(qǐng)輸入系數(shù)矩陣A("+Str(i)+","+Str(j)+"):"))Nextjb(i)=Val(InputBox("請(qǐng)輸入右端常數(shù)項(xiàng)B("+Str(i)+"):"))NextiFori=1TonForj=1TonIfi>jThenSum=0Fork=1Toj-1Sum=Sum+l(i,k)*u(k,j)Nextkl(i,j)=(a(i,j)-Sum)/u(j,j)ElseSum=0Fork=1Toi-1Sum=Sum+l(i,k)*u(k,j)Nextku(i,j)=a(i,j)-SumEndIfNextjNextiFori=1TonSum=0Forj=1Toi-1Sum=Sum+l(i,j)*y(j)Nextjy(i)=b(i)-SumNextiFori=nTo1Step-1Sum=0Forj=i+1TonSum=Sum+u(i,j)*x(j)Nextjx(i)=(y(i)-Sum)/u(i,i)Nexti

Fori=1TonPrint"x("+Str⑴+")=";x(i)NextiEndSub例:已知方程組求 的值。2口Forrnl |■=!||回三角分解法程序代碼:雅可比迭代法程序代碼:請(qǐng)輸入方程個(gè)數(shù)請(qǐng)輸入誤差限請(qǐng)輸入最大迭代次數(shù)請(qǐng)輸入系數(shù)矩陣請(qǐng)輸入右端常數(shù)項(xiàng)請(qǐng)輸入初始解迭代失敗例:已知方程組求初始值均為)的值。(最大迭代次數(shù)白.Form工ft.582814840156221J1(a(,alVx(-27=.428034813659462J1(a(,alVx.(4)=.702599861748731雁可比迭代法高斯一賽德?tīng)柕ǔ绦虼a:PrivateSubCommand1_Click()Dima(),b(),x()n=Val(InputBox("請(qǐng)輸入方程個(gè)數(shù)N:"))ep=0.0001nmax=10000ReDima(n,n),b(n),x(n)Fori=1TonForj=1Ton:"))a(i,j)=Val(InputBox("請(qǐng)輸入系數(shù)矩陣A("+Str(i)+","+Str(j)+":"))Nextjb(i)=Val(InputBox("請(qǐng)輸入右端常數(shù)項(xiàng)b(:"+Str(i)+"):"))NextiFori=1Tonx(i)=Val(InputBox("請(qǐng)輸入初始解X(:"+Str(i)+"):"))Nextik=0f=0Whilef=0Max=0Fori=1TonSum=0Forj=1TonSum=Sum+a(i,j)*x(j)Nextj

d=(b(i)-Sum)/a(i,i)x(i)

溫馨提示

  • 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)論