%Modified Gram-Schmidt %Usage: [q,r]=mgs(A) function [q,r]=mgs(A) [m,n]=size(A); for i=1:n v(:,i)=A(:,i); end for i=1:n; r(i,i)=norm(v(:,i)); q(:,i)=v(:,i)/r(i,i); for j=i+1:n r(i,j)=q(:,i)'*v(:,j); v(:,j)=v(:,j)-r(i,j)*q(:,i); end end