算法参考数值分析第四版 颜庆津 P23 (选主元的doolittle分解法算法)
运行结果截图:输入矩阵A,b。输出QA=LU的分解矩阵和Ax=b的解。
A=[1 8 2 3;-6 -3 8 1;2 4 4 2;10 5 -5 6]
b=[12;40;-50;80]
doolittle.m文件函数内容:
function [L,U,x] = doolittle(A,b)%用选主元的doolittle分解法求解线性方程组
z=size(A);
n=z(1);%b(1),b(2)分别是A的行和列.这里只处理n*n的非奇异矩阵
%错误检查
if z(1)~=z(2)%非方阵错误
error('MATLAB:Crout:Input Matrix should be a Square matrix. See Crout.');
end
if n~=rank(A)%非满秩矩阵错误
error('MATLAB:Crout:Input Matrix should be FULL RANK. See Crout.');
end