I think I have solved this myself. I will leave the answer here in case anyone else has a similar problem.
Ammended code:
fig_num = 1; % sets number of figure to be opened
for ii = 1:5
figure(fig_num)
subplot(1,2,1);
imagesc(rand(10))
title(num2str(ii))
daspect([1 1 1])
subplot(1,2,2)
imagesc(rand(10))
title(num2str(ii))
daspect([1 1 1])
filename = 'saved_gif.gif';
del = 0.1; % time between animation frames
drawnow
frame = getframe(fig_num);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if ii == 1;
imwrite(imind,cm,filename,'gif','Loopcount',inf,'DelayTime',del);
else
imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',del);
end
end
Essentially, you need only to declare a figure number and call that number with getframe later in the script.
I hope this is helpful.