2013-05-21 9 views
5

Ich versuche festzustellen, ob es einen schönen Weg gibt, alle Zahlen in MATLAB, außer für eine (n) zu schließen, die ich vorher festlege, sind nicht zu schließen. Gibt es so einen Weg?Schließen Sie alle Zahlen in MATLAB, außer bestimmten.

Ich merke, dass ich eine Menge Zeit verschwenden, um jedes Mal, wenn mein MATLAB-Skript läuft, bestimmte Sachen zu schließen, um sie zu schließen. Vielen Dank.

+3

Google-Suche in den folgenden Link geführt, die die Funktion hat, die genau das tut, was Sie suchen, http: //www.mathworks. com/matlabcentral/fileexchange/24420-close-all-figures-ausgenommen-die-gelisteten – Alexey

+0

@Alex Awesome thanks! – Spacey

+0

froh zu helfen, habe ich es als Antwort veröffentlicht. – Alexey

Antwort

10

können Sie diese versuchen

%figures to keep 
figs2keep = [4, 7]; 

% Uncomment the following to 
% include ALL windows, including those with hidden handles (e.g. GUIs) 
% all_figs = findall(0, 'type', 'figure'); 

all_figs = findobj(0, 'type', 'figure'); 
delete(setdiff(all_figs, figs2keep)); 

Hier ist der link to the source

2

Wahrscheinlich ist der sicherste Weg, den Variablen h1, h2, ... für jede Ihrer Figuren Handles zuzuweisen, wenn Sie sie generieren, und dann close(handle) verwenden, um die Zahlen zu schließen, die Sie nicht öffnen möchten.

close() nimmt auch einen Vektor/eine Matrix von Handles als Eingabe, so dass Sie immer einen Vektor von Griffen von Zahlen sammeln können, die geschlossen werden sollen.

+0

Nun, das Problem ist, dass sich die Dinge sehr schnell ändern, das ist keine "nette" Umgebung, viel Forschung geht weiter. In den meisten Fällen habe ich zig Zahlen offen, aber ich möchte jetzt alle geschlossen haben, außer den Abbildungen 7 und 4. Ich hoffe also auf eine Lösung, die nur diese beiden Argumente [4 7] enthält und alles andere schließt . – Spacey

Verwandte Themen