MATLAB: How to plot to two figures simultaneously

copy axescopyobjfigureplottingsubplot

Here's the idea:
I'm making a live script to be printed and submitted for uni. At one point, I have to plot like 20 figures. It is more convenient to plot all these on a 4×5 subplot to be quickly looked over for mistakes etc., but this isn't good for detail. I was hoping to then simultaneously plot to an invisible figure (say fig(m,"…") in a for loop m=1:20), while also plotting to this subplot, and then printing the resultant figures to (hopefully one multi-page) pdf documents. I'd then attach this to my assignment for further scrutiny.
But nothing seems to do this, and everything I search is saturated with subplot faqs.
Is this reasonable or no? I get atm I could just duplicate the code, but that kinda destroys the whole idea of simultanous coding as it will get really messy, and get quite slow, very quickly.

Best Answer

Create the subplots and then copy each subplot axes to an independent figure at full size.
Here's a demo.
% Create subplot
figure()
sp(1) = subplot(2,2,1);
plot(rand(20,2), '-o')
sp(2) = subplot(2,2,2);
surf(peaks(15))
sp(3) = subplot(2,2,3);
[X,Y] = meshgrid(linspace(-2*pi,2*pi),linspace(0,4*pi));
contour(X,Y,sin(X)+cos(Y))
sp(4) = subplot(2,2,4);
histogram(randn(1,100)+10);
% copy each subplot to an independent figure
for i = 1:numel(sp)
newfig = figure();
axCopy = copyobj(sp(i),newfig);
axCopy.Position = [0.13 0.11 0.775 0.815]; % default fig pos.
end