Matlab Online Figures Won't Close

3 次查看(过去 30 天)
Dieter
Dieter 2024-5-14
I have a Simulink / Matlab program that runs scrips and generates many figures. They are generated in a script and then closed in the same script. When I run it on the computer the figures close. When I run it online however, the figure contents close but there is a blank figure left that will not close at all. I have to exit Matlab Online and open a new session to ever get rid of them.
How do I properly get Matlab figures to close online?
figure(101);
hold on;
plot(BASEQ.Time,BASEQ.LSAngularWorkonArm);
plot(BASEQ.Time,BASEQ.RSAngularWorkonArm);
plot(BASEQ.Time,BASEQ.LEAngularWorkonForearm);
plot(BASEQ.Time,BASEQ.REAngularWorkonForearm);
plot(BASEQ.Time,BASEQ.LWAngularWorkonClub);
plot(BASEQ.Time,BASEQ.RWAngularWorkonClub);
ylabel('Work (J)');
grid 'on';
%Add Legend to Plot
legend('LS Angular Work','RS Angular Work','LE Angular Work','RE Angular Work','LW Angular Work','RW Angular Work');
legend('Location','southeast');
%Add a Title
title('Angular Work on Distal Segment');
subtitle('BASE');
%Save Figure
savefig('BaseData Charts/BASE_Plot - Angular Work');
%Close Figure
close(101);
  2 个评论
Rik
Rik 2024-5-14
Can you try using explicit handles for all your graphics calls?
Dieter
Dieter 2024-5-14
I managed to get it running by adding a 1 second pause after saving. A bit inconvenient as there is probably 150 total charts the program creates so it will add a few minutes to the process.
Would an explicit handle help prevent needing the pause?

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2024-5-14
Worth a try
hfig1 = figure('Name', 'Figure 1');
% Do stuff, then close it explicitly
close(hFig1);
drawnow; % Force immediate update of screen instead of waiting.

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

产品


版本

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by