value1 and value2 will be columns only. From the matrix, you are picking those values which obey the condition, by using logical indexing. The output is correct. IF you are expecting a matrix, you can do the following:
A = rand(10) ;
B = rand(1,10) ;
idx0 = A>B ;
idx1 = A<B ;
C = NaN(size(A)) ;
C(idx0) = A(idx0)
The output is a matrix with NaN where condition is not obeyed.