MAAB計算方法迭代法牛頓法二分法實驗報告_第1頁
MAAB計算方法迭代法牛頓法二分法實驗報告_第2頁
MAAB計算方法迭代法牛頓法二分法實驗報告_第3頁
MAAB計算方法迭代法牛頓法二分法實驗報告_第4頁
MAAB計算方法迭代法牛頓法二分法實驗報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、姓名實驗報告成績評語:指導教師(簽名)年 月 日說明:指導教師評分后,實驗報告交院(系)辦公室保存。實驗一方程求根一、實驗?zāi)康挠酶鞣N方法求任意實函數(shù)方程f(x) 0在自變量區(qū)間a , b上,或某一點 附近的實根。并比較方法的優(yōu)劣。二、實驗原理(1)、二分法b ax ,一一對方程f(x) 0在a, b內(nèi)求根。將所給區(qū)間二分,在分點 2判斷b ax -一 一,、_是否f(x)。;若是,則有根 2。否則,繼續(xù)判斷是否f(a)?f(x) 0,若 是,則令b x,否則令a x。否則令a x。重復此過程直至求出方程f(x) 0 在a,b中的近似根為止。(2)、迭代法將方程f(x) 0等價變換為x=。(x)

2、形式,并建立相應(yīng)的迭代公式xk1 少(X)。(3)、牛頓法若已知方程 的一個近似根x。,則函數(shù)在點x0附近可用一階泰勒多項式pi(x) f(x0) f'(x0)(x X0)來近似,因此方程f(x) 0可近似表示為f (Xo)f(x0)f'(Xo)(X x ) 0設(shè)f'N 0,則x xof'(X0)oB X作為原方程新的近似f (Xk)根X1,然后將X1作為Xo代入上式。迭代公式為:Xki Xo 而尸。三、實驗設(shè)備:MATLAB 7.0軟件四、結(jié)果預(yù)測(1)卬=0.09033 X5=0.09052(3) X2 =0,09052五、實驗內(nèi)容(1)、在區(qū)間0,1上用二

3、分法求方程eX 10x 2 0的近似根,要求誤差不超 過。.5 103。f(Xk)、取初值X。0,用迭代公式Xk1 X。 f'(Xk),求方程eX 10x 2 0的近 3似根。要求誤差不超過0.5 10。(3)、取初值X0 0,用牛頓迭代法求方程eX 10x 2 0的近似根。要求誤差3不超過0.5 10。六、實驗步驟與實驗程序(1)二分法第一步:在MATLAB 7.0軟件,建立一個實現(xiàn)二分法的MATLABS數(shù)文件agui_bisect.m 如下:function x=agui_bisect(fname,a,b,e)%fname為函數(shù)名,a,b為區(qū)間端點,e為精度fa=feval(fna

4、me,a); % 把a端點代入函數(shù),求fa fb=feval(fname,b); % 把b端點代入函數(shù),求fb if fa*fb>0 error(' 兩端函數(shù)值為同號');end%如果fa*fb>0 ,則輸出兩端函數(shù)值為同號k=0x=(a+b)/2while(b-a)>(2*e) % 循環(huán)條件的限制fx=feval(fname,x);% 把 x 代入代入函數(shù),求fxif fa*fx<0% 如果fa與fx同號,則把x賦給b,把fx賦給fbb=x;fb=fx;else哪口果fa與fx異號,則把x賦給a,把fx賦給faa=x;fa=fx;endk=k+1% 計

5、算二分了多少次x=(a+b)/2 % 當滿足了一定精度后,跳出循環(huán),每次二分,都得新的區(qū)間斷點a和b,則近似解為x=(a+b)/2end第二步:在MATLA命令窗口求解方程f(x)=eAx+10x-2=0 ,即輸入如下>>fun=inline('exp(x)+10*x-2')>> x=agui_bisect(fun,0,1,0.5*10A-3)第三步:得到計算結(jié)果,且計算結(jié)果為kx01234567891011(2)迭代法第一步:第一步:在 MATLAB 7.0軟件,建立一個實現(xiàn)迭代法的 MATLAB函數(shù)文件agui_main.m如下:function x

6、=agui_main(fname,x0,e)%fname為函數(shù)名dfname的函數(shù)fname的導數(shù),x0為迭代初值%e為精度,N為最大迭代次數(shù)(默認為100)N=100;x=x0; %把x0賦給x,再算x+2*e賦給x0x0=x+2*e;k=0;while abs(x0-x)>e&k<N %循環(huán)條件的控制:x0-x的絕對值大于某一精度,和迭代次數(shù)小于Nk=k+1 %顯示迭代的第幾次x0=x;x=(2-exp(x0)/10 % 迭代公式disp(x)% 顯示 xendif k=N warning。已達到最大迭代次數(shù)');end % 如果K=N則輸出已達到最大迭代次數(shù)第

7、二步:在MATLA命令窗口求解方程f(x)=eAx+10x-2=0 ,即輸入如下>>fun=inline('exp(x)+10*x-2')>> x=agui_main(fun,0,1,0.5*10A-3)第三步:得出計算結(jié)果,且計算結(jié)果為kx12345以下是結(jié)果的屏幕截圖3) 牛 頓迭代法第一步 : 第一步: 在 MATLAB7.0 軟件, 建立一個實現(xiàn)牛頓迭代法的 MATLAB函數(shù)文件 =agui_newton.m 如下:function x=agui_newton(fname,dfname,x0,e)%fname為函數(shù)名dfname的函數(shù)fname的

8、導數(shù),x0為迭代初值%e為精度,N為最大迭代次數(shù)(默認為100)N=100;x=x0; % 把 x0 賦給 x ,再算 x+2*e 賦給 x0x0=x+2*e;k=0;while abs(x0-x)>e&k<N % 循環(huán)條件的控制: x0-x 的絕對值大于某一精度,和迭代次數(shù)小于Nk=k+1 % 顯示迭代的第幾次x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);% 牛頓迭代公式disp(x)% 顯示 xendif k=N warning。已達到最大迭代次數(shù)');end % 如果K=N則輸出已達到最大迭代次數(shù)第二步:在MATLA命令

9、窗口求解方程f(x)=eAx+10x-2=0 ,即輸入如下>>fun=inline('exp(x)+10*x-2')>> dfun=inline('exp(x)+10')>> x=agui_newton(fun,dfun,0,0.5*10A-3)第三步:得出結(jié)果,且結(jié)果為kx123以下是結(jié)果的屏幕截圖七、實驗結(jié)果(1) xii=0.09033 x5=0.09052(3) x2 =0,09052八、實驗分析與結(jié)論由上面的對二分法、迭代法、牛頓法三種方法的三次實驗結(jié)果,我們可 以得出這樣的結(jié)論:二分法要循環(huán) k=11次,迭代法要迭代k=5次,牛頓法 要迭代k=2次才能達到精度為0.5 10 3的要求,而且方程ex 10x 2 0的精確 解經(jīng)計算,為0.0905250,計算量從大到小依次是:二分法,迭代法,牛頓法。 由此可知,牛頓法和迭代法的精確度要優(yōu)越于二分法。而這三種方法中,牛 頓法不僅計算量少,而且

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論