5、db(i)=b(i)/c;endfori=k:mforj=k:m-1a(j+1,i)=a(j+1,i)-a(k,i);%將下三角化為0endendfori=k:m-110b(i+1)=b(i+1)-b(k);endendx(m)=b(m);fori=m-1:-1:1%回代求解過程x(i)=b(i);forj=i+1:mx(i)=x(i)-a(i,j)*x(j);endx(i)=x(i)/a(i,i);endfprintf('方程組的計算結(jié)果是:')fori=1:mfprintf('x(%d)=%.6ft',i,x(i));endcommandwindows中輸入:
6、>>a=[1,1,1;12,-3,3;-18,3,-1];%定義系數(shù),用矩陣表示>>b=[6,15,-15];%定義右側(cè)值,用一維矩陣表示>>gxy(a,b)%求解方程組計算結(jié)果是:方程組的計算結(jié)果是:x(1)=1.000000x(2)=2.000000x(3)=3.0000003.追趕法求解方程組M文件編輯:zhuigan.mfunctionzhuigan(a,b,c,f)%定義m文件函數(shù)n=length(f);fori=2:n%追的過程t=a(i)/b(i-1);a(i)=0;b(i)=b(i)-c(i-1)*tf(i)=f(i)-f(i-1)*t;endx(n)=
7、f(n)/b(n);%趕的過程(也就是回代的過程)fori=n-1:-1:1x(i)=(f(i)-c(i)*x(i+1))/b(i);endfori=1:nfprintf('x(%d)=%.6f',i,x(i));10endcommandwindows中輸入:>>a=[0,-1,-1,-1];%定義第一列函數(shù)>>b=[2,2,2,2];%定義第二列函數(shù)>>c=[-1,-1,-1,0];%定義第三列函數(shù)>>f=[1,0,0,1];%定義右側(cè)系數(shù)>>zhuigan(a,b,c,f)%調(diào)用函數(shù)解方程出現(xiàn)運行結(jié)果為:x(1)=1.000000