數(shù)值分析求解非線性方程根的二分法簡單迭代法和牛頓迭代法_第1頁
數(shù)值分析求解非線性方程根的二分法簡單迭代法和牛頓迭代法_第2頁
數(shù)值分析求解非線性方程根的二分法簡單迭代法和牛頓迭代法_第3頁
數(shù)值分析求解非線性方程根的二分法簡單迭代法和牛頓迭代法_第4頁
數(shù)值分析求解非線性方程根的二分法簡單迭代法和牛頓迭代法_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)報(bào)告一:實(shí)驗(yàn)題目一、 實(shí)驗(yàn)?zāi)康恼莆涨蠼夥蔷€性方程根的二分法、簡單迭代法和牛頓迭代法,并通過數(shù)值實(shí)驗(yàn)比較兩種方法的收斂速度。二、 實(shí)驗(yàn)內(nèi)容1、編寫二分法、牛頓迭代法程序,并使用這兩個程序計(jì)算 在0, 1區(qū)間的解,要求誤差小于 ,比較兩種方法收斂速度。2、在利率問題中,若貸款額為20萬元,月還款額為2160元,還期為10年,則年利率為多少?請使用牛頓迭代法求解。3、由中子遷移理論,燃料棒的臨界長度為下面方程的根cotx=(x2-1)/2x,用牛頓迭代法求這個方程的最小正根。4、用牛頓法求方程fx=x3-11x2+32x-28=0的根,精確至8位有效數(shù)字。比較牛頓迭代法算單根和重根的收斂速度,并

2、用改進(jìn)的牛頓迭代法計(jì)算重根。三、 實(shí)驗(yàn)程序第1題: 區(qū)間0,1函數(shù)畫圖可得函數(shù)零點(diǎn)約為0.5。畫圖函數(shù):function Test1()% f(x) 示意圖, f(x) = x + exp(x) - 2; f(x) = 0r = 0:0.01:1;y = r + exp(r) - 2plot(r, y); grid on二分法程序:計(jì)算調(diào)用函數(shù):c,num=bisect(0,1,1e-4)functionc,num=bisect(a,b,delta)%Input a,b是取值區(qū)間范圍% -delta是允許誤差%Output -c牛頓迭代法最后計(jì)算所得零點(diǎn)值% -num是迭代次數(shù)ya = a +

3、 exp(a) - 2;yb = b + exp(b) - 2;if ya * yb>0 return;endfor k=1:100 c=(a+b)/2; yc= c + exp(c) - 2; if abs(yc)<=delta a=c; b=c; elseif yb*yc>0 b=c; yb=yc; else a=c; ya=yc; end if abs(b-a)<delta num=k; %num為迭代次數(shù) break; endendc=(a+b)/2;err=abs(b-a);yc = c + exp(c) - 2;牛頓迭代法程序:計(jì)算調(diào)用函數(shù):c,num=ne

4、wton(func1,0.5,1e-4)調(diào)用函數(shù):function y = func1(x)y = x + exp(x) - 2;end迭代算法:functionc,num=newton(func,p0,delta)%Input -func是運(yùn)算公式% -p0是零點(diǎn)值% -delta是允許誤差%Output -c牛頓迭代法最后計(jì)算所得零點(diǎn)值% -num是迭代次數(shù)num=-1;for k=1:1000 y0=func(p0); dy0=diff(func(p0 p0+1e-8)/1e-8; p1=p0-y0/dy0; err=abs(p1-p0); p0=p1; if(err<delta)

5、 num=k; %num為迭代次數(shù) break; endendc=p0;第2題:由題意得到算式:200000*1+x10-2160*12*10=0計(jì)算調(diào)用函數(shù):c,num=newton(func2,0.02,1e-8)程序:先用畫圖法估計(jì)出大概零點(diǎn)位置在0.02附近。畫圖程序:function Test2()% f(x) 示意圖, f(x) = 200000*(1+x).10-2160*12*10; f(x) = 0r = linspace(0,0.06, 100);y = 200000*(1+r).10-2160*12*10;plot(r, y);grid on調(diào)用函數(shù):functiony=

6、func2(r)y=200000*(1+r).10-2160*12*10;end牛頓迭代法算法程序:function c,num =newton(func,p0,delta)%Input -func是運(yùn)算公式% -p0是零點(diǎn)值% -delta是允許誤差%Output -c牛頓迭代法最后計(jì)算所得零點(diǎn)值% -num是迭代次數(shù)num=-1;for k=1:1000 y0=func(p0); dy0=diff(func(p0 p0+1e-8)/1e-8; p1=p0-y0/dy0; err=abs(p1-p0); p0=p1; if(err<delta) num=k; break; endend

7、c=p0;第3題:cotx=(x2-1)/2x 求最小正數(shù)解計(jì)算調(diào)用函數(shù):c,num=newton(func3, 1 ,1e-8)程序:先用畫圖法估計(jì)出最小正解位置在1到2之間畫圖程序:function Test3()% f(x) 示意圖, f(x) = cot(x)-(x.2-1)./(2.*x); f(x) = 0ezplot('cot(x)-(x.2-1)./(2.*x)',-6,6);grid on調(diào)用函數(shù):functiony=func3(x)y=cot(x)-(x.2-1)./(2.*x);end牛頓迭代法算法程序:function c,num =newton(fun

8、c,p0,delta)%Input -func是運(yùn)算公式% -p0是零點(diǎn)值% -delta是允許誤差%Output -c牛頓迭代法最后計(jì)算所得零點(diǎn)值% -num是迭代次數(shù)num=-1;for k=1:1000 y0=func(p0); dy0=diff(func(p0 p0+1e-8)/1e-8; p1=p0-y0/dy0; err=abs(p1-p0); p0=p1; if(err<delta) num=k; break; endendc=p0;第4題:fx=x3-11x2+32x-28=0 精確至8位有效數(shù)字 根據(jù)畫圖圖像可得函數(shù)有一個重根在區(qū)間1,3和另一個根在區(qū)間6,8。計(jì)算調(diào)用

9、函數(shù):重根:c,num=newton(func4, 1 ,1e-8) 另外的單根:c,num=newton(func4, 6 ,1e-8)畫圖程序:function Test4()% f(x) 示意圖, f(x) = x.3-11.*x.2+32.*x-28; f(x) = 0r = 0:0.01:8;y = r.3-11.*r.2+32.*r-28;plot(r, y);grid on調(diào)用函數(shù):function func4(x)y=x.3-11.*x.2+32.*x-28;end牛頓迭代法算法程序:functionc,num=newton(func,p0,delta)%Input -func

10、是運(yùn)算公式% -p0是零點(diǎn)值% -delta是允許誤差%Output -c牛頓迭代法最后計(jì)算所得零點(diǎn)值% -num是迭代次數(shù)num=-1;for k=1:100 y0=func(p0); dy0=diff(func(p0 p0+1e-8)/1e-8; if(dy0=0) c= vpa(p0,8); num=k; break; else p1=p0-y0/dy0; err=abs(p1-p0); p0=p1; if(err<delta) num=k; break; end endendc= vpa(p0,8);改進(jìn)的牛頓算法程序:functionc,num=newton(func,p0,d

11、elta)%Input -func是運(yùn)算公式% -p0是零點(diǎn)值% -delta是允許誤差%Output -c牛頓迭代法最后計(jì)算所得零點(diǎn)值% -num是迭代次數(shù)num=-1;for k=1:100 y0=func(p0); dy0=diff(func(p0 p0+1e-8)/1e-8; if(dy0=0) c= vpa(p0,8); num=k; break; else p1=p0-2*y0/dy0;%根據(jù)重根計(jì)算時,改進(jìn)Newton法的收斂速度,可以采用在迭代函數(shù)中乘上重根數(shù)的方法進(jìn)行改善。 err=abs(p1-p0); p0=p1; if(err<delta) num=k; brea

12、k; end endendc=vpa(p0,8);四、 實(shí)驗(yàn)結(jié)果分析第1題:根據(jù)圖片可以看出函數(shù)零點(diǎn)的值在0.4與0.5之間,牛頓迭代法時取0.5作為迭代初值。第2題:根據(jù)圖片可以看出函數(shù)零點(diǎn)的值在0.02與0.03之間,可采用0.02作為迭代初值。第3題:根據(jù)圖片可以看出函數(shù)最小正數(shù)零點(diǎn)的值在1與2之間,在使用牛頓迭代法時可以采用1為迭代初值。第4題:根據(jù)圖片可以看出函數(shù)重根為2,另一單根為7。在使用迭代法時刻采用1和6為初值進(jìn)行計(jì)算。五、實(shí)驗(yàn)結(jié)論通過實(shí)驗(yàn)結(jié)果可以看出,二分法,簡單迭代法和牛頓迭代法三種算法中,牛頓迭代法在選取適合值進(jìn)行代入的情況下能得到較好的收斂效果。第1題:二分法實(shí)驗(yàn)結(jié)果: c =0.4429,num =11牛頓迭代法實(shí)驗(yàn)結(jié)果: c =0.4429,num =3根據(jù)結(jié)果可以看出兩者計(jì)算結(jié)果相同,牛頓迭代法迭代次數(shù)為3,二分法的迭代次數(shù)為11,比較而言迭代次數(shù)牛頓迭代法比二分法小得多。第2題實(shí)驗(yàn)結(jié)果:零點(diǎn)c = 0.0263,num = 4通過畫圖后能對計(jì)算結(jié)果有一個較好的估計(jì),從而在最后獲得結(jié)果,并且迭代次數(shù)也較少。第3題實(shí)驗(yàn)結(jié)果:零點(diǎn)c = 1.3065,num = 5。cot(x)函數(shù)在/2處無限值,畫圖時注意使用符號函

溫馨提示

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

評論

0/150

提交評論