As stated by Luis, subplots in a loop can be updated though the use of 'Ydata' after the plots have been predefined. 
I was having a similar problem, and I just wanted to share an extended example. 
% create two sets of data;
a1 = zeros(2,1)
b1 = zeros(2,1)
a2 = zeros(2,1)
b2 = zeros(2,1)
% first figure
f1 = figure;
f11 = subplot(1,2,1), h11 = plot(a1);
f12 = subplot(1,2,2), h12 = plot(b1);
% second figure
f2 = figure;
f21 = subplot(1,2,1), h21 = plot(a2);
f22 = subplot(1,2,2), h22 = plot(b2);
% apply a y limit, used only to enhance the plots
set(f11,'ylim',[-3 3])
set(f12,'ylim',[-3 3])
set(f21,'ylim',[-3 3])
set(f22,'ylim',[-3 3])
for n = 1:3
    % calulate a1 and b1
    a1(end) = a1(end)+1
    b1(end) = b1(end)-1
    set(h11, 'YData', a1);
    set(h12, 'YData', b1);
    % calculate a2, b2;
    a2 = -a1
    b2 = -b1
    set(h21, 'YData', a2);
    set(h22, 'YData', b2);
    pause(1)
end