I have the following problem:

write a MATLAB code for computing a matrix of the
orthogonal projection onto a subspace de ned as the intersection of column spaces of two matrices A and B.
Note that the intersection of two column spaces is de ned only if the
two matrices have the same number of rows. The intersection V1 V2 of two subspaces
V1 and V2 is de ned as a set of all vectors that belong simultaneously to both V1 and V2, and it is always a subspace. The challenge is to gure out how to construct a basis of this subspace given the matrices A and B.

The code should be set up as a function with two arguments proj4(A,B). Its output should be a single matrix of appropriate dimensions in case the projection matrix is defined or an error message the projection matrix cannot be computed in case the dimensions of matrices A and B are inappropriate (i.e. the projection matrix is not de ned).


This is the code I have so far. However, I'm not sure it is right. Can anybody help?:

function proj4(A,B)

[r1,c1] = size(A);
[r2,c2] = size(B);



if r1 ~= r2
disp('The projection matrix cannot be computed');

else
[R, pivcol] = rref(A);
C = A(:, pivcol);
[P,pivcolb]= rref(B);
D= B(:,pivcolb);
L=[C,D];
Z=null(L);
Z
end
end