資源描述:
《高斯法和列主元高斯消去法解線性方程組(MATLAB版)》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、clear;clc;%Gauss消去法解線性方程組A=[3-564-2-38;11-9151-92;2-175-1611;-11327-1-2;431-7211;29-811-1-4-1;72-127-19];%系數(shù)矩陣b=[1122995825]';%n維向量y=inv(A)*b%matlab的計算結果n=length(b);%方程個數(shù)nx=zeros(n,1);%未知向量%-------------消去-----------fork=1:n-1%ifA(k,k)==0;%error('Error');%
2、endfori=k+1:n%A(i,k)=A(i,k)/A(k,k);Aik=A(i,k)/A(k,k)forj=k:nA(i,j)=A(i,j)-Aik*A(k,j);endAb(i)=b(i)-Aik*b(k)endend%-------------回代-----------x(n)=b(n)/A(n,n)fork=n-1:-1:1S=b(k);forj=k+1:nS=S-A(k,j)*x(j);endx(k)=S/A(k,k)endx%程序的計算結果error=abs(x-ones(n,1))%誤差c
3、lear;clc;%列主元Gauss校區(qū)法解線性方程組A=[3-564-2-38;11-9151-92;2-175-1611;-11327-1-2;431-7211;29-811-1-4-1;72-127-19];%系數(shù)矩陣b=[1122995825]';%n維向量y=inv(A)*b%matlab的計算結果n=length(b);%方程個數(shù)nx=zeros(n,1);%未知向量%-------------消去-----------fork=1:n-1Auk=A(k:n,k);[m,u]=max(abs(A
4、uk));u=u+k-1%u為最大元所在的列%------交換最大的行和當前行的值-------forj=k:ntemp=A(u,j);A(u,j)=A(k,j);A(k,j)=temp;endtemp=b(k);b(k)=b(u);b(u)=temp;%ifA(k,k)==0;%error('Error');%endfori=k+1:n%A(i,k)=A(i,k)/A(k,k);Aik=A(i,k)/A(k,k)forj=k:nA(i,j)=A(i,j)-Aik*A(k,j);endAb(i)=b(i)-
5、Aik*b(k)endend%-------------回代-----------x(n)=b(n)/A(n,n)fork=n-1:-1:1S=b(k);forj=k+1:nS=S-A(k,j)*x(j);endx(k)=S/A(k,k)endx%程序的計算結果error=abs(x-ones(n,1))%誤差%誤差小于直接進行高斯消去的計算誤差