2013-06-28 7 views
8

मैं निम्नलिखित समस्या है: मेरे matlab कोड में मैंअस्वीकार मैटलैब ध्यान केंद्रित लेने के लिए स्वचालित रूप से

figure(1) 

जैसे बयानों का उपयोग कुछ डेटा के लिए गंतव्य आंकड़ा बदलने के लिए। समस्या यह है कि इस matlab के बाद इस आंकड़े के साथ खिड़की पर सिस्टम ध्यान केंद्रित करें।

जब मैं पृष्ठभूमि में एक बड़ी स्क्रिप्ट चलाता हूं और अपने कंप्यूटर पर अन्यथा करने की कोशिश करता हूं - मैटलैब हमेशा अपने आप पर ध्यान केंद्रित करता है और मैं सामान्य रूप से smt नहीं कर सकता।

क्या ऐसा करने के लिए मैटलैब को अस्वीकार करने के लिए कोई वाट है? मैं लिनक्स उबंटू में काम कर रहा हूं।

अग्रिम धन्यवाद।

+0

के संभावित डुप्लिकेट [मैटलैब विंडो फोकस चोरी रोकते हैं] (http://stackoverflow.com/questions/8488758/inhibit-matlab-window-focus-stealing) – Bull

उत्तर

2

आप इसे सृजन पर अदृश्य (दृश्यमान बंद) बनाकर कर सकते हैं, और केवल इसे दिखाना चाहते हैं जब आप इसे दिखाना चाहते हैं।

उदाहरण के लिए:

f = figure('Visible', 'off'); %create an invisible figure 
plot(rand(1,15)); %plot some stuff to it. 

saveas(f, 'test.png', 'png'); %write out the image as a png 
close(f); %destroy the figure 

वैकल्पिक रूप से: सेट (च, 'दर्शनीय', 'पर'); % पहले अदृश्य चित्र प्रदर्शित करें

नोट, यदि आप आंकड़े को Matlab .fig फ़ाइल के रूप में सहेजते हैं, तो यह इस तथ्य को भी बचाएगा कि यह अदृश्य है, जो थोड़ा उलझन में हो सकता है।

+0

वैसे, लिनक्स में मैंने बस मैटलैब स्क्रीन को किसी अन्य वर्कस्पेस –

+0

पर ले जाया है! चतुर। दयालुता जो खिड़कियों के लिए काम नहीं करेगी। यह अच्छा होगा अगर हम आम तौर पर फोकस चोरी करने के लिए विशिष्ट कार्यक्रमों के लिए अनुमति रद्द कर सकते हैं। – Alan

+0

@ शॉन 314 टाइपो को ढूंढने के लिए धन्यवाद – Alan

0

यह है अपरीक्षित, लेकिन स्मार्ट आंकड़ा के लिए लिंक पर आधारित है, यह सब आप अपने आंकड़ा फोकस चोरी नहीं कर रहा है बनाने के लिए क्या करने की जरूरत की तरह लग रहा है:

set(0, 'CurrentFigure', h); 

और वैसे, यदि आप नहीं जानते थे, 0, जिसका अर्थ है "रूट"

संबंधित मुद्दे