关于顺序高斯消去法的matlab实现

下面的代码为函数文件:

function x  = nagauss( a,b,flag )
%用途:顺序高斯消去法解线性方程组ax=b
% a:系数矩阵,b:右端列变量
% flag:若为0,则显示中间过程,否则不显示,默认值为0
% x:解向量
if nargin<3
    flag=0;
end
n=length(b);
a=[a,b];
% 消元
for k=1:(n-1)
    a((k+1):n,(k+1):(n+1))=a((k+1):n,(k+1):(n+1))-a((k+1):n,k)/a(k,k)*a(k,(k+1):(n+1));
    a((k+1):n,k)=zeros(n-k,1);
    if flag==0
        a;
    end
end
%  回代
x=zeros(n,1);
x(n)=a(n,n+1)/a(n,n);
for k=(n-1):-1:1
    x(k)=(a(k,n+1)-a(k,(k+1):n)*x((k+1):n))/a(k,k);
end
end

例:解出下列方程

关于顺序高斯消去法的matlab实现_第1张图片

 结果如下图:

关于顺序高斯消去法的matlab实现_第2张图片

 以上内容为博主在学习中的总结,如有错误,请在评论区指出,希望得到指正。

你可能感兴趣的:(matlab学习,matlab)