



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精品文檔數(shù)值計算非線性方程五種數(shù)值解法的matlab程序一、算法描述計算 n A 的值可以將問題轉(zhuǎn)化為求函數(shù)f ( x) xnA0 時的解,可以利用函數(shù)的收斂性結(jié)合數(shù)值逼近的思想進(jìn)行算法設(shè)計。1.1 二分法設(shè) f ( x) 在區(qū)間( x,y)上連續(xù),假定 f ( a)0, f (b)0,a<b ,取中點 a b,若 f ( ab )0 ,22該點就是零點。若 f ( a b)0 , 則在區(qū)間( (a+b)/2 , b)內(nèi)有零點, (a+b)/2>=a,令 aa b 繼續(xù)22使用中點函數(shù)值判斷。 若 f ( ab) 0 ,則在區(qū)間 (a,(a+b)/2)內(nèi)有零點, (a+b)/2&l
2、t;=b ,令 bab 繼22續(xù)使用中點函數(shù)值判斷。這樣就可以不斷接近零點。通過每次把f(x) 的零點所在小區(qū)間收縮一半的方法,使區(qū)間的兩個端點逐步逼近函數(shù)的零點,以求得零點的近似值從以上可以看出,每次運算后,區(qū)間長度減少一半,是線形收斂。Matlab 實現(xiàn) :function erfen(A,n,a,b,e)a0=a;b0=b;f = (x)xn-A;m= 0;tic;if f(a)* f(b)<0m=1;c=(a+b)/2;fprintf('x%d=%12.9fn',m,c)while abs(a-b)>eif f(a)* f(c)<0b=c;c=(a+b
3、)/2;elseif f(c)*f(b)<0a=c;c=(a+b)/2;else y=c;endm=m+1;fprintf('x%d=%12.9fn',m,c)endformat longy=c;elseif f(a)=0。1歡迎下載精品文檔y=a;elseif f(b)=0y=b;else disp ('may not be a root')endmt = toc;fprintf('根為 : %.10fn',c);fprintf('初始值 : %.5f , %.5fn',a0,b0);fprintf('迭代次數(shù) :
4、 %dn',m);fprintf('迭代時間 : %.10fn',t);1.2 牛頓法在 已 知 方 程 的 近 似 根 x0 ,且 在 x0附 近 將 f ( x)用一階泰勒多項式展開即f ( x)f ( x0 ) f ' (x0 )( x x0 ) ,令 f (x)0即可解得 xx0f (x0 )。取此 x 作為原方程的新f ' (x0 )近似根繼續(xù)重復(fù)以上步驟,于是可得迭代公式xk 1f ( xk )xkf '( xk )Matlab 實現(xiàn):functionNewton(A,n,x0,e)begin=x0;f = (x)xn-A;df =
5、(x)n*x(n-1);x1=x0-f (x0)/df (x0);m=1;fprintf('x%d=%12.9fn',m,x1);tic;while (abs (x1-x0)>=e)&(m<=100000000)x0=x1;x1=x0-f(x0)/df(x0);m=m+1;fprintf('x%d=%12.9fn',m,x1);endx1mt = toc;fprintf('根為 : %.10fn',x1);fprintf('初始值 : %.5fn',begin);fprintf('迭代次數(shù) : %dn&
6、#39;,m);fprintf('迭代時間 : %.10fn',t);1.3 簡易牛頓法為簡化計算,在牛頓迭代公式中用一常數(shù)M代替 f '( xk ) 即為簡化牛頓迭代法,在此取f ' (x0 )f ' ( xk )。2歡迎下載精品文檔Matlab 實現(xiàn): function sNewton(A,n,x0,e)xk0=x0;f = (x)xn-A;df = (x)n*x(n-1);xk1=xk0-f (xk0)/df (x0);m=1;fprintf('x%d=%12.9fn',m,xk1);tic;while (abs (xk1-xk0)
7、>=e)&(m<=100000000)xk0=xk1;xk1=xk0-f(xk0)/df(x0);m=m+1;fprintf('x%d=%12.9fn',m,xk1);endxk1mt = toc;fprintf('根為 : %.10fn',xk1);fprintf('初始值 : %.5fn',x0);fprintf('迭代次數(shù) : %dn',m);fprintf('迭代時間 : %.10fn',t)1.4 割線法在牛頓迭代公式中用差商f ( xk )f (xk 1) 代替 f '( x
8、k ) 即為割線法xkxk 1Matlab 實現(xiàn)function gexian(A,n,a,b,e)x0=a;x1=b;f = (x)xn-A;x2=x1-f (x1)*(x1-x0)/(f(x1)-f(x0);m=1;fprintf('x%d=%12.9fn',m,x2);tic;while (abs (x2-x1)>=e)&(m<=100000000)x0=x1;x1=x2;x2=x1-f (x1)*(x1-x0)/(f(x1)-f(x0);m=m+1;fprintf('x%d=%12.9fn',m,x2);endx2mt = toc;f
9、printf('根為 : %.10fn',x2);fprintf('初始值 : %.5fn',a,b);。3歡迎下載精品文檔fprintf('迭代次數(shù) : %dn',m);fprintf('迭代時間 : %.10fn',t1.5 斯特芬森法該迭代法解方程x( x) 可以看成是另一種不動點迭代:xk 1(xk ), k0,1,2,L 其中迭代函數(shù)為(x)( x)x)2得 到 迭 代 公 式 為 :yk( xk ), zk( yk ) ;x2 (x)( (x)xxk 1( ykxk )20,1, 2Lxk2 yk, kzkxkMatl
10、ab 實現(xiàn)function Steffensen(A,n,x0,e)begin=x0;f = (x)xn-A;g = (x)A/(x(n-1);x1= x0-(g(x0)-x0)2/(g(g(x0)-2*g(x0)+x0)m=1;fprintf('x%d=%12.9fn',m,x1)tic;while (abs (x1-x0)>=e)&(m<=100000000)x0=x1;x1= x0-(g(x0)-x0)2/(g(g(x0)-2*g(x0)+x0);m=m+1;fprintf('x%d=%12.9fn',m,x1)endx1mt = to
11、c;fprintf('根為 : %.10fn',x1);fprintf('初始值 : %.5fn',begin);fprintf('迭代次數(shù) : %dn',m);fprintf('迭代時間 : %.10fn',t);二計算機軟硬件配置電腦型號華碩 K52JU 筆記本電腦操作系統(tǒng)Windows 7 旗艦版 32 位 SP1 ( DirectX 11 )處理器英特爾 Core i3 M 380 2.53GHz雙核筆記本處理器內(nèi)存2 GB (昱聯(lián) DDR3 1333MHz )Matlab 版本三參數(shù)設(shè)置n A , e(精度),a,b(區(qū)
12、間), x0 初始值。4歡迎下載精品文檔四計算結(jié)果(以計算3 500 為例)erfen(500,3,0,10,0.000001)gexian(500,3,0,10,0.000001)newton(500,3,10,0.000001)snewton(500,3,10,0.000001)steffensen(500,3,10,0.000001)迭代次數(shù)二分法割線法牛頓法簡易牛頓斯特芬森15.0000005.0000008.3333338.3333338.75000027.5000007.1428577.9555558.0709878.08548138.7500008.3561647.9370487
13、.9851517.94244148.1250007.8937927.9370057.9546367.93701257.8125007.9347937.9370057.9435047.93700567.9687507.9370177.9394077.93700577.8906257.9370057.93789387.9296877.9370057.93733397.9492187.937126107.9394537.937050117.9345707.937021127.9370117.937011137.9357917.937007147.9364017.937006157.9367067.9
14、37005167.936859177.936935187.936973197.936992207.937002217.937006227.937004237.937005247.937005257.937005迭代次數(shù)2585156迭代時間0.0500000.0100000.0000000.0000000.010000根7.9370057.9370057.9370057.9370057.937005四分析結(jié)果及結(jié)論由以上運行結(jié)果可知,牛頓法的收斂速度最快,二分法收斂速度最慢。5歡迎下載精品文檔牛頓法、割線法和斯特芬森得到的結(jié)果精度最高,迭代次數(shù)由低到高排列為:牛頓法,斯特芬森,割線法,簡易牛頓法,二分法。出現(xiàn)這種結(jié)果的原因是:二分法
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度股東致行動協(xié)議:董事會席位調(diào)整與決策權(quán)分配
- 二零二五年度汽車充電樁場地租賃及維護服務(wù)合同
- 旅游景區(qū)服務(wù)質(zhì)量提升策略手冊
- 汽車配件銷售及售后支持協(xié)議
- 企業(yè)級軟件系統(tǒng)開發(fā)合作協(xié)議
- 水滸傳經(jīng)典人物宋江征文
- 租賃房屋補充協(xié)議
- 關(guān)于提高工作效率的研討會紀(jì)要
- 文化創(chuàng)意產(chǎn)業(yè)發(fā)展規(guī)劃策略
- 融資租賃資產(chǎn)轉(zhuǎn)讓協(xié)議
- 大學(xué)物理馬文蔚版PPT
- 內(nèi)蒙古自治區(qū)高層建筑工程結(jié)構(gòu)抗震基本參數(shù)表(2022年版)
- FZ/T 07010-2021綠色設(shè)計產(chǎn)品評價技術(shù)規(guī)范針織服裝
- 2023年北京市中學(xué)生數(shù)學(xué)競賽高一年級復(fù)賽試題及解答
- 乙酰基乙烯酮(雙烯酮;二乙烯酮;雙乙烯酮)的理化性質(zhì)及危險特性表
- 酒店機房巡視簽到表
- API-650-1鋼制焊接石油儲罐
- 鼠疫演練腳本
- 變壓器試驗精品課件
- 煤礦機電運輸類臺賬(各種記錄匯編)
- 危險化學(xué)品從業(yè)單位安全生產(chǎn)標(biāo)準(zhǔn)化宣貫
評論
0/150
提交評論