資源描述:
《計算方法jacobi迭代法與高斯seidel迭代法實驗》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實驗名稱:實驗3jacobi迭代法與Gauss-seidel迭代法實驗題目:給定線性方程組Ax=b如下實驗?zāi)康模赫莆沼胘acobi迭代法與Gauss-seidel迭代法求解線性方程組的基本步驟?;A(chǔ)理論:jacobi迭代法基本思路是方程組Ax=b等價于x=Bx+f,然后通過迭代算出方程組的解;Gauss-seidel迭代法主要是通過對A的分解,構(gòu)造迭代公式,進而迭代算出方程組的解。實驗環(huán)境:操作系統(tǒng):WindowsXP;實驗平臺:matlab實驗過程:方法一:jacobi迭代法程序:n=4;A=[10,-1,2,0;-1,11,-1,3;2,-1,10,-1;0,3,-1,8];b=
2、[6,25,-11,15];x0=[0,0,0,0];x0=zeros(n,1);x=x0;epsilon=input('精度=');N=input('最大迭代次數(shù)N=');fprintf('%d:',0);fori=1:nfprintf('%f',x0(i));end%以下是迭代過程fork=1:N%這是第k步迭代,迭代前的向量在x0[]中,迭代后的在x[]中normal=0;fori=1:nx(i)=b(i);forj=1:nifj~=ix(i)=x(i)-A(i,j)*x0(j);endendx(i)=x(i)/A(i,i);temp=abs(x(i)-x0(i)
3、);%求范數(shù)與迭代在同一個循環(huán)中iftemp>normalnormal=temp;%這里用的是無窮范數(shù)endend%第i步迭代結(jié)束fprintf('%d:',k);fori=1:nx0(i)=x(i);%為下一次迭代準備初值fprintf('%f',x(i));%輸出迭代過程endifnormal4、0,-1;0,3,-1,8];b=[6,25,-11,15];x=[0,0,0,0];epsilon=input('精度=');N=input('最大迭代次數(shù)N=');fprintf('%d:',0);fori=1:nfprintf('%f',x(i));end%以下是迭代過程fork=1:N%這是第k步迭代,迭代前的向量在x0[]中,迭代后的在x[]中normal=0;fori=1:nt=x(i);x(i)=b(i);forj=1:nifj~=ix(i)=x(i)-A(i,j)*x(j);endendx(i)=x(i)/A(i,i);temp=abs(x(i)-t);
5、%求范數(shù)與迭代在同一個循環(huán)中iftemp>normalnormal=temp;%這里用的是無窮范數(shù)endend%第i步迭代結(jié)束fprintf('%d:',k);fori=1:nfprintf('%f',x(i));%輸出迭代過程endifnormal