資源描述:
《GaussSeidel迭代法的Matlab程序.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Gauss_Seidel迭代法的Matlab程序function[x]=Gauss_Seidel_iterative(A,b)%用Gauss_Seidel迭代求解線性方程組,矩陣A是方陣???x0=zeros(1,length(b));%賦初值???tol=10^(-2);%給定誤差界???N=1000;?%給定最大迭代次數(shù)???[n,n]=size(A);%確定矩陣A的階???k=1;???%迭代過(guò)程???whilek<=N???????x(1)=(b(1)-A(1,2:n)*x0(2:n)')/A(1,1);???????fori=2:n?????????
2、??x(i)=(b(i)-A(i,1:i-1)*x(1:i-1)'-A(i,i+1:n)*x0(i+1:n)').../A(i,i);???????end???????ifmax(abs(x-x0))<=tol???????????fid=fopen('G_S_iter_result.txt','wt');???????????fprintf(fid,'********用Gauss_Seidel迭代求解線性方程組的輸出結(jié)果********');???????????fprintf(fid,'迭代次數(shù):%d次',k);???????????f
3、printf(fid,'x的值');???????????fprintf(fid,'%12.8f',x);???????????break;???????end???????k=k+1;???????x0=x;???end???ifk==N+1?????fid=fopen('G_S_iter_result.txt','wt');?????fprintf(fid,'********用Gauss_Seidel迭代求解線性方程組的輸出結(jié)果********');?????fprintf(fid,'迭代次數(shù):%d次',k);?????fp
4、rintf(fid,'超過(guò)最大迭代次數(shù),求解失??!');?????fclose(fid);???end