Here is my solution:
%------------------data-----------------
>> mat = [1 2 3 4;2 3 4 5;3 4 5 6]
mat =
1 2 3 4
2 3 4 5
3 4 5 6
>> [m,n] = deal(3,2)
m =
3
n =
2
%----------------solution----------------
>> col = meshgrid(1:size(mat,2),1:m);
>> row = meshgrid(1:size(mat,1),1:n);
>> mat(row,col)
ans =
1 1 1 2 2 2 3 3 3 4 4 4
1 1 1 2 2 2 3 3 3 4 4 4
2 2 2 3 3 3 4 4 4 5 5 5
2 2 2 3 3 3 4 4 4 5 5 5
3 3 3 4 4 4 5 5 5 6 6 6
3 3 3 4 4 4 5 5 5 6 6 6
source
share