function [Q,r]=HouseholderQR(A)
[m,n]=size(A);m1=min(m,n);
if m>n
    m1=m1+1;
end
x=A(:,1);Q1=Householder(x);
A1=Q1*A;Q=Q1;
for i=2:m1-1
    x=A1(i:m,i);
    clear Q1;
    Q1(i:m,i:m)=Householder(x);
    Q1(1:i-1,1:i-1)=eye(i-1);
    A1=Q1*A1;    Q=Q*Q1;
end
r=Q'*A;

