高斯法和列主元高斯消去法解线性方程组(MATLAB版)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

clear;clc;

%Gauss消去法解线性方程组

A=[3 -5 6 4 -2 -3 8;

1 1 -9 15 1 -9 2;

2 -1 7 5 -1 6 11;

-1 1 3 2 7 -1 -2;

4 3 1 -7 2 1 1;

2 9 -8 11 -1 -4 -1;

7 2 -1 2 7 -1 9];%系数矩阵

b=[11 2 29 9 5 8 25]';%n维向量

y=inv(A)*b %matlab的计算结果

n=length(b);%方程个数n

x=zeros(n,1);%未知向量

%-------------消去-----------

for k=1:n-1

% if A(k,k)==0;

% error('Error');

% end

for i=k+1:n

% A(i,k)=A(i,k)/A(k,k);

Aik=A(i,k)/A(k,k)

for j=k:n

A(i,j)=A(i,j)-Aik*A(k,j);

end

A

b(i)=b(i)-Aik*b(k)

end

end

%-------------回代-----------

x(n)=b(n)/A(n,n)

for k=n-1:-1:1

S=b(k);

for j=k+1:n

S=S-A(k,j)*x(j);

end

x(k)=S/A(k,k)

end

x %程序的计算结果

error=abs(x-ones(n,1))%误差

clear;clc;

%列主元Gauss校区法解线性方程组

A=[3 -5 6 4 -2 -3 8;

1 1 -9 15 1 -9 2;

2 -1 7 5 -1 6 11;

-1 1 3 2 7 -1 -2;

4 3 1 -7 2 1 1;

2 9 -8 11 -1 -4 -1;

7 2 -1 2 7 -1 9];%系数矩阵

b=[11 2 29 9 5 8 25]';%n维向量

y=inv(A)*b %matlab的计算结果

n=length(b);%方程个数n

x=zeros(n,1);%未知向量

%-------------消去-----------

for k=1:n-1

Auk=A(k:n,k);

[m,u]=max(abs(Auk));

u=u+k-1 %u为最大元所在的列

%------交换最大的行和当前行的值-------

for j=k:n

temp=A(u,j);A(u,j)=A(k,j);A(k,j)=temp;

end

temp=b(k);b(k)=b(u);b(u)=temp;

% if A(k,k)==0;

% error('Error');

% end

for i=k+1:n

% A(i,k)=A(i,k)/A(k,k);

Aik=A(i,k)/A(k,k)

for j=k:n

A(i,j)=A(i,j)-Aik*A(k,j);

end

A

b(i)=b(i)-Aik*b(k)

end

end

%-------------回代-----------

x(n)=b(n)/A(n,n)

for k=n-1:-1:1

S=b(k);

for j=k+1:n

S=S-A(k,j)*x(j);

end

x(k)=S/A(k,k)

end

x %程序的计算结果

error=abs(x-ones(n,1))%误差

%误差小于直接进行高斯消去的计算误差

相关文档
最新文档