2013-05-21 21 views
5

Sto cercando di determinare se c'è un modo carino per chiudere tutte le figure in MATLAB, eccetto per una (e) che determino in anticipo, non devono essere chiuse. C'è un modo per farlo?Chiude tutte le figure in MATLAB, eccetto quelle specifiche.

Sto scoprendo che sto sprecando un sacco di tempo a cercare cose specifiche da chiudere, ogni volta che viene eseguito il mio script MATLAB. Grazie.

+3

ricerca di Google ha portato alla seguente link, che ha la funzione che fa esattamente quello che stai cercando: http: //www.mathworks. com/matlabcentral/fileexchange/24420-close-all-figure-eccetto quelli elencati – Alexey

+0

@Alex Grazie fantastici! – Spacey

+0

contento di aiutare, l'ho postato come risposta. – Alexey

risposta

10

Si può provare questo

%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)); 

Ecco il link to the source

2

Probabilmente il modo più sicuro è assegnare maniglie alle variabili h1, h2, ... per ciascuna delle figure mentre le generate e quindi utilizzare close(handle) per chiudere le cifre che non si desidera aprire.

close() accetta anche un vettore/matrice di handle come input, in modo da poter sempre aggregare un vettore di handle di figure da chiudere.

+0

Bene, il problema è che le cose stanno cambiando molto velocemente, questo non è un ambiente "bello", molte ricerche in corso. Quindi, più spesso, ho un numero di cifre aperto, ma vorrei che tutto fosse chiuso, tranne per le figure 7 e 4. Quindi, spero in una soluzione che prenda questi due argomenti, [4 7], e chiuda tutto il resto . – Spacey

Problemi correlati