uptrbk.m

来自「余向阳博士Matlab教程的源代码。 包括:1.非线性方程的解法;2.线性方程」· M 代码 · 共 24 行

M
24
字号
function X=uptrbk(A,b)
%  A是一个n阶矩阵。
%  b是一个n维向量。
%  X是线性方程组AX=b的解。
[N N]=size(A);
X=zeros(1,N+1);
Aug=[A b];
for p=1:N-1
 [Y,j]=max(abs(Aug(p:N,p)));
 C=Aug(p,:);
 Aug(p,:)=Aug(j+p-1,:);
 Aug(j+p-1,:)=C; 
if Aug(p,p)==0
     'A是奇异阵,方程无惟一解'
       break
  end
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
% 这里用到程序8-1中定义的函数backsub来进行回代。
X=backsub(Aug(1:N,1:N),Aug(1:N,N+1));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?