




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、在等距基點(diǎn)的情況下,用計(jì)算機(jī)計(jì)算積分值通常都采用把 區(qū)安徽中醫(yī)藥大學(xué)題目:Romberg求積法c語言編程姓名:-么-kizl -kizl 楊撞撞曲口 學(xué)號(hào):13713042班級(jí):13醫(yī)軟(1)班目錄1簡(jiǎn)介 2計(jì)算公式3算法描述 4程序流程圖5算法程序表示6算法結(jié)果截圖1. 簡(jiǎn)介龍貝格求積公式也稱為 逐次分半加速法。它是在梯形公式、辛普森公式和柯特斯公式 之間的關(guān)系的基礎(chǔ)上,構(gòu)造出一種加速計(jì)算積分的方法。作為一種外推算法,它在不增加計(jì)算量的前 提下提高了誤差的精度.間逐次分半的方法進(jìn)行。這樣,前一次分割得到的函數(shù)值在分半 以后仍可被利用,且易于編程。2. 計(jì)算公式梯形公式復(fù)化辛普森公式=復(fù)化科特
2、斯公式龍貝格求積公式其對(duì)應(yīng)的公式為:T2n=1/2( Tn+Hn)(梯形公式)Sn=4/( 4-1)T2n-1(4-1)Tn (辛普森公式)Cn=4八2/(4八2-1)S2n-1/(4八2-1)Sn (柯特斯公式)Rn=4八3/(4八3-1) C2n-1/(4八3-1)Cn (龍貝格求積法公 式)3. 算法描述3.1龍貝格算法基本描述先算出TO( 0),從而計(jì)算出T0(1),以此類推,直到計(jì)算出 |T0(0)-Tn-1 ( 0)|#in clude#define A(x)(sin(x)/x)/宏定義若常用函數(shù)A,B,C,D,E,G #define B(x)(cos(x*x+2*x+1) #de
3、fine C(x)(atan(sqrt(x*x+1)#define D(x)(sqrt(exp(x)+sin(2*x) #define E(x)(x*x*x+3*x*x+5)#define G(x)(log10(x)/pow(2,x)double t20,s20,c20,r20; /定義全局?jǐn)?shù)組double dh,fan,a,b,m; /定義全局變量 int jj=0;char hs;double F(double x)/用 switch 調(diào)用若干被積函數(shù)switch(hs)case A:fan=A(x);break; case B:fan=B(x);break; case C:fan=C(x
4、);break; case D:fan=D(x);break;case E:fan=E(x);break; case G:fan=G(x);break; default :printf( 輸入錯(cuò)誤! );return(fan); /返回被積函數(shù)值double H(int i)/求和函數(shù)并返回和 SUMint j;double zh,SUM=0.0; 定義求和變量SUM并賦初值for(j=1;j=po w(2,i-1);j+)zh=(a+(2*j-1)*(b-a)/pow(2,i);SUM=SUM+F(zh); /調(diào)用 F(x)函數(shù)SUM=(b-a)*SUM/pow(2,i); return(S
5、UM);double Txin g(i nt k)0 a12 I/ +/梯形公式珥=1b a VFfc - al一2 f A 十(21 一 1)-i=lif(k=0) dh=tjj=(b-a)/2)*(F(a)+F(b);/ 分半次數(shù)為零時(shí) T 形公式求積else/Txing 函數(shù)遞歸調(diào)dh=0.5*Txing(k-1)+H(k);用循環(huán)輸出并返回 dht+jj=dh;m=pow(2,jj); printf(T%0.0lf=%0.7lft,m,tjj);/ 輸出并返回 dhreturn(dh);double Simpson(int k)/辛普森公式 錯(cuò)誤 !未找到引用源。/調(diào)用梯形公式int
6、i,j;Txing(k);for(i=0;i=k-1;i+)si=(4.0*ti+1-ti)/3.0;prin tf(n);for(j=0;jv=k-1;j+)m=po w(2,j);prin tf(S%0.0lf=%0.7lf,m,sj);prin tf(t);return(sk-1);返回最后一個(gè)值/循環(huán)輸出sk-1double Cotes(int k)/科特斯公式int i,j;Simpson( k);for(i=0;i=k-2;i+)/遞推科特斯ci=(16.0*si+1-si)/15.0;公式prin tf(n);/循環(huán)for(j=0;j=k-2;j+)輸出m=po w(2,j);p
7、rin tf(C%0.0lf=%0.7lft,m,cj);ck-2return(ck-2);返回最后一個(gè)值double Romberg(i nt k)隆貝格公int i,j;式/調(diào)用科特斯公Cotes(k);for(i=0;i=k-3;i+)ri=(64.0*ci+1-ci)/63.0;公式/遞推隆貝格prin tf(n);for(j=0;j=k-3;j+)輸出/循環(huán)m=po w(2,j);prin tf(R%0.0lf=%0.7lft,m,rj);prin tf(n);return(rk-3); / 返回最后一個(gè)值 rk-3 main()int k;char y;printf( 請(qǐng)從以下公式
8、中選擇積分函數(shù): n);printf(A:sin (x)/(x)tB:cos(x八2+2x+1)tC:ata n(sqrt(x八2+1)nn );prin tf(D:sqrt(e八x+s in (2x)tE:x八3+3*xA2+5tG:lo g10(x)/pow(2,x)nn);printf( 請(qǐng)選擇函數(shù) F(x) (大寫): n ); scanf(%c,&hs);getchar();printf( 請(qǐng)輸入您選用的求積公式第一個(gè)字母(大 寫):n);y=getchar();/根據(jù)輸入的switch(y) 大寫字母判斷所選求積公式case T:printf( 請(qǐng)輸入分半次數(shù): n);scanf(
9、%d,&k);printf( 請(qǐng) 輸 入 積 分 區(qū) 間 a,b ab):n);scanf(%lf,%lf,&a,&b);if(a=0) a=0.0000000001;/輸入當(dāng)積分區(qū)間為零時(shí)默認(rèn)為一極小數(shù) printf(-n);printf(nTxing=%0.7fn,Txing(k);break;/輸出計(jì)算結(jié)果小數(shù)點(diǎn)后保留 7 位case S:printf( 請(qǐng)輸入分半次數(shù)大于等于 1 的正整數(shù) :n);scanf(%d,&k);printf( 請(qǐng) 輸 入 積 分 區(qū) 間 a,b ab):n);scanf(%lf,%lf,&a,&b);if(a=0) a=0.0000000001;/輸入當(dāng)積
10、分區(qū)間為零時(shí)默認(rèn)為一極小數(shù)printf(n);printf(Simpson=%0.7fn,Simpson(k);break;/輸出計(jì)算結(jié)果小數(shù)點(diǎn)后保留 7 位case C:printf( 請(qǐng)輸入分半次數(shù)大于等于 2 的 正整數(shù) :n);scanf(%d,&k);printf( 請(qǐng) 輸 入 積 分 區(qū) 間 a,b ab):n);scanf(%lf,%lf,&a,&b);if(a=0) a=0.0000000001;/輸入當(dāng)積分區(qū)間為零時(shí)默認(rèn)為一極小數(shù)printf(n);printf(Cotes=%0.7fn,Cotes(k);break; /輸出計(jì)算結(jié)果小數(shù)點(diǎn)后保留 7 位case R:prin
11、tf( 請(qǐng)輸入分半次數(shù)大于等于 3 的 正整數(shù) :n);scanf(%d,&k);printf( 請(qǐng) 輸 入 積 分 區(qū) 間 a,b ab):n);scanf(%lf,%lf,&a,&b);if(a=0) a=0.0000000001;/輸入當(dāng)積分區(qū)間為零時(shí)默認(rèn)為一極小數(shù) printf(n);printf(Romberg=%0.7fn,Romberg(k);break;/輸出計(jì)算結(jié)果小數(shù)點(diǎn)后保留 7 位default:printf(n);printf( 公式輸入有誤,請(qǐng)查證!n);printf(n);6.算法結(jié)果截圖丿j Jb J j jI肓丿人以I、公耳中述辛枳力、也飲:A: sinZ B:
12、cos C:*tnsqrtD:sqi*tex*s inE:x*3 3*x2+5G: loglBCx)/po 討 2x請(qǐng)選擇函數(shù)F (大寫): 請(qǐng)輸人您選用的求積公式第一個(gè)字母(大寫):R請(qǐng)輸入分半次數(shù)大于等于3的正整數(shù): 請(qǐng)輸入積分區(qū)間4b且(ab):0,1Press any key to continueT1=0.9207355T21=0-9397933 T =0.9445135TI8=0-9456909S1=0.9461459 S2=0.746086? S41=0.9460833 C1=0.9460830C2=0.9460831R1=0.9460831 Ronberg*0.9460831P
13、ress any key to continue請(qǐng)從以下公式中選擇積分S數(shù):H: sin/B:cos C:atansqrtP:sqrtex+sinE:x3*3*x2+5 G:logl0/pow請(qǐng)選擇函數(shù)F (大寫):B請(qǐng)輸入您選用的求積公式第一個(gè)字母(大寫):R請(qǐng)輸入分半次數(shù)大于等于3的正整數(shù)3請(qǐng)輸入積分區(qū)間A.b且(Mb):1,2rtl=-0.7823869 T21=0.1085312 T41=0-2118591T81=0.2341875S 11=0.4055040S【2】=02463017S【4】=02416303ICtl 1=0-2356882C21=0.2413188Rd =e.241
14、4082 Konbeig=0.2414082請(qǐng)從以下公式中選擇積分a數(shù):A: sin/ B:cos C:atansqrtP:sqptex+sinE:x3+3*x2+5 G:logl0/pow2.x請(qǐng)選擇函數(shù)PQ (大寫): c請(qǐng)輸人您選用的求積公式第一個(gè)字母(大寫):R請(qǐng)輸入分半次數(shù)大于等于3的正整數(shù):3請(qǐng)輸入積分區(qū)間4b且(Xb):2,3rci3-1.2073905SCI1-1-2125727Cl=l.2125997Rll=l.2125996 Ronberg=l.2125996T2-l-2112921T43-l.2122725 Tt8-l.2125178S【21-1.2125992 S41-
15、1-2125996C21=l.2125996Press any key to continue請(qǐng)川丿下公式中選擇積片a杏譏H = SinxJ/Cx B:cosx2 +2x*15 C:atansqi*tP:sqrtex+sinE:+3*x*2*5G: logl0/pow請(qǐng)選擇函數(shù)鞏X(大寫): D請(qǐng)輸人您選用的求積公式第一個(gè)字母(大寫),R請(qǐng)輸入分半次數(shù)大于等于3的正整數(shù)3請(qǐng)輸人積分區(qū)間4b且(Mb) SU335502742tlJ5-5520974 。門話5865866Rri=5-5851229 Ronheig=5 .5S51229T2】57528299TC41-5.6265307 TCS3-5
16、.5954585S2-5.5844310 S45.5851011C2=5-5851458請(qǐng)從此Z寸沖選擇和A函數(shù):ft : fiin/B:cofi C:AtAn*t P:sqrtex+sinE:x3+3x *5 G:logl0/pow請(qǐng)選昇函數(shù)F3 (大寫),F(xiàn)請(qǐng)輸兒您選ffi的求炭公式第一個(gè)字* (大寫):R情輸A分蘭次數(shù)大于等于3的正報(bào)婦3i青輸上積分區(qū)間仏山且(ah):2,4r 1=142.19OUHUHMT2 J=13O.M9HUHl14=127.0(9UUH1181=126.25000005(11-126.0000000S 21-126.0000000S4*12G.0600906Cd -126.0060000R1 3-126.0080000Ronbery-126.0000000C2 1-126.0000000P,ess Any key to contimie請(qǐng)從D,下公式中選擇積分a數(shù),H: sin/B:cos C:atansqrtP:sqi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)分包企業(yè)合同范本
- 華萊士加盟合同范例
- 勞務(wù)合同范本遷戶口
- 單位食堂承攬合同范本
- 個(gè)人農(nóng)業(yè)養(yǎng)殖合同范本
- 加盟合同范本李慶亮
- 出售公司房屋合同范本
- 人壽第三方代理合同范本
- 勞動(dòng)用工合同范本范本
- 企業(yè)策劃標(biāo)準(zhǔn)合同范本
- 高新技術(shù)企業(yè)認(rèn)定申請(qǐng)書樣例與說明
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter6 Tree
- 高壓氧科工作總結(jié)高壓氧科個(gè)人年終總結(jié).doc
- 《政治學(xué)概論》教學(xué)大綱
- 橋梁缺陷與預(yù)防
- 食品生物化學(xué)習(xí)題謝達(dá)平(動(dòng)態(tài))
- 新蘇教版小學(xué)科學(xué)三年級(jí)下冊(cè)全冊(cè)教案(2022年春修訂)
- 保安員工入職登記表
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 機(jī)械設(shè)計(jì)基礎(chǔ)平面連桿機(jī)構(gòu)課件
- 人力資源部經(jīng)理崗位說明書
評(píng)論
0/150
提交評(píng)論