![05d557677fb4a33c2dc5c67d2a93f835.png](https://img-blog.csdnimg.cn/img_convert/05d557677fb4a33c2dc5c67d2a93f835.png)
如题:
![9a0bd7f8cd1b16d0923c22496615806b.png](https://img-blog.csdnimg.cn/img_convert/9a0bd7f8cd1b16d0923c22496615806b.png)
详细代码:
(一)顺序Gauss消元法
function [x,XA]=GaussXQByOrder(A,b)
%高斯顺序消元法
N = size(A);
n = N(1);
for i=1:(n-1)
for j=(i+1):n
if(A(i,i)==0)
disp('对角元素为0!'); %防止对角元素为0
return;
end
l = A(j,i);
m = A(i,i);
A(j,1:n)=A(j,1:n)-l*A(i,1:n)/m; %消元方程
b(j)=b(j)-l*b(i)/m;
end
end
x=SolveUpTriangle(A,b); %通用的求上三角系数矩阵线性方程组的函数
XA = A; %消元后的系数矩阵
function x=SolveUpTriangle(A,b)
N=size(A);
n=N(1);
for i=n:-1:1
if(i<n)
s=A(i,(i+1):n)*x((i+1):n,1);
else
s=0;
end
x(i,1)=(b(i)-s)/A(i,i);
end
code1.m
%用顺序Guass消元法求方程组的解,计算结果与精确解做比较
%%
%当n=10时;
n=10;
A=diag(repmat([6],1,n))+diag(ones(1,n-1),1)+diag(ones(1,n-1)*8,-1);
b=[7,repmat([15],1,n-2),14]';
[x,XA]=GaussXQByOrder(A,b);
x
%%
%当n=30时;
n=30;
A=diag(repmat([6],1,n))+diag(ones(1,n-1),1)+diag(ones(1,n-1)*8,-1);
b=[7,repmat([15],1,n-2),14]';
[x,XA]=GaussXQByOrder(A,b);
x
%%
%当n=100时;
n=100;
A=diag(repmat([6],1,n))+diag(ones(1,n-1),1)&