Run a section of code, pause, close figures and proceed to next section

10 ビュー (過去 30 日間)
Andrew Chen
Andrew Chen 2017 年 1 月 29 日
コメント済み: Iddo Weiner 2017 年 2 月 1 日
Hello, I am trying to beautify my code and it would be great if I could make my code run as described in the question. My most recent attempt looked something like this:
%%Section1
X = [...];
Y = [...];
h(1) = figure
plot(X)
hold on
plot(Y)
pause;
close figure 1
%%Section2
Not all sections have figures however (some only display text in the command window) but for some reason, when I would hit a key to advance past the pause, the figure would close and no code would be displayed from the next section. The run button in the editor tool bar said run (not pause) but when I clicked on it, the entire code would not run. I would then close matlab and would get a message that says something like matlab is running something and if you close now whatever it is doing would be incomplete.
Basically, I would greatly appreciate it if any of you know how to pause code at the end of a section then, upon some input, close any figures at the end of that section and advance to the next section. Thanks for your time!

回答 (1 件)

Iddo Weiner
Iddo Weiner 2017 年 1 月 29 日
Have you tried running sections (mark a section by starting it with %%+enter) separately with ctrl+enter?
then you can plant:
close all
at the end of the section and basically you get what you're looking for, if I understand you correctly..
  3 件のコメント
Iddo Weiner
Iddo Weiner 2017 年 2 月 1 日
Andrew, if you know in advance where you want to pause, and don;t want to use %% you can use matlab's stop ( doc stop). If you don't know this in advance, there might be a different option - I found this file in the file exchange, it's supposed to create a pause button, hope it helps:
http://www.mathworks.com/matlabcentral/fileexchange/6060-pausebutton
Regarding closing figures - if you don't want to use close all, there are other, more specific ways to do so. For instance - you can go: close(gcf) to close the last figure produced. You can also give handles to all your figures and use those to close specific figures. Check out Matlab's close documentation ( doc close).
Hope this is helpful!

サインインしてコメントする。

カテゴリ

Find more on Graphics Object Programming 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!

Translated by