數(shù)值分析matlab完整版實驗報告_第1頁
數(shù)值分析matlab完整版實驗報告_第2頁
數(shù)值分析matlab完整版實驗報告_第3頁
數(shù)值分析matlab完整版實驗報告_第4頁
數(shù)值分析matlab完整版實驗報告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)數(shù)值分析報告運用Matlab求解非線性方程的根學(xué) 院: 專 業(yè): 班 級: 姓 名: 學(xué) 號:目的掌握非線性方程求根的方法,并選取實例運用MATLAB軟件進行算法的實現(xiàn),分別用牛頓法、弦截法和拋物線法求非線性方程的根。報告選題報告選取數(shù)值分析(第四版)290頁習(xí)題7作為研究對象,即求在附近的根。根的準確值,要求結(jié)果準確到四位有效數(shù)字。用牛頓法;用弦截法,取,;用拋物線法,取,。理論基礎(chǔ)牛頓迭代法牛頓迭代法是一種特殊的不動點迭代法,其計算公式為 其迭代函數(shù)為 牛頓迭代法的

2、收斂速度,當(dāng)時,容易證明,,牛頓迭代法是平方收斂的,且 。 (2)弦截法 將牛頓迭代法中的用在,處的一階差商來代替,即可得弦截法 。 (3)拋物線法弦截法可以理解為用過兩點的直線方程的根近似替的根。若已知的三個近似根,用過的拋物線方程的根近似代替的根,所得的迭代法稱為拋物線法,也稱密勒(Muller)法。MATLAB實現(xiàn)根據(jù)牛頓法、弦截法和拋物線法求非線性方程根的理論基礎(chǔ),為實現(xiàn)計算在MATLAB中編寫了以下M文件:f.m,題目中的函數(shù)ffunction y=f(x)y=x3-3*x-1;d.m,函數(shù)f的導(dǎo)數(shù) function y=d(x)y=3*x2-3;newton.m,牛頓法functi

3、on newton(f,d,x0,e,max)%f 是要求根的方程(f(x)=0);%d 是f(x)的導(dǎo)數(shù);%x0是所給初值,位于x*附近;%e是給定允許誤差;%max是迭代的最大次數(shù);%x1是newton法求得的方程的近似解;%err是誤差估計;%k是迭代次數(shù);%y是f(x)值;k=0; y=feval(f,x0);fprintf(k=%.0f x%d=%.8f y%d=%.6en,k,k,x0,k,y)for k=1:max x1=x0-feval(f,x0)/feval(d,x0); err=abs(x1-1.); x0=x1; y=feval(f,x0); fprintf(k=%.0f

4、 x%d=%.8f e%d=%.6e y%d=%.6en,k,k,x0,k,err,k,y) if (erre)|(y=0)|(k=max) break; endendxjmethod.m弦截法function xjmethod(f,x0,x1,e,max)%f 是要求根的方程(f(x)=0);%x0,x1是所給初值,位于x*附近;%e是給定允許誤差;%max是迭代的最大次數(shù);%x1是弦截法求得的方程的近似解;%err是誤差估計;%k是迭代次數(shù);%y是f(x)值;fprintf(k=%.0f x%d=%.8f y%d=%.8en,0,0,x0,0,feval(f,x0)fprintf(k=%.

5、0f x%d=%.8f y%d=%.8en,1,1,x1,1,feval(f,x1)for k=2:max x2=x1-(feval(f,x1)*(x1-x0)/(feval(f,x1)-feval(f,x0); err=abs(x2-1.); x0=x1; x1=x2; y=feval(f,x1); fprintf(k=%.0f x%d=%.8f e%d=%.6e y%d=%.8en,k,k,x1,k,err,k,y) if (erre)|(y=0)|(k=max) break; endendpwxmethod.m拋物線法function pwxmethod(f,x0,x1,x2,e,max

6、)%f 是要求根的方程(f(x)=0);%x0,x1,x2是所給初值,位于x*附近;%e是給定允許誤差;%max是迭代的最大次數(shù);%x3是弦截法求得的方程的近似解;%err是誤差估計;%k是迭代次數(shù);%y是f(x)值fprintf(k=%.0f x%d=%.8f y%d=%.8en,0,0,x0,0,feval(f,x0)fprintf(k=%.0f x%d=%.8f y%d=%.8en,1,1,x1,1,feval(f,x1)fprintf(k=%.0f x%d=%.8f y%d=%.8en,2,2,x2,2,feval(f,x2)for k=3:max f0=feval(f,x0); f1

7、=feval(f,x1); f2=feval(f,x2); a=(f0-f2)/(x0-x2); b=(f1-f2)/(x1-x2); c=(a-b)/(x0-x1); w=b+c*(x2-x1); if w0 x3=x2-(2*f2/(w+sqrt(w2-4*c*f2); end err=abs(x3-1.); x0=x1; x1=x2; x2=x3; y=feval(f,x2); fprintf(k=%.0f x%d=%.8f e%d=%.6e y%d=%.8en,k,k,x2,k,err,k,y) if (erre)|(y=0)|(k=max) break; endend運行結(jié)果圖1 運

8、行結(jié)果界面(1)牛頓法計算結(jié)果 k02.1.e+00011.9.e-0037.e-00221.6.e-0055.e-004即,誤差為6.e-005。(2)弦截法計算結(jié)果k02.1.e+00011. 1.e-00121.1.e-0031.e-00231.2.e-0051.e-004即,誤差為2.e-005。 (3) 拋物線法計算結(jié)果k01.-3.e+00013. 1.e+00122.1.e+00031.1.e-0021.e-00141.2.e-004-1.e-00351.5.e-0084.e-007即,誤差為5.e-008。小結(jié)迭代法是解非線性方程的主要方法,牛頓法就是最有效的迭代法之一,它在單根附近具有較高階的收斂速度。而弦截法用差商代替導(dǎo)數(shù),對于較復(fù)雜的函數(shù)運算變的方便。拋物線法也是超線性收斂的,適用于求多項式的實根和復(fù)根。通過本次報告加深了對牛頓法

溫馨提示

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

評論

0/150

提交評論