數(shù)值積分(論文)_第1頁
數(shù)值積分(論文)_第2頁
數(shù)值積分(論文)_第3頁
數(shù)值積分(論文)_第4頁
數(shù)值積分(論文)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精品文檔目錄第一章數(shù)值積分計算的重述.1.1.1 引言1.1.2 問題重述2.第二章復(fù)化梯形公式2.2.1 復(fù)化梯形公式的算法描述32.2 復(fù)化梯形公式在C語言中的實現(xiàn)32.3 測試結(jié)果4.第三章復(fù)化simpson公式5.3.1 復(fù)化simpson公式的算法描述5.3.2 復(fù)化simpson公式在C語言中白實現(xiàn)63.3 測試結(jié)果6.第四章復(fù)化cotes公式8.4.1 復(fù)化cotes公式的算法描述8.4.2 復(fù)化cotes公式在C語言中的實現(xiàn)84.3 測試結(jié)果9.第五章Romber則分法.105.1 Romberg積分法的算法描述1.05.2 Romberg積分法在C中的實現(xiàn)1.15.3 測試結(jié)

2、果12第六章結(jié)果對比分析和體會134參考文獻1.4附錄1.4.精品文檔數(shù)值積分je,2dx(一)第一章數(shù)值積分計算的重述1.1 引言數(shù)值積分是積分計算的重要方法,是數(shù)值逼近的重要內(nèi)容,是函數(shù)插值的最直接應(yīng)用,也是工程技術(shù)計算中常常遇到的一個問題。在應(yīng)用上,人們常要求算出具體數(shù)值,因此數(shù)值積分就成了數(shù)值分析的一個重要內(nèi)容。在更為復(fù)雜的計算問題中,數(shù)值積分也常常是一個基本組成部分。在微積分理論中,我們知道了牛頓-萊布尼茨(Newton-Leibniz)公式bf(x)dxF(F(aa其中F(x)是被積函數(shù)f(x)的某個原函數(shù)。但是隨著學(xué)習(xí)的深入,我們發(fā)現(xiàn)一個問題:對很多實際問題,上述公式卻無能為力。

3、這主要是因為:它們或是被積函數(shù)沒有解析形式的原函數(shù),或是只知道被積函數(shù)在一些點上的值,而不知道函數(shù)的形式,對此,牛頓萊布尼茨(Newton-Leibniz)公式就無能為力了。止匕外,即使被積函數(shù)存在原函數(shù),但因找原函數(shù)很復(fù)雜,人們也不愿花費太多的時間在求原函數(shù)上,這些都促使人們尋找定積分近似計算方法的研究,特別是有了計算機后,人們希望這種定積分近似計算方法能在計算機上實現(xiàn),并保證計算結(jié)果的精度,具有這種特性的定積分近似計算方法稱為數(shù)值積分。由定積分知識,定積分只與被積函數(shù)和積分區(qū)間有關(guān),而在對被積函數(shù)做插值逼近時,多項式的次數(shù)越高,對被積函數(shù)的光滑程度要求也越高,且會出現(xiàn)Runge現(xiàn)象。如n&

4、gt;7時,Newton-Cotes公式就是不穩(wěn)定的。因而,人們把目標(biāo)轉(zhuǎn)向積分區(qū)間,類似分段插值,把積分區(qū)間分割成若干小區(qū)問,在每個小區(qū)間上使用次數(shù)較低的Newton-Cotes公式,然后把每個小區(qū)間上的結(jié)果加起來作為函數(shù)在整個區(qū)間上積分的近似,這就是復(fù)化的基本思想。本文主要研究的公式有:復(fù)化梯形公式、復(fù)化Simpson公式、復(fù)化Cotes公式、Romberg積分法。1.2 問題重述本文主要介紹微積分方程的復(fù)化解法。通過運用復(fù)化梯形公式、復(fù)化Simpose公式、復(fù)化cotes公式和Romberg積分法這四種積分法方法,解出微分方程的近似解。并進行誤差分析和結(jié)果比較。當(dāng)積分區(qū)間a,b的長度較大,

5、而節(jié)點個數(shù)n+1固定時,直接使用Newton-Cotes公式的余項將會較大,而如果增加節(jié)點個數(shù),即n+1增加時,公式舍舍入誤差又很難得到控制,為提高公式的精度,又使算法簡單易行,往往使用復(fù)化方法。即將積分區(qū)間a,b分成若干個子區(qū)間,然后在每個小區(qū)間上使用低階Newton-Cotes公式,最后將每個小區(qū)間上的積分的近似值相加。將定積分的積分區(qū)間ab分割為n等份b-a各下點為xk=a+kh,k=0,1,-nh=在子區(qū)間x.xk書(k=0,1,1;.n-1)上n使用NewtonCotes公式將子區(qū)間分割為l等份,節(jié)點為xk,xk*,xk2h,xk'=xk1記為xk,x1,x2,xl=xk1k

6、-k-k-lll在子區(qū)間上作f(x)的l階Newton-Cotes求積公式af (x)d(x):口)=(xk 1b廣 G(l)f(xkD»尸f(xkPi -0i =0由積分的區(qū)間可加性,可得f(x)d(x)cf(x)dxkfxkn 4復(fù)化求積公式JI胃k=0n 4 1=h' '、Ci f 區(qū).i) =I n k =0 i =0第二章復(fù)化梯形公式2.1 復(fù)化梯形公式的算法描述n1nJ1復(fù)化求積公式,I胃=卜;1二Cif(Xki)=InkOk=0i=0an11當(dāng)L=1時可得復(fù)化梯形公式:f(x)d(x)%Tn=h££Cif(xkQbk=0i=0n1=h

7、-f(Xk)f(Xk1)k=02b-an1復(fù)化梯形公式=f(a)2vf(Xk)f(b)2n«2.2 復(fù)化梯形公式在C語言中的實現(xiàn)復(fù)化梯形公式運用的程序如下:T0=(a-b)*(f_x(a)+f_x(b)/2;n=1時的cotes公式即梯形公式for(i=1;i<=100;i+)/計算sum_num、xishu、s_point(startpoint)、d_pointsum_num=pow(2,i-1);xishu=double(a-b)/sum_num;s_point=double(b)+double(a-b)/pow(2,i);d_point=double(a-b)/pow(2

8、,i-1);for(j=1;j<=sum_num;j+)add_T=add_T+f_x(s_point+(j-1)*d_point);add_T=add_T*xishu;T1=(T0+add_T)/2;err_T=(T1-T0)/3;/outputprintf("%d%d%10.8f%10.8f",i,pow(2,i),T1,err_T);printf("n");if(err_T<=0)err_T=(-1)*err_T;if(err_T<=E)break;elseT0=T1;T1=0;add_T=0;err_T=0;在這個函數(shù)中我們將復(fù)

9、化梯形公式和積分過程都用計算機語言表示出來。首先我們給出復(fù)化梯形公式,進行迭代,直到精確度達(dá)到設(shè)定要求,算出最后結(jié)果。2.3測試結(jié)果用復(fù)化梯形有效數(shù)字四位求得的結(jié)果如下:用復(fù)化梯形有效數(shù)字七位求得的結(jié)果如下由以上結(jié)果可以看出取兩個不同的精度相對誤差比較小,但計算次數(shù)大大的增加,復(fù)化梯形公式計算次數(shù)多。第三章復(fù)化simpson公式3.1 復(fù)化simpson公式的算法描述n1n11復(fù)化求積公式、11的大,二Cif(xk.i)=1nkfk=0i=0an41當(dāng)L=2時可得復(fù)化梯形公式:Jf(x)d(x)%Sn=h££Ci(2)f(xk+)bk=0i=0n4 1咤”4%)f(xk 1

10、)n-1復(fù)化simpson公式二n-4f(xk1)2'f(xk)f(b)2k=03.2 復(fù)化simpson公式在C語言中的實現(xiàn)復(fù)化梯形公式運用的程序如下:T0=(a-b)*(f_x(a)+4*f_x(a+b)/2)+f_x(b)/6;n=2的cotes公式即simpson公式for(i=1;i<=100;i+)/計算sum_num、xishu、s_point(startpoint)、d_point/longpowl(longdoublex,longdoubley)sum_num=pow(2,i-1);/thesameasTxishu=double(a-b)/sum_num/6;s

11、_point=double(b)+double(a-b)/pow(2,i);d_point=double(a-b)/pow(2,i-1);sd_point=double(a-b)/sum_num/4;for(j=1;j<=sum_num;j+)add_T=add_T+2*f_x(s_point+(j-1)*d_point)-4*f_x(s_point-sd_point+(j-1)*d_point)-4*f_x(s_point+sd_point+(j-1)*d_point);add_T=add_T*xishu;T1=(T0-add_T)/2;err_T=(T1-T0)/15;/output

12、printf("%d%d%10.8f%10.8f",i,pow(2,i),T1,err_T);printf("n");if(err_T<=0)err_T=(-1)*err_T;if(err_T<=E)break;elseT0=T1;T1=0;add_T=0;err_T=0;在這個函數(shù)中我們將復(fù)化simpose公式和積分過程都用計算機語言表示出來。首先我們給出復(fù)化simpose公式,進行迭代,直到精確度達(dá)到設(shè)定要求,算出最后結(jié)果。3.3 測試結(jié)果用復(fù)化simpose迭代取有效數(shù)字四位求得的結(jié)果如下:ca"C:Document!andn

13、XPCLIENT*而'囊學(xué)軟件專區(qū)DcbugK口口,MM I .1 zzzJ=數(shù)值積分/U用復(fù)化Simpson公式i2AiT_2Ai010.2455820512013901594380.13937155Tl-0.1393715Pressanykeytocontinue<T_2Ai-T_2A<i-l>>/30-0.00656349-0.000540920.00002371用復(fù)化simpose迭代取有效數(shù)字七位求得的結(jié)果如下:由以上結(jié)果可以看出兩次不同精度要求的計算可以看出不同精度計算計算次數(shù)相差較多。精度為四和七間計算次數(shù)相差了三次。第四

14、章復(fù)化cotes公式4.1 復(fù)化cotes公式的算法描述n_1n_11復(fù)化求積公式1胃斗9'Cif(Xk.i)=Ink0k=0i衛(wèi)an4當(dāng)L=4時可得復(fù)化梯形公式:Jf(x)d(x)生Cn=h££C(4)f(xi)bk=0i=0k-n 二90 k£2復(fù)化cotesa bn 1公式二7f(a)90ny7f(xJ32f(xki)12f(xk2)32f(xkj)7f0)44432f(x1)12f(x2)32f(x3)7f(b)k4k4k44.2 復(fù)化cotes公式在C語言中的實現(xiàn)復(fù)化cotes公式運用的程序如下:T0=(a-b)*(7*f_x(1)+32*f_x

15、(2)+12*f_x(3)+32*f_x(4)+7*f_x(5)/90;四階(n=4)cotes公式。for(i=1;i<=100;i+)sum_num=pow(2,i-1);/thesameasTxishu=double(a-b)/sum_num/90;s_point=double(b)+double(a-b)/pow(2,i);d_point=double(a-b)/pow(2,i-1);sd_point=double(a-b)/sum_num/8;for(j=1;j<=sum_num;j+).add_T=add_T-2*f_x(s_point+(j-1)*d_point)-3

16、2*f_x(s_point-sd_point+(j-1)*d_point)+20*f_x(s_point-2*sd_point+(j-1)*d_point)-32*f_x(s_point-3*sd_point+(j-1)*d_point)-32*f_x(s_point+sd_point+(j-1)*d_point)+20*f_x(s_point+2*sd_point+(j-1)*d_point)-32*f_x(s_point+3*sd_point+(j-1)*d_point);add_T=add_T*xishu;T1=(T0-add_T)/2;err_T=(T1-T0)/63;/outputp

17、rintf("%d%d%10.8f%10.8f",i,pow(2,i),T1,err_T);printf("n");if(err_T<=0)err_T=(-1)*err_T;if(err_T<=E)break;elseT0=T1;T1=0;add_T=0;err_T=0;在這個函數(shù)中我們將復(fù)化cotes公式和積分過程都用計算機語言表示出來。首先我們給出復(fù)化cotes公式,進行迭代,直到精確度達(dá)到設(shè)定要求,算出最后結(jié)果。4.3測試結(jié)果用復(fù)化cotes有效數(shù)字四位求得的結(jié)果如下:用復(fù)化cotes有效數(shù)字七位求得的結(jié)果如下:-J.n| x|ca&#

18、39;L:DucumentsandSetting號JtPCLIENT桌面,麴學(xué)軟件專區(qū)Debug、匚口pLexe"數(shù)值積分/用復(fù)化cute將公式i2rT_2Ai<T_2Ai-T_2A<i-l>>/3U10.140566270120.13847502-0.00003319240139402760.000000124160.13940279T1=0.1394028Pressanvkeytocontinue由以上結(jié)果可以兩次不同精度計算的結(jié)果相差相對前面的方法要大,計算次數(shù)增加了三次。第五章Romberg積分法5.1 Romberg積分法的

19、算法描述Romberg方法也稱為逐次分半加速法。它是在梯形公式、辛卜生公式和柯特斯公式之間的關(guān)系的基礎(chǔ)上,構(gòu)造出一種加速計算積分的方法。作為一種外推算法,它在不增加計算量的前提下提高了誤差的精度。在等距基點的情況下,用計算機計算積分值通常都采用把區(qū)間逐次分半的方法進行。這樣,前一次分割得到的函數(shù)值在分半以后仍可被利用,且易于編程。對區(qū)間a,b,令h=b-a構(gòu)造梯形值序列T2K。T1=hf(a)+f(b)/2把區(qū)間二等分,每個小區(qū)間長度為h/2=(b-a)/2,于是T2=T1/2+h/22f(a+h/2)把區(qū)間四(22)等分,每個小區(qū)間長度為h/22=(b-a)/4,于是T4=T2/2+h/2f

20、(a+h/4)+f(a+3h/4)把a,b2k等分,分點xi=a+(b-a)/2ki(i=0,1,22k)每個小區(qū)間長度為(b-a)/2k,由歸納法可得面所說的的第一個公式.(二)計算公式如下:整個程序就是循著這四個公式進行計算的。Sn,Cn,Rn分別代表特例梯形積分,拋物線積分,龍貝格積分.當(dāng)然,編程的時候統(tǒng)一處理即可。5.2 Romberg積分法在C中的實現(xiàn)Romberg公式運用的程序如下:doubleT0=0,S0=0,C0=0,T1=0,S1=0,C1=0,R0=0,R1=0;doubleerr_T=10;inti=0,j=0;intsum_num=0;doublexishu=0;/系

21、數(shù)doubles_point=0,d_point=0;doubleadd_T=0;T0=(a-b)*(f_x(a)+f_x(b)/2;/n=1時的cotes公式即梯形公式。for(i=1;i<=100;i+)/thefirstbasenumbersum_num=pow(2,i-1);xishu=double(a-b)/sum_num;s_point=double(b)+double(a-b)/pow(2,i);d_point=double(a-b)/pow(2,i-1);for(j=1;j<=sum_num;j+)add_T=add_T+f_x(s_point+(j-1)*d_po

22、int);-add_T=add_T*xishu;T1=(T0+add_T)/2;add_T=0;/計itsiS1=4叮1/3-T0/3;if(i>=2)C1=16*S1/15-S0/15;if(i>=3)R1=64*C1/63-C0/63;/checkusingthe"1"dataerr_T=(R1-R0)/255;if(err_T<0)err_T=(-1)*err_T;if(err_T<E)&&(i>=4)break;/完成計算后,準(zhǔn)備下一次循環(huán)T0=T1;T1=0;S0=S1;S1=0;C0=C1;C1=0;R0=R1;R1

23、=0;在這個函數(shù)中我們將romboerg公式和的積分過程都用計算機語言表示出來。首先我們給出romboerg公式的T0,進行迭代,分別算出S1,C1,R1直到精確度達(dá)到設(shè)定要求,算出最后結(jié)果。5.3 測試結(jié)果用romboerg有效數(shù)字四位求得的結(jié)果如下:r"r:nnrun-ipntsanriSettinqC.MPClIENT'卓面'救學(xué)軟件專區(qū)tDEbug'CpfJ1=數(shù)值積分加用ru皿加9公式($階=i2Ai(T_2i-T_2*<i-l)>/3918.73575988BIl=B.14324283B1-8.1393715SCl=0.13939525

24、Bl=0,13946986err_Tl=0,0000B38flPressanykeytocontinue-IDI-Xl用romboerg有效數(shù)子七位求得的結(jié)果如下:c|HC;Doturnenf5andSctHng八XP(J.TFZ卓面,敏中軟件專區(qū),6hiiqXpp,數(shù)值積分環(huán)用nbcrg公式8介2i£T_2&1_2氣IT)>/30.7357saes0=0,1403613181=0,13940080Cl=0,13940276Hl-0-13740287err_Tl=0,00000>B3Pressanykeytocontinue由以上結(jié)果可看出,用romboerg取不

25、同的精度對T1,S1,C1,R1的結(jié)果影響大小不相同,T1影響最大,R1影響最小,迭代次數(shù)越多精度影響大小越小。第六章結(jié)果對比分析和體會通過對不同精度的測試發(fā)現(xiàn)復(fù)化梯形公式的計算量增加最快,而romberg達(dá)到一定的精度要求結(jié)果無法正常計算顯示。如下圖所示當(dāng)精度要求達(dá)到20時結(jié)果無法正常顯示。而其他可正常顯示結(jié)果但是計算次數(shù)相對較大如復(fù)化梯形計算次數(shù)為三十三次,由以上程序測試的數(shù)據(jù)結(jié)果的對比顯示可知不同求積公式各有特點.梯形求積公式和Simpson求積公式雖然計算簡單、使用方便,但是精度較差,但對于光滑性較差的被積函數(shù)有時比高精度方法更為有效。尤其梯形公式對被積函數(shù)是周期函數(shù)的效果更為突出。n

26、>7時,復(fù)化梯形公式和復(fù)化Simpson公式在保留了低階公式的優(yōu)點,又能獲得較高的精度,因此在實際計算中應(yīng)用的最為廣泛。利用二分技術(shù)得到的Romberg方法的算法簡單,易于編程實現(xiàn)。當(dāng)節(jié)點加密提高積分近似程度時,前面計算的結(jié)果可以為后面所用,對減少計算量很有好處,并有比較簡單的誤差估計,能得到若干積分序列,如果在做收斂性控制時,同時檢查各行、各列,對于不同性態(tài)的函數(shù)可以用其中最快的收斂序列來逼近積分。參考文獻1李慶揚,王能超,易大義.數(shù)值分析M.武漢.華中科技大學(xué)出版社,2006.7.2清華大學(xué)、北京大學(xué)計算方法編寫組.計算方法M.北京.科學(xué)出版社,19803呂同斌復(fù)化梯形公式及其應(yīng)用期

27、刊論文安徽水利水電職業(yè)技術(shù)學(xué)院學(xué)報2002年4期4溪梅成數(shù)值分析方法M合肥:中國科學(xué)技術(shù)大學(xué),2003附錄1 .復(fù)化梯形源程序#include<stdio.h>#include<math.h>#definea5#defineb1#defineE0.00000005/即保留七位有效數(shù)字0.5*10A-7/原函數(shù)doublef_x(doublex).doubley;y=exp(-(x*x);return(y);)intpow(intx,inty)(intz=1;inti;for(i=0;i<y;i+)(z=z*x;)returnz;)voidmain()(/計算T1,

28、T2.T4.T8doubleT0=0,T1=0;doubleerr_T=10;inti=0j=0;intsum_num=0;doublexishu=0;doubles_point=0,d_point=0;doubleadd_T=0;T0=(a-b)*(f_x(a)+f_x(b)/2;/n=1時的cotes公式即梯形公式printf("n");printf("=數(shù)值積分一利用復(fù)化梯形公式=n);printf("n");printf("i2AiT_2Ai(T_2Ai-T_2A(i-1)/3n");printf("n&q

29、uot;);printff'O%d%10.8f0",pow(2,0),T0);printf("n");for(i=1;i<=100;i+)計算sum_num>xishu、s_point(startpoint)、d_pointsum_num=pow(2,i-1);xishu=double(a-b)/sum_num;s_point=double(b)+double(a-b)/pow(2,i);d_point=double(a-b)/pow(2,i-1);for(j=1;j<=sum_num;j+).add_T=add_T+f_x(s_poin

30、t+(j-1)*d_point);-add_T=add_T*xishu;T1=(T0+add_T)/2;err_T=(T1-T0)/3;/outputprintf("%d%d%10.8f%10.8f",i,pow(2,i),T1,err_T);printf("n");if(err_T<=0)err_T=(-1)*err_T;if(err_T<=E)break;elseT0=T1;T1=0;add_T=0;err_T=0;./resultprintf("n");printf("T1=%9.7f",T1);

31、printf("n");printf("n");2 .復(fù)化simpose源代碼#include<stdio.h>#include<math.h>#definea5#defineb1#defineE0.00000005/即保留七位有效數(shù)字0.5*10A-7/原函數(shù)doublef_x(doublex)(.doubley;y=exp(-(x*x);return(y);)intpow(intx,inty)(intz=1;inti;for(i=0;i<y;i+)(z=z*x;)returnz;)voidmain()(/計算T1,T2,

32、T4,T8doubleT0=0,T1=0;doubleerr_T=10;inti=0,j=0;intsum_num=0;doublexishu=0;doubles_point=0,d_point=0,sd_point=0;doubleadd_T=0;T0=(a-b)*(f_x(a)+4*f_x(a+b)/2)+f_x(b)/6;/n=2的cotes公式即simpson公式一一一printf("n");printf("=數(shù)值積分_利用復(fù)化simpson公式=n");printf("n");printf("i2AiT_2Ai(T

33、_2Ai-T_2A(i-1)/3n");printf("n");printf("0%d%10.8f0",pow(2,0),T0);printf("n");for(i=1;i<=100;i+)(計算sum_num>xishu、s_point(startpoint)、d_point/longpowl(longdoublex,longdoubley)sum_num=pow(2,i-1);/thesameasTxishu=double(a-b)/sum_num/6;s_point=double(b)+double(a-b

34、)/pow(2,i);d_point=double(a-b)/pow(2,i-1);sd_point=double(a-b)/sum_num/4;for(j=1;j<=sum_num;j+).add_T=add_T+2*f_x(s_point+(j-1)*d_point)-4*f_x(s_point-sd_point+(j-1)*d_point)-4*f_x(s_point+sd_point+(j-1)*d_point);一一一一add_T=add_T*xishu;T1=(T0-add_T)/2;err_T=(T1-T0)/15;/outputprintf("%d%d%10.8

35、f%10.8f",i,pow(2,i),T1,err_T);printf("n");if(err_T<=0)err_T=(-1)*err_T;if(err_T<=E)break;elseT0=T1;T1=0;add_T=0;err_T=0;./resultprintf("n");printf("T1=%9.7f",T1);printf("n");printf("n");3 .復(fù)化cotes源代碼#include<stdio.h>#include<math.

36、h>#definea5#defineb1#defineE0.00000005/即保留七位有效數(shù)字0.5*10A-7/原函數(shù)doublef_x(doublex)(doubley;y=exp(-(x*x);return(y);)intpow(intx,inty)(intz=1;inti;for(i=0;i<y;i+)(z=z*x;)returnz;)voidmain()(/計算T1,T2,T4,T8doubleT0=0,T1=0;doubleerr_T=10;inti=0,j=0;intsum_num=0;doublexishu=0;doubles_point=0,d_point=0,

37、sd_point=0;doubleadd_T=0;T0=(a-b)*(7*f_x(1)+32*f_x(2)+12*f_x(3)+32*f_x(4)+7*f_x(5)/90;四階(n=4)cotes公式printf("n");printf("=數(shù)值積分_禾1用復(fù)化cotes公式=n");printf("n");printf("i2AiT_2Ai(T_2Ai-T_2A(i-1)/3n");printf("n");printf("0%d%10.8f0",pow(2,0),T0);p

38、rintf("n");for(i=1;i<=100;i+)(計算sum_num>xishu、s_point(startpoint)、d_point/longpowl(longdoublex,longdoubley)sum_num=pow(2,i-1);/thesameasTxishu=double(a-b)/sum_num/90;s_point=double(b)+double(a-b)/pow(2,i);d_point=double(a-b)/pow(2,i-1);sd_point=double(a-b)/sum_num/8;for(j=1;j<=sum

39、_num;j+).add_T=add_T-2*f_x(s_point+(j-1)*d_point)-32*f_x(s_point-sd_point+(j-1)*d_point)+20*f_x(s_point-2*sd_point+(j-1)*d_point)-32*f_x(s_point-3*sd_point+(j-1)*d_point)-32*f_x(s_point+sd_point+(j-1)*d_point)+20*f_x(s_point+2*sd_point+(j-1)*d_point)-32*f_x(s_point+3*sd_point+(j-1)*d_point);一一一一add_

40、T=add_T*xishu;T1=(T0-add_T)/2;err_T=(T1-T0)/63;/outputprintf("%d%d%10.8f%10.8f",i,pow(2,i),T1,err_T);printf("n");if(err_T<=0)err_T=(-1)*err_T;if(err_T<=E)break;elseT0=T1;T1=0;add_T=0;err_T=0;./resultprintf("n");printf("T1=%9.7f",T1);printf("n");printf("n");1. romberg源代碼#include<stdio.h>#include<math.h># definea5# defineb1# defineE0.00000005/即保留七位有效數(shù)字0.5*10A-7/原函數(shù)doublef_x(doublex)(.doubley;y=exp(-(x*x);return(y);)intpow(intx,inty)(intz=1;inti;for(i=0;i<y;i+)(z=z*x;)returnz;)vo

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論