updateinv.m

来自「MATLAB科学计算与工程分析源代码源程序4」· M 代码 · 共 24 行

M
24
字号
function invA=updateinv(invA,p,b)
% 此函数用来计算A中的第p列a_p被另一列b代替后,其逆的更新
% 编写日期:2007-5-15

[n,n]=size(invA);
d=invA*b;
if abs(d(p))<eps    %若d(p)=0则说明替换后的矩阵是奇异的
    warning('替换后的矩阵是奇异的!');
    invA=[];
    return;
else
    % 对A的逆作相应的行变换
    invA(p,:)=invA(p,:)/d(p);
    if p>1
        for i=1:p-1
            invA(i,:)=invA(i,:)-d(i)*invA(p,:);
        end
    end
    if p<n
        for i=p+1:n
            invA(i,:)=invA(i,:)-d(i)*invA(p,:);
        end
    end
end

⌨️ 快捷键说明

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