数值方法 线性方程组的高斯消元法

该博客介绍了如何使用高斯消元法解决线性方程组的问题,提供了一个MATLAB函数`uptrbk`,用于处理非奇异矩阵A和矩阵B,输出解矩阵X。在函数中,进行了部分列交换以优化过程,并通过消除过程逐步求解。如果矩阵A为奇异矩阵,则提示无唯一解。
摘要由CSDN通过智能技术生成

function X=uptrbk(A,B)
%Input     -A is an N x N nonsingular matrix
%          -B is an N x 1 matrix
%Output    -X is an N x 1 matrix containing the solution to AX=B
%Initialize X and the temporary storage matrix C
[N N]=size(A);
X = zeros(N,1);
C = zeros(1,N+1);
%Form the augmented matrix : Aug=[A|B]
Aug=[A B];
for p=1:N-1
    % Partial povoting for column p
    [Y,j]=max(abs(Aug(p:N,p)));
    %Interchange row p and j
    C=Aug(p,:);
    Aug(p,:)=Aug(j+p-1,:);
    Aug(j+p-1,:)=Aug(j+p-1,:);
    Aug(j+p-1,:)=C;
 if Aug(p,p)==0
     'A was singular.   No unique solution';
 end
 %Elimination process for column p
 for k=p+1:N
     m=Aug(k,p)/Aug(p,p);
     Aug(k,p:N+1)=Aug(k,p:N+1)-m*Aug(p,p:N+1);
 end
end

U=Aug(1:N,1:N);
Y=Aug(1:N,N+1);
X=backsub(U,Y);    

利用了偏序选主元的策略
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值