The solution I came up with thus far (may not be the most elegant):
k=1;
for/while loop
% open a new frame
frame = figure('Visible','off');
% draw whatever it is you draw here
% save frame data into an array
q = getframe(frame);
ImgArray(:,:,:,k) = q.cdata;
k=k+1;
end
fig = figure('Visible', 'on');
montage(ImgArray, 'Size', [num_of_rows num_of_cols]);
Will gladly accept better solutions.