




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、The School of Compuier and Comunicalion Enyiwlng數(shù)值球根試驗(yàn)報(bào)告數(shù)值計(jì)算方法專業(yè)班級(jí)軟件08-1姓名 熊文成學(xué)號(hào) 08083117時(shí)間 2010年10月24日星期天實(shí)驗(yàn)?zāi)康氖煜ざ址ㄒ约芭nD迭代法求方程近似根的數(shù)值方法, 掌握各種迭代 方法,自己擴(kuò)張研究迭代法的效率與收斂性和初始值的關(guān)系。實(shí)驗(yàn)內(nèi)容1.已知f(X)=x' +4X2 -10 =0在1,2】上有一個(gè)實(shí)根xf(1) =_5, f(2)=14,用二分法和牛頓迭代法求該實(shí)根,要求精度滿足條件:丄燈0。222.條件允許的話,擴(kuò)展研究各種迭代法的效率,以及迭代的效率和 收斂性與初始值的關(guān)
2、系,并通過(guò)比較采用兩點(diǎn)加速的方法與普通的方法的 效率體驗(yàn)加速迭代的優(yōu)點(diǎn)。牛頓迭代法,以及對(duì)函數(shù)總而言之,本實(shí)驗(yàn)中的用到的求根方法有二分法,1 丄迭代函數(shù)為護(hù)(X)(10-x3)2的迭代方法,21半(XW(10-X3)2采用兩點(diǎn)加速迭代的方法。主函數(shù)流程程序是按順序運(yùn)行的,流程圖如下圖所示:四、 源程序#include <stdio.h>#include <conio.h>#include <math.h>/根據(jù)x的值計(jì)算函數(shù)值/函數(shù) f(x)=x*x*x+4*x*x-10double func(double x)double value; value=x*x
3、*x+4*x*x-10; return value;/根據(jù)參數(shù)x的值計(jì)算函數(shù)f(x)的導(dǎo)數(shù)值 double divFunc(double x)return 3*x*x+8*x;/二分法計(jì)算方程f(x)=0在1,2上的跟/ 二份迭代結(jié)束條件由參數(shù) precision 精度給出 void biSectionMethod(double precision) int k=0;double x1=1.0,x2=2.0;double midx;printf("nt k 有根區(qū)間 doprintf("nt%3d",k); printf("%.3f,%.3f"
4、,x1,x2);midx=(x1+x2)/2;printf("%f",midx);printf("%.6f",func(midx);if (func(midx)<0) x1=midx; else x2=midx; k+; if (k%3=0) getch(); while (x2-x1>=precision);/ 均分次數(shù)/ 區(qū)間1 .0, 2.0/ 二分之后的值k+1f(x(k+1) ");/ 每次輸出 4 個(gè)等用戶審查/ 區(qū)間的長(zhǎng)度超過(guò) 5e-3 就一直迭代printf("nt二分法分區(qū)間的次數(shù):d所求的根是:lf&q
5、uot;,k-1,x2);/ 牛頓迭代法/根據(jù)初值值xO,在區(qū)間1.020上迭代求根 /迭代次數(shù)由參數(shù) precision 精度決定 void NewTonMethod(double x0,double precision) / 迭代次數(shù)f(x(k) |x(k+1)-x(k)|");int k=0; double x1,x2=x0; printf("nt kx(k)do printf("nt%2d",k); printf("%.6f",x2);printf("%.6f",func(x2);x1=x2;x2=x2-f
6、unc(x1)/divFunc(x1);%.6f",x2-x1); / 輸出兩次迭代的差值 %.6f",x1-x2);if (x2-x1>0) printf(" else printf(" k+;/ 每次輸出 4 個(gè)等用戶審查if (k%3=0) getch(); while (x2-x1>precision|x1-x2>precision); printf("nt牛頓迭代初值:lf次數(shù):d所求的根是:lf",x0,k-1,x2);/ 迭代函數(shù) g(x)=(sqrt(10-x*x*x)/2; double fun c
7、Two(double x)return (sqrt(10-x*x*x)/2;/ 普通迭代函數(shù)void ordinaMethod(double x0,double precision)/ 迭代次數(shù)int k=0;double x1,x2=x0;f(x(k) |x(k+1)-x(k)|");printf("nt k x(k)do printf("nt%2d",k); printf(" %.6f",x2); printf(" %.6f",func(x2);%.6f",x2-x1); / 輸出兩次迭代的差值%.6
8、f",x1-x2);/ 每次輸出 4 個(gè)等用戶審查x1=x2; x2=funcTwo(x1); if (x2-x1>0) printf(" else printf(" k+; if (k%3=0) getch(); while (x2-x1>precision|x1-x2>precision);printf("nt普通迭代初值:lf次數(shù):d所求的根是:lf",x0,k-1,x2);/ 使用兩個(gè)跌代值的組合加速跌代/ 對(duì)迭代函數(shù) f(x)=(sqrt(10-x*x*x)/2 的加速 void twoValue(double x0
9、,double precision)/ 迭代次數(shù)int k=0;double x1,x2=x0;f(x(k)|x(k+1)-x(k)|");printf("nt kx(k)doprintf("nt%2d",k);printf("%.6f",x2);printf("%.6f",func(x2);x1=x2;x2=(funcTwo(x1)+x1)/2;if (x2-x1>0)printf("%.6f",x2-x1);/輸出兩次迭代的差值else printf("%.6f",
10、x1-x2);/ 每次輸出 4 個(gè)等用戶審查k+; if (k%3=0) getch(); while (x2-x1>precision|x1-x2>precision);printf("nt 兩點(diǎn)加速迭代初值:%If,次數(shù):*根:lf",x0,k,x2);void main()double orgin=1.5;/ 初始值double precision=5e-6; / 精度 char sel=0;/ 操作符while(1)printf("nt 選擇 :");printf("nt1.二分法 nt2.迭代法 nt");sel
11、=getch();printf("nnt 注:程序停止處按任意鍵繼續(xù) ");if (sel='1')printf("nnt*二分法求解過(guò)程 *"biSectionMethod(precision);elseprintf("nt 輸入迭代的初值 :"); scanf("%lf",&orgin);/if (orgin>2.0|orgin<1.0)/ 測(cè)試函數(shù)/ 限制迭代初值范圍 ,根據(jù)情況決定/orgin=1.5;/如果輸入非法 ,則按 1.5計(jì)算printf("nnt*牛
12、頓迭代法求解過(guò)程 *"NewTonMethod(orgin,precision); printf("nt 任何鍵繼續(xù) :"); getch();* 普通迭代 g(x)=(sqrt(10-x*x*x)/2*");printf("nnt ordinaMethod(orgin,precision); printf("nt 任何鍵繼續(xù) :"); getch();* 兩 個(gè) 值 組 合 加 速 迭 代printf("nntx=(g(x)+x)/2*");twoValue(orgin,precision);print
13、f("nt 任何鍵繼續(xù) :"); getch();五、運(yùn)行結(jié)果選擇求根方法2、3、1、選擇二分法下面給出二分法的結(jié)果:cTC *C: Do cuents and S e t ti AgsVAda iiii s tr at or而、數(shù)值v±:程序停止處按任意犍繼續(xù)WKHXMHWWWWMH i 井?主求解過(guò)程 MWHMHHMWHMWk有根區(qū)間k+1f<x<k+l>>0【1000.20001.5000002.37500011.000.1.5001.250000-1-7968752r±.250,1.500J1.3750000.162109
14、31-250,1.37511>312500-0.8483894i-313,i-3751.343750-0-3509835r±.344,±.37S1-359375-0.09£409&1-359,1.37511>3671880.0323567i.359,i,3671-363281-0.0321508±.363,1.3671.3652340.00007291-363,1.3651-364258-0.01604710i.364,1.3651-36474&-0.00798911tl-3bS,l-36S1,364990-0.0039591
15、2i-365,1.3651.365112-0.00194413i.365,1.3651-365173-0.000936141-365,1-3651.365204-0.00043215i-365,1.3651>365219-0.000180161.365,1.365 J1-365227-0.000054171-365,1-3651.3652310.90000?二分 任何:塞§間的次數(shù)""所求的根是応選擇迭代法查看結(jié)果:首先顯示的是牛頓迭代法的結(jié)果:土擊鬲:出牛dz母 dd薛hx<k>丁1石/廠肝心'| 土f Jde1.100003-3.82
16、90000.30904511.4080450-7219410.0419442i.3&ei3i0.0143950.000«7131.36S2300.0Q0006O.O0000Q牛頓迭代初值1B00Q0,次數(shù)£ 所求的根是,1365230任何鍵繼續(xù):1 1然后是普通迭代法函數(shù)是:®(x)弓1°-x3尸,結(jié)果如下:*普通迭代ST燈內(nèi) x*x«x> >/2*w«kx<:k>fCx<k>>ix<k*l>-xCk> iQ1.100000-3.8290000.37215811.47
17、21581_859535016741i21.304748-0.9693770,08978131-3945290.49079&0.04471041.349819-0.2525690.Q2319OS1.3730090_1289470.01179061.361219-0.Q&ei080.00605771.3672760.0338200.Q03Q9石S1.364181-0.0173210.00158691-3657670.000812101.364955-0.0045390.000416111.3653710.0023240.000213121-365158-0.3011900.000
18、10?131.3652670.0006090.Q0OQ56141.365211-0.0003120.000029151.3652400.0001600.000915161-365225-0.0000820.Q0OQ07171.3652330.0000420.000004血:通迭代初值= 1-100000,次數(shù)汽二所求的根是a-365229任何犍繼續(xù):1 J接著可以看到的是用兩點(diǎn)加速法對(duì)函數(shù) 護(hù)(X)=丄(10-%3)2的加速:2兩個(gè)值組合加速迭代XK屮X > +X >/21.1000001.2860791.3445031-3600721.3639651.3649211,3651551.3652121.365226-3.829000 -1.256827 -0.338797 -0.084955 -0.020873 -0.005102 -0,001246 -0.000304 -0.000074!x<k*l>-x<k&g
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025山西省安全員考試題庫(kù)
- 急診與災(zāi)難醫(yī)學(xué)知到智慧樹章節(jié)測(cè)試課后答案2024年秋廣西中醫(yī)藥大學(xué)
- 科技企業(yè)如何利用移動(dòng)端進(jìn)行品牌推廣
- 讀后續(xù)寫-100+英畝山林迷路記:黑暗中那束光的奇跡+(1)+講義 高二下期期末模擬質(zhì)量檢測(cè)英語(yǔ)試題
- 2025年福州職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)參考答案
- 科技企業(yè)職場(chǎng)晉升創(chuàng)新與團(tuán)隊(duì)協(xié)作
- 規(guī)劃對(duì)策類研究報(bào)告范文
- 淀粉設(shè)備購(gòu)銷合同范本
- 2025-2030年中國(guó)熱噴涂技術(shù)行業(yè)十三五規(guī)劃與發(fā)展策略研究報(bào)告
- 買賣烤箱合同范本
- 妊娠和精神疾病課件
- 全新人教精通版六年級(jí)英語(yǔ)下冊(cè)教案(全冊(cè) )
- (新版教材)粵教粵科版六年級(jí)下冊(cè)科學(xué)全冊(cè)教案(教學(xué)設(shè)計(jì))
- 精品污水處理廠工程重難點(diǎn)分析及應(yīng)對(duì)措施
- (完整版)泄洪渠施工方案
- 幼兒園廚房人員培訓(xùn)計(jì)劃
- 博士、博士后簡(jiǎn)歷模板
- 《房屋面積測(cè)算技術(shù)規(guī)程》DGJ32TJ131-2022
- 鞍鋼鲅魚圈鋼鐵項(xiàng)目38m生產(chǎn)線工程設(shè)計(jì)思想
- 《藥劑學(xué)》-阿昔洛韋軟膏的制備
- 畢業(yè)設(shè)計(jì)-膽囊結(jié)石患者的護(hù)理計(jì)劃
評(píng)論
0/150
提交評(píng)論