How would one update the plotted data without resting the figure axes labels and other format elements?
4 views (last 30 days)
Show older comments
while t<=tf
for i=2:Nx
for j=2:Ny
T(i,j) =T(i,j)+dt*alpha*(((T(i-1,j)-2*T(i,j)+T(i+1,j))/dx^2)+((T(i,j-1)-2*T(i,j)+T(i,j+1))/dy^2));
history_T=cat(3,history_T,T);
end
end
t=t+dt;
X=[0:0.05:1];
Y=[0:0.05:1];
%% PLOT
surf(X,Y,T)
pause(0.01)
%% FORMATING ELEMENTS
xlabel('Width, $m$','Interpreter','Latex')
ylabel('Depth, $m$','Interpreter','Latex')
zlabel('Temperature, $T$','Interpreter','Latex')
xlim([0 Lx])
ylim([0 Ly])
zlim([0 100])
set (gca,'FontSize',10,'FontName','Times')
set(gcf,'color','w');
end
Where X and Y are row vectors and T is a matrix with dimensions (length(X),length(Y). T updated with every repitition of the while loop, producing a surf plot that changes accordingly.
The plot appears with default formatting until the final iteration where it formats it as I intend.
How can I instruct MATLAB to keep the formatting elements constant throught the iteration?
Many thanks.
0 Comments
Answers (2)
Divya Yerraguntla
on 16 Oct 2019
Hi Josh,
Try placing the pause(0.01) line of code after %% Formating elements section i.e. after the set(gcf,'color,'w') and not after the surf(X,Y,T). This actually helps in pausing and viewing the surf plot after all the required formatting is done.
Hope it works!
darova
on 16 Oct 2019
Use hold on command
%% FORMATING ELEMENTS
figure(1)
xlabel('Width, $m$','Interpreter','Latex')
ylabel('Depth, $m$','Interpreter','Latex')
zlabel('Temperature, $T$','Interpreter','Latex')
xlim([0 Lx])
ylim([0 Ly])
zlim([0 100])
set (gca,'FontSize',10,'FontName','Times')
set(gcf,'color','w');
hold on
while
h = surf(X,Y,T);
pause(0.01)
delete(h);
end
hold off
0 Comments
See Also
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!