function [Q,R] = myclsqr(A); [m,n] = size(A); Q = zeros(m,n); R = zeros(n,n); V = zeros(m,n); for j = 1:n V(:,j) = A(:,j); for i = 1:j-1 R(i,j) = Q(:,i)'*A(:,j); V(:,j) = V(:,j) - R(i,j)*Q(:,i); end R(j,j) = norm(V(:,j)); Q(:,j) = (1/R(j,j))*V(:,j); Q R pause end