matlab - इसे प्रदर्शित किए बिना.fig फ़ाइल में सहेजा गया आंकड़ा की संपत्ति कैसे संपादित करें



file-io properties (1)

मैं यूजर 24506754 द्वारा पोस्ट किए गए यूआरएल से धागा पर अपना हल आधार देता हूं: http://www.mathworks.com/matlabcentral/newsreader/view_thread/306249 वहां, जेसी हॉपकिंस पोस्ट (15 के बाद) आप एक संपत्ति 'ResizeFcn' को संपादित कर सकते हैं एक समारोह निष्पादित जब MATLAB एक आंकड़ा बनाता है यह मेरी MATLAB स्थापना पर काम नहीं करता है, लेकिन मुझे विभिन्न कार्यों को देखने के लिए प्रेरित करें जो आप अपने गुणों में एक आंकड़े के साथ संलग्न कर सकते हैं। यह पृष्ठ सभी आकृति गुणों को दर्ज करता है: http://mathworks.com/help/matlab/ref/figure-properties.html । वहाँ मुझे 'CreateFcn' संपत्ति 'CreateFcn' इसके वर्णन में शामिल हैं:

यह संपत्ति निष्पादित करने के लिए एक कॉलबैक फ़ंक्शन निर्दिष्ट करती है, जब MATLAB आंकड़ा बनाता है MATLAB CreateFcn कॉलबैक निष्पादित करने से पहले सभी आंकड़े गुण मूल्यों को आरंभ करता है।

इसका अर्थ है कि यह आंकड़ा इसके गुणों के साथ भरी हुई है, जिसमें 'Visible' संपत्ति को 'off' और फिर 'CreateFcn' कहा जाता है।

चित्र बनाने के लिए 'CreateFcn' सेट करना मेरी समस्या का समाधान करता है

set(gcf,'CreateFcn','set(gcf,''Visible'',''on'')')

एक उदाहरण:

ezplot(@sin) % draw a simple figure containing a sine wave, title, etc.
set(gcf,'Visible','off','CreateFcn','set(gcf,''Visible'',''on'')' % this disables the figure and set the 'CreateFcn' property simultaneously
saveas(gcf,'sin.fig') % save the figure in the current folder as a .fig file
close % closes current figure

अब अपने एक्सप्लोरर में वर्तमान फ़ोल्डर पर जाएं और sin.fig फ़ाइल पर डबल-क्लिक करें। यह MATLAB इसे लोड करता है और, poof , आंकड़ा तैयार है।

समाधान मिला

यह .fig फ़ाइल को संपादित नहीं करता है, जैसा कि मैंने मूल रूप से पूछा (समाधान के रूप में), लेकिन यह मूल समस्या का वैकल्पिक समाधान है। अब मैं आंकड़ों को बिना दृश्यों को बना और बचा सकता हूं, लेकिन उन आंकड़ों को आकर्षित कर सकता हूं, जो वे MATLAB द्वारा लोड किए जाते हैं।

मैं MATLAB आंकड़ों की एक निश्चित संपत्ति को संपादित करना चाहता हूँ जैसे कि .fig (MATLAB का डिफ़ॉल्ट प्रारूप) फ़ाइलें

मैं एक स्क्रिप्ट में बहुत सारे ग्राफ़िक्स-गहन आंकड़े तैयार करता हूं, इसलिए मैं set(0,'DefaultFigureVisible','off') साथ अदृश्य डिफ़ॉल्ट आकृति बनाकर उन्हें प्रदर्शित नहीं करना चाहता। यह 'off' लिए किसी भी नए आंकड़े के 'Visible' संपत्ति को सेट करता है इस तरह से मैं बना सकता हूं, संपादित, सहेज सकता हूं, आंकड़ों को बिना खींची, जो कि सीपीयू, जीपीयू और उनकी यादों पर लगाया जा सकता है। मैं बचाव के रूप में .fig फ़ाइलों के रूप में आंकड़े saveas(handle,'filename.fig') आदेश यह 'Visible' संपत्ति को भी बचाता है, जो एक समस्या है जब मैं यह आंकड़ा खोलना चाहता हूं (जैसे कि मेरे विंडोज एक्सप्लोरर में फ़ाइल को डबल-क्लिक करके) यह आंकड़ा भारित करता है, लेकिन यह इसे प्रदर्शित नहीं करता क्योंकि इसकी 'Visible' संपत्ति 'off' सेट है

मुझे सभी .fig फ़ाइलों को 'on' सेट गुण के साथ सहेजना है, लेकिन मैं आंकड़ों के प्रदर्शन (= कर लगाने) के बिना इसे कैसे प्राप्त कर सकता हूं? जिस क्षण मैं set(handle,'Visible','on') उपयोग करता हूं, इस चित्र को तैयार किया गया है

तो मूल रूप से, मैं फ़ाइल को निम्न स्तर पर MATLAB में एक आंकड़े के रूप में लोड होने से संपादित करना चाहता हूं।

मुझे लगता है कि ऐसा किया जा सकता है, लेकिन मुझे नहीं पता कि यह कैसे हासिल करना है। कोई .fig डेटा को लोड कर सकता है जैसे कि यह .mat फ़ाइल s=load('filename.fig','-mat'); । यह एक ऐसी संरचना को लोड करता है जिसमें कुछ फ़ील्ड होते हैं जिसमें सभी आंकड़े, डेटा, गुण आदि होते हैं। अब आंकड़े संभाल इस अज्ञात ढांचे और 'Visible' प्रॉपर्टी में पाए जाएंगे जो संपादित संभाल के साथ चलता है।

क्या यह आंकड़ा तैयार किए बिना किया जा सकता है?

मैंने कोशिश की, लेकिन सफल नहीं हुआ, fopen , fread और उनके दोस्तों का उपयोग कर।

क्या किसी को पता है कि मैं क्या करना चाहता हूं?





matlab-figure