解線性方程組的迭代法_第1頁
解線性方程組的迭代法_第2頁
解線性方程組的迭代法_第3頁
解線性方程組的迭代法_第4頁
解線性方程組的迭代法_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

解線性方程組的迭代法內(nèi)容提要引言簡單迭代法賽得爾迭代法迭代解法的收斂性

MATLAB的線性方程組求解函數(shù)2小結(jié)第2頁,共31頁,2024年2月25日,星期天

根據(jù)給定方程組,設(shè)計(jì)出一個(gè)迭代公式,構(gòu)造一數(shù)組的序列,代入迭代公式,計(jì)算出,再代入迭代公式,經(jīng)過k次迭代運(yùn)算后得到,若收斂于某一極限數(shù)組xi,則xi就是方程組的近似解。迭代過程本質(zhì)上就是計(jì)算極限的過程,一般不能得到精確解。迭代法的優(yōu)點(diǎn)是程序簡單,適合于大型方程組求解,但缺點(diǎn)是要判斷迭代是否收斂和收斂速度問題。雅可比(Jacobi(1804-1851))迭代法(簡單迭代法)賽得爾(Seidel(1821-1896))迭代法迭代解法的基本思想1、引言第3頁,共31頁,2024年2月25日,星期天設(shè)線性代數(shù)方程組為2、簡單迭代法展開為第4頁,共31頁,2024年2月25日,星期天若對(duì)角元素逐一變量分離得方程組第5頁,共31頁,2024年2月25日,星期天即此即為迭代公式簡單迭代解法的過程如下:1

設(shè)定一組初值第i個(gè)變量第k次迭代2

第一次迭代:得到第6頁,共31頁,2024年2月25日,星期天3

第二次迭代:得到4

同樣做法,得到第k+1次迭代:第7頁,共31頁,2024年2月25日,星期天迭代次數(shù)k的取值與精度要求有關(guān),按下式判斷:若滿足則停止迭代為了便于編程,迭代公式可改寫為:第8頁,共31頁,2024年2月25日,星期天function[x,iter,exitflag]=Jacobi_iter(A,b,x0,eps,iter_max)%線性方程組的Jacobi迭代求解(向量形式)%輸入?yún)?shù):%---A:線性方程組的系數(shù)矩陣%---b:線性方程組的右端項(xiàng)%---x0:初始向量,默認(rèn)值為零向量%---eps:精度要求,默認(rèn)值為1e-6%---iter_max:最大迭代次數(shù),默認(rèn)值為100%輸出參數(shù):%---x:線性方程組的近似解%---iter:迭代次數(shù)%---exitflag:迭代成功與否的標(biāo)志:exitflag=1表示迭代成功%exitflag=0表示迭代失敗n=length(b);ifnargin<5|isempty(iter_max);iter_max=100;endifnargin<4|isempty(eps);eps=1e-6;endifnargin<3|isempty(x0);x0=zeros(n,1);enditer=0;exitflag=1;D=diag(diag(A));L=tril(A,-1);U=triu(A,1);J=-inv(D)*(L+U);f=inv(D)*b;whileiter<iter_maxx=J*x0+f;ifnorm(x-x0,inf)<epsbreakendx0=x;iter=iter+1;endifiter==iter_maxexitflag=0;end第9頁,共31頁,2024年2月25日,星期天function[x,iter,exitflag]=Jacobi_iteration(A,b,x0,eps,iter_max)%線性方程組的Jacobi迭代求解(分量形式)%輸入?yún)?shù):%---A:線性方程組的系數(shù)矩陣%---b:線性方程組的右端項(xiàng)%---x0:初始向量,默認(rèn)值為零向量%---eps:精度要求,默認(rèn)值為1e-6%---iter_max:最大迭代次數(shù),默認(rèn)值為100%輸出參數(shù):%---x:線性方程組的近似解%---iter:迭代次數(shù)%---exitflag:迭代成功與否的標(biāo)志:exitflag=1表示迭代成功%exitflag=0表示迭代失敗n=length(b);ifnargin<5;iter_max=100;endifnargin<4;eps=1e-6;endifnargin<3;x0=zeros(n,1);endx=zeros(n,1);iter=0;exitflag=1;whileiter<iter_maxfori=1:nx(i)=(b(i)-A(i,[1:i-1,i+1:n])*x0([1:i-1,i+1:n]))/A(i,i);endifnorm(x-x0,inf)<epsbreakendx0=x;iter=iter+1;endifiter==iter_maxexitflag=0;end第10頁,共31頁,2024年2月25日,星期天MATLAB程序設(shè)計(jì)function[x,n]=richason(A,b,x0,eps,M)if(nargin==3)eps=1.0e-6;M=200;elseif(nargin==4)M=200;EndI=eye(size(A));x1=x0;x=(I-A)*x0+b;n=1;。。。。。。while(norm(x-x1)>eps)x1=x;x=(I-A)*x1+b;n=n+1;if(n>=M)disp('Warning:迭代次數(shù)太多,現(xiàn)在退出!');return;endend第11頁,共31頁,2024年2月25日,星期天例:求解方程組clearall;A=[1.0170-0.00920.0095;-0.00920.99030.0136;0.00950.01360.9898];b=[101]';x0=[000]';[x,n]=richason(A,b,x0)x=0.9739-0.00471.0010n=5第12頁,共31頁,2024年2月25日,星期天

賽得爾迭代法與簡單迭代法類似,只是迭代公式有所改進(jìn)。3、賽得爾迭代法簡單迭代法賽得爾迭代法第13頁,共31頁,2024年2月25日,星期天MATLAB程序設(shè)計(jì)function[x,n]=gauseidel(A,b,x0,eps,M)ifnargin==3eps=1.0e-6;M=200;elseifnargin==4M=200;elseifnargin<3errorreturn;endD=diag(diag(A));%求A的對(duì)角矩陣L=-tril(A,-1);%求A的下三角陣U=-triu(A,1);%求A的上三角陣。。。。。。G=(D-L)\U;f=(D-L)\b;x=G*x0+f;n=1;%迭代次數(shù)whilenorm(x-x0)>=epsx0=x;x=G*x0+f;n=n+1;if(n>=M)disp('Warning:迭代次數(shù)太多,可能不收斂!');return;endend第14頁,共31頁,2024年2月25日,星期天例:線性代數(shù)方程組的迭代解法----賽得爾迭代法clearall;A=[953381;533813017;381301725317];b=[764893547]';x0=zeros(3,1);[x,n]=gauseidel(A,b,x0,1e-4,10)Warning:迭代次數(shù)太多,可能不收斂!x=-0.80373.3330-0.2450n=200第15頁,共31頁,2024年2月25日,星期天

迭代解法的前提條件是迭代解出的近似解序列必須具有收斂性。如果近似解序列是發(fā)散的,迭代法則不能獲得解。4、迭代解法的收斂性第16頁,共31頁,2024年2月25日,星期天以下列初值進(jìn)行簡單迭代kX1X2X30000111-14-32-6981663-499-374-42944851-7149-2124第17頁,共31頁,2024年2月25日,星期天迭代收斂條件:嚴(yán)格對(duì)角占優(yōu)矩陣若不滿足收斂條件,適當(dāng)調(diào)整方程次序或作一定的線性組合,就可能滿足收斂條件。第18頁,共31頁,2024年2月25日,星期天格式solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN')5、MATLAB的線性方程組求解函數(shù)2第19頁,共31頁,2024年2月25日,星期天第20頁,共31頁,2024年2月25日,星期天格式X=fsolve(FUN,X0)Matlab非線性方程組求解說明:求解方程形式F(X)=0X、F可以是向量或矩陣

X0初值第21頁,共31頁,2024年2月25日,星期天第22頁,共31頁,2024年2月25日,星期天實(shí)例:基于Matlab的透鏡中心偏測(cè)量光軸擬合光學(xué)中心偏測(cè)量儀作為精確測(cè)定和嚴(yán)格校正光學(xué)系統(tǒng)中心偏誤差的儀器,它可以指出透鏡組中的各鏡面相對(duì)于光軸的中心偏移數(shù)值大小和方向。它的測(cè)量結(jié)果具有兩個(gè)方面的意義:其一是通過根據(jù)被測(cè)光學(xué)件各面的中心誤差是否超出,來判定光學(xué)件是否合格;其二是根據(jù)測(cè)量的結(jié)果來指導(dǎo)光學(xué)系統(tǒng)的裝校。為消除被測(cè)件在測(cè)量儀器上的安裝定位過程帶來的誤差,必須對(duì)直接測(cè)量的數(shù)據(jù)進(jìn)行修正。光軸擬合就是對(duì)測(cè)量數(shù)據(jù)的優(yōu)化和修正的過程。提出一種光軸擬合的數(shù)學(xué)模型,該數(shù)學(xué)模型結(jié)合了解析方法和數(shù)值分析方法,考慮了中心偏測(cè)量的實(shí)際情況,在嚴(yán)格的數(shù)學(xué)模型基礎(chǔ)上做了合理的簡化,使光軸的擬合問題最終轉(zhuǎn)化為對(duì)線性方程組的求解。第23頁,共31頁,2024年2月25日,星期天第24頁,共31頁,2024年2月25日,星期天3)應(yīng)用最小二乘法得到關(guān)于四參數(shù)的線性方程組。得到各面球心的位置坐標(biāo)后,按照一般直線擬合的方法,應(yīng)使各球心對(duì)優(yōu)化軸距離的平方和最小,符合數(shù)學(xué)上的最小二乘法。N個(gè)球心到優(yōu)化軸距離的平方和:第25頁,共31頁,2024年2月25日,星期天第26頁,共31頁,2024年2月25日,星期天第27頁,共31頁,2024年2月25日,星期天第28頁,共31頁,2024年2月25日,星期天擴(kuò)展:基于MATLAB的非線性方程組遺傳解法胡斐,趙治國(同濟(jì)大學(xué)汽車學(xué)院,上海201804)遺傳算法是一種基于自然選擇的用于求解有約束和無約束最優(yōu)問題的方法。遺傳算法反復(fù)修改包含若干個(gè)體的種群。遺傳算法在每一步中,隨機(jī)從當(dāng)前種群中選擇若干個(gè)個(gè)體作為父輩,并用它們產(chǎn)生下一代子輩。在若干代之后,種群就朝著最優(yōu)解“進(jìn)化”。我們可以利用遺傳算法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論