數(shù)值分析計算機實驗和4_第1頁
數(shù)值分析計算機實驗和4_第2頁
數(shù)值分析計算機實驗和4_第3頁
數(shù)值分析計算機實驗和4_第4頁
數(shù)值分析計算機實驗和4_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗三復化辛卜生法,龍貝格法目的與要求:通過實際計算體會各種方法的精確度;會編寫用復化辛卜生、龍貝格算法求定積分的程序?qū)嶒瀮?nèi)容:通過實際計算體會各種方法的精確度并且會編寫用復化辛卜生、龍貝格算法求定積分的程序三、程序與實例復化辛卜生公式算法:復化辛卜生公式為Sn=h/6二二f(Xk)4f(Xkh/2)f(Xkd,計k=0算過程為:.令h=(ba)/n,3=f(ah/2),s2二0;.對k=1,2,n-1計算Si二Sf(akhh/2),sS2f(akh)3.s二h/6(f(a)4s2S2f(b)。程序與實例1例用復化辛卜生法計算積分I=./(仁x2)dx源程序:#ineludeintmain()

2、doublea=0.0,b=1.0;doublex=a;doubleSn=0;intn;cout請輸入你想求的階數(shù):;cinn;intm=2*n+1;doubleh=0.5/n;/步長double*f;f=newdoublem;for(inti=0;im;i+)/計算每個點的函數(shù)值fi=1.0/(1+x*x);x=x+h;for(intj=O;jm;j+)輸出coutvvfvvjvvvv二vvfjvvendl;for(intk=0;k=n-1;k+)Sn二Sn+fk*2+4*f2*k+1+f2*(k+1);coutvvSvvn二(h/3)*Sn)endl;return0;運行結(jié)果G:侍大二實螂

3、陵亡bugM_lE請輸入你想求的階數(shù)&FL01=1F(ll=0-?96109f(21=0.984615F31=0-966038Fr41=0-941176F51=0.911032F61=B-87fi712Fr?l=0.83?344f81=0.8Ft91=0-759644F10)=0.719101ffll)=0.679045F123-0-64F(13J=0.602353ffl4=0.566372Ftl51=0.532225F(16J=0.558=0.785398Pi*essankeytocontinuehn二(b-a)/n;x/2=(k1/2)0hn二(b-a)/n;x/2=(k1/2)0說明:本

4、例運行了三次,當n=23=8時,就與n=2龍貝格算法計算I=01心x2)dx;=5e-6算法n4T2n(Tnhn_f(xk1/2),k=0=4時有6位數(shù)字相同,若用復化梯形法計算,當n=512時有此結(jié)果。&-T2n1/3(T2n-)Cn=S2n1/15(S2n_Sn)Rn-C2n1/63(C2Cn)用事后估計法控制精度Rn-尺I”:5e-6源程序:龍貝格法計算積分,f(x)=1/(1+xA2)#include#inelude#definee2.71828183#definef(x)(1.0心.O+(x)*(x)voidmain()doublea=0.0,b=1.0;doubleae=5*e-6

5、;cout精度為:”vvaevvendl;doubleT1=0.5*(f(0)+f(1);doubleT2=0.5*T1+0.5*f(0.5);coutT1=T1endl;coutT2=T2endl;doubleS1=4.0*T2/3.0-1.0*T1/3.0;if(fabs(1.0/3.0)*(T2-T1)vae)coutS1滿足精度要求!endl;coutS1=S1endl;elsecoutS1不滿足精度要求!endl;doubleT4=0.5*T2+0.25*(f(0.25)+f(0.75);doubleS2=(1.0/3.0)*(4*T4-T2);double6=(1.0/15.0)*

6、(16*S2-S1);if(fabs(1.0/15.0)*(S2-S1)vae)coutC1滿足精度要求!endl;coutC1=C1endl;elsecoutC1不滿足精度要求!endl;doubleT8=0.5*T4+(1.0/8.0)*(f(1.0/8.0)+f(3.0/8.0)+f(5.0/8.0)+f(7.0/8.0);doubleS4=(1.0/3.0)*(4*T8-T4);doubleC2=(16.0/15.0)*S4-(1.0/15.0)*S2;doubleR仁(64.0/63.0)*C2-(1.0/63.0)*C1;if(fabs(1.0/63.0)*(C2-C1)vae)c

7、outR1滿足精度要求!endl;coutR1=R1endl;elsecoutR1不滿足要求!endl;DoubleT16=0.5*T8+(1.0/16.0)*(f(1.0/16.0)+f(3.0/16.0)+f(5.0/16.0)+f(7.0/16.0)+f(9.0/16.0)+f(11.0/16.0)+f(13.0/16.0)+f(15.0/16.0);doubleS8=(1.0/3.0)*(4*T16-T8);doubleC4=(16.0/15.0)*S8-(1.0/15.0)*S4;doubleR2=(64.0/63.0)*C4-(1.0/63.0)*C2;if(fabs(1.0/63

8、.0)*(C4-C2)vae)coutR2滿足精度要求!endl;coutR2=R2endl;運行結(jié)果:實驗四改進歐拉法,二分法,牛頓法計算機121班吳珍珍122460目的與要求:熟悉求解常微分方程初值問題的有關(guān)方法和理論,主要是改進歐拉法會編制上述方法的計算程序針對實習題編制程序,并上機計算其所需要的結(jié)果;實驗內(nèi)容:熟悉求解常微分方程初值問題的有關(guān)方法和理論,主要是改進歐拉法,體會其解法的功能。程序與實例改進歐拉方法算法概要解一階常微分方程初值問題7=f(x,y)y(x)=y將區(qū)間a,b作n等分,取步長h=ban歐拉公式為yiyihf(Xi,yi)梯形公式為hyiyi-f(Xi,yjf(Xi

9、1,%1)I2改進歐拉法,采用公式y(tǒng)i1=%hf&,yjy卄y2f(“i)+f(Xi和卩或表為yp=yi+hf(Xi,yj*yc=yi+hf(Xi+,yp)1y卄尹卩+yj實驗題:yf=xy20蘭x蘭3(0)=2源代碼:#include#definef(x,y)(-x*y*y)intmain()intn;coutvv您想把區(qū)間分成多少分?n;double*Xi二newdoublen+1;double*Yi二newdoublen+1;doubleh=3.0/n;Xi0=0;for(intk=0;k二n;k+)Xik+1=Xik+h;i0=2;for(inti=0;i=n;i+)ii+1=Yii+

10、(h/2.0)*(f(Xii,Yii)-(Xii+1*(Yii+h*f(Xii,Yi);coutn二vvnvvendl;for(intj=O;j二n;j+)coutvvXvvjvv二XijvvYj=Yijendl;return0;運行結(jié)果:苗:學業(yè)大二實驗劇叭0站旳4.1心才您想把區(qū)間分成多少分?8K0=0V0=2K1-U.J751=1-85938X2=0-75Y2=l.42318X3=l.1253=0.958312X4=1.5V4=0.604035XS=1.875V5-B.361215XB=2.25Y6-0.20166X7=2.6257=0102137XM-3V8=0.045327anvJc

11、eytocontinueH二分法和牛頓迭代法、目的與要求:通過對二分法和牛頓迭代法作編程練習和上機運算,進一步體會它們在方程求根中的不同特點;比較二者的計算速度和計算精度。二、實驗內(nèi)容:通過對二分法和牛頓迭代法作編程練習和上機運算,進一步體會它們在方程求根中的不同特點三、程序與實例二分法算法:給定區(qū)間a,b,并設(shè)與符號相反,取為根的容許誤差,為的容許誤差。(1)令c=(a+b)/2(2)如果(c-a)或,則輸出,結(jié)束;否則執(zhí)行(3),(3)如果,則令;否則則令,重復(1),(2),(3)。書上課后習題1(老教材)。源代碼:#include#definef(x)(x*x-x-1)intmain(

12、)doublewucha=0.05;doublea=1.0,b=2.0;doublem;intn=4;for(inti=1;i0)b=m;elsea=m;coutvv(vavv,vvbvv)vvendl;coutvv最后區(qū)間:vv(vvavv,vvbvv)vvendl;return0;S苦:學業(yè)大二實驗隹值1-5,2)1.5.1.75)CL.5.1.625)最后區(qū)恒hPt*essanykeytocontinue運行結(jié)果:牛頓迭代法算法:給定初值X。,;為根的容許誤差,為f(x)的容許誤差,N為迭代次數(shù)的容許值。如果f(x)=0或迭代次數(shù)大于N,則算法失敗,結(jié)束;否則執(zhí)行。計算xi=xo-f(Xo)f(Xo)若xi-冷;或f(Xi),則輸出xi,程序結(jié)束;否則執(zhí)行(4)令冷二乂,轉(zhuǎn)向(1)。書上課后習題7的(1)(老教材)源代碼:#include#inelude#definef(x)(x*x*x-3*x-1)#defineff(x)(3*x*x-3)intmain()doublex0=2,x1;for(intn=0;n3;n+)if(ff(x0)!=0)coutvvf(x0)!=0,執(zhí)行下一

溫馨提示

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

評論

0/150

提交評論