MATLAB Householder 变换解最小二乘问题:线性方程组 AX=F
以下是使用 MATLAB 进行 Householder 变换对系数矩阵 A 进行正交三角化并求解最小二乘问题解线性方程组 AX=F 的代码:
% 定义系数矩阵 A 和右侧向量 F A = [1 2 3; 4 5 6; 7 8 10; 11 12 13]; F = [1; 2; 3; 4];
% 使用 MATLAB 自带的 qr 函数进行 Householder 变换,得到 Q 和 R [Q,R] = qr(A,0);
% 计算 Q'*F QF = Q'*F;
% 因为 R 是上三角矩阵,所以可以使用后代法求解 R*X=Q'*F X = R\QF;
% 输出最小二乘问题的解 disp(X);
% 验证解是否正确,计算 AX AX = A*X;
% 输出 AX 和 F 的差 disp(AX-F);
原文地址: https://www.cveoy.top/t/topic/nA4R 著作权归作者所有。请勿转载和采集!