2013-05-21 24 views
5

Tôi đang cố gắng xác định xem có cách nào hay hay không, để đóng tất cả các số liệu trong MATLAB, ngoại trừ cho một (s) mà tôi xác định trước khi bàn tay, không được đóng lại. Có cách nào để làm điều này không?Đóng tất cả các số liệu trong MATLAB, trừ các số liệu cụ thể.

Tôi thấy rằng tôi đang lãng phí rất nhiều thời gian theo đuổi các công cụ cụ thể để đóng, mỗi khi kịch bản MATLAB của tôi chạy. Cảm ơn bạn.

+3

tìm kiếm Google dẫn đến đường dẫn sau, trong đó có chức năng thực hiện chính xác những gì bạn đang tìm kiếm: http: //www.mathworks. com/matlabcentral/fileexchange/24420-close-all-figure-ngoại trừ những người được liệt kê – Alexey

+0

@Alex Awesome thanks! – Spacey

+0

vui lòng trợ giúp, tôi đã đăng câu trả lời. – Alexey

Trả lời

10

Bạn có thể thử này

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

Đây là link to the source

2

Có lẽ cách an toàn nhất là gán tay cầm cho các biến h1, h2, ... cho mỗi số liệu của bạn khi bạn tạo chúng và sau đó sử dụng close(handle) để đóng các hình bạn không muốn mở.

close() cũng lấy một vectơ/ma trận xử lý làm đầu vào, vì vậy bạn luôn có thể tổng hợp vectơ xử lý các số liệu cần đóng.

+0

Vâng, vấn đề là mọi thứ đang thay đổi rất nhanh chóng, đây không phải là một môi trường 'đẹp', rất nhiều nghiên cứu đang diễn ra. Vì vậy, thường xuyên hơn không, tôi có nhiều con số mở, nhưng tôi muốn tất cả đóng cửa bây giờ ngoại trừ các con số 7 và 4. Vì vậy, tôi hy vọng cho một giải pháp mà sẽ chỉ mất hai đối số, [4 7], và đóng mọi thứ khác . – Spacey

Các vấn đề liên quan