% Straight-forward implementation of the % QR-factorization using modified Gram-Schmidt: % A*R = Q function [Q,R] = MGS_qr(V) Q = V; [rows,cols]=size(V);m=cols; R = eye(m); for k=1:m WR = eye(m); vec_coef=zeros(1,m); n(k,k) = norm(Q(:,k)); ni(k,k)=1/n(k,k); vec_coef(1,k) = ni(k,k); Q(:,k)=Q(:,k)/n(k,k); for l=k+1:m nn(k,l)= Q(:,k)'*Q(:,l); Q(:,l) = Q(:,l) - nn(k,l)*Q(:,k); vec_coef(1,l) = - nn(k,l)*ni(k,k); end WR(k,1:m)=vec_coef; R = R*WR; end %