Project

General

Profile

function updateUI(xx, yy, vv, vvold, n, N, hTopAxes, hBottomAxes, ...
hIterationText, hElapsedTimeText, ticT)
% Copyright 2015 The MathWorks, Inc.

persistent sh sh2 xxx yyy

if n == 1 % initialization
[xxx,yyy] = meshgrid(-1:1/16:1,-1:1/16:1); % grid for plotting
ylim = 5e4*10^-(log2(N)); %ylim = 0.0002;
sh = surf(hTopAxes , xxx, yyy, zeros(size(xxx)));
sh2 = surf(hBottomAxes, xxx, yyy, zeros(size(xxx)));
axis(hTopAxes , [-1 1 -1 1 -0.1 1]);
axis(hBottomAxes, [-1 1 -1 1 -ylim ylim]);
caxis(hTopAxes, [-0.5 0.5]);
caxis(hBottomAxes, [-ylim/5 ylim/5]);
end

vvv = interp2(xx,yy,vv,xxx,yyy);
vvvdiff = interp2(xx,yy,vv-vvold,xxx,yyy);
set(sh, 'ZData', vvv)
set(sh2, 'ZData', vvvdiff)

set(hIterationText,'String',num2str(n));
set(hElapsedTimeText, 'String', sprintf('Elapsed Time: %s', elapsedTimeDisplay(toc(ticT))));

drawnow;
(7-7/7)