Let's say you want to divide your image into blocks of size M,N then something like this should work:
B = im2col(inputImage,[m n],'distinct');
since you want 16 blocks, so pretty much 4x4 blocks then
m=ceil(size(inputImage,1)/4)
n=ceil(size(inputImage,2)/4)
However, I have to ask you a question. Are you sure that it is necessary to divide your image into blocks? I would look into blockproc() and see if I can use that before dividing the image into blocks.