数据拟合线性最小二乘法及其应用(householder变换)
% A=[-12 3 3;3 1 -2;3 -2 7];
% [Q,R]=qr(A) % 调用MATLAB自带的QR分解函数进行验证
% [q,r]=qrhs(A) % 调用本函数进行QR分解
% q*r-A % 验证 A=QR
% q'*q % 验证q的正交性
% norm(q) % 验证q的标准化,即二范数等于1
%
n=size(A,1);
R=A;
Q=eye(n);
for i=1:n-1
x=R(i:n,i);
y=[1;zeros(n-i,1)];
Ht=householder(x,y);
H=blkdiag(eye(i-1),Ht);
Q=Q*H;
R=H*R;
end
5.3 QR分解
matlab代码如下:
%用QR分解来解方程AX=b
A=[4 2 -1;3 -1 2;11 3 9];%实例演示
b=[2 10 8]';%实例演示
[Q,R]=qr_h(A)
X=R\(Q\b)%AX=b,A=QR