2010-11-30 13 views
6

के बीच संगतता मैं MATLAB से काफी परिचित हूं, हालांकि इसमें जीयूआई लिखने के साथ बहुत कुछ नहीं है। अब मेरे मालिक ने मुझे जीयूआई के साथ एक MATLAB प्रोग्राम दिया जो विंडोज मशीन पर विकसित किया गया था और बिना किसी समस्या के चलाता है। मैंने इसे यूएसबी मेमोरी स्टिक का उपयोग करके अपने मैक (MATLAB R2009b के साथ ओएसएक्स 10.6.5) पर कॉपी किया और मेरे कंप्यूटर पर फ़ाइलों पर काम करने की कोशिश की।मैक और विंडोज MATLAB Gui

जीयूआई शुरू करते समय, कुछ कॉलबैक निष्पादित किए जाते हैं, कुछ नहीं। मैं GUIDE में GUI युक्त आकृति फ़ाइल खोलने में सक्षम था, लेकिन संपत्ति निरीक्षक में कॉलबैक फ़ील्ड पर क्लिक नहीं कर सकता। इसके अलावा कुछ घटक GUIDE में नहीं दिखाए जाते हैं जो GUI चलाते समय दिखाई दे रहे हैं। सबसे पहले मुझे संदेह था कि यह बदले गए न्यूलाइन अक्षरों से दूषित हो सकता है, लेकिन पता चला कि .fig फ़ाइलें बाइनरी हैं, इसलिए यह मामला नहीं होना चाहिए। मैं एक पाठ संपादक के साथ द्विआधारी .fig फाइल खोली और निम्नलिखित ASCII लाइन बाइनरी डेटा के बाद पाया:

MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Aug 10 17:11:57 2010 

MATLAB ओएस के साथ विशिष्ट बनाया GUIs हैं? क्या यह वास्तव में बेवकूफ नहीं होगा?

मैंने विंडोज़ मशीन पर फ़ाइलों को फिर से खोल दिया और उन्हें निर्यात करने या उन्हें सहेजने का प्रयास करके यह निर्दिष्ट करके कि मैं उन्हें अन्य ऑपरेटिंग सिस्टम के साथ संगत होना चाहता हूं लेकिन इस तरह कोई विकल्प नहीं मिला।

बेशक मैंने Google पर इसका शोध किया, और मुझे आश्चर्य हुआ कि मुझे वास्तव में कुछ संबंधित नहीं मिला। अगर एक असंगतता मौजूद है, तो मुझे लगता है कि इस पर चर्चा की जाएगी, है ना?

कोई भी इसके बारे में जानता है या पहले भी यही समस्या है?

+5

थोड़ा ऑफ-विषय, लेकिन वैसे भी, मैं मैटलैब जीयूआई को प्रोग्रामेटिक रूप से लिखने की सलाह देता हूं और मार्गदर्शिका का उपयोग नहीं करता - - निश्चित रूप से यह पोर्ट को बंद करने के लिए बहुत अधिक काम हो सकता है अगर यह एक जटिल जीयूआई है जो पहले से ही गाइड में लिखा गया है, लेकिन आप (या आपका मालिक) अगली बार इसे मानना ​​चाहेंगे। मैंने इसे कठिन तरीका सीखा जब एक (गाइड) जीयूआई मैं बहुत प्रयास करता था, बाइनरी के बाद बेकार हो गया। फिग फ़ाइल किसी भी तरह दूषित हो गई थी। –

+1

MATLAB GUI जावा-स्विंग जीयूआई है और इस तरह यह प्लेटफ़ॉर्म-स्वतंत्र होना चाहिए। इसके अलावा .mat (और इस प्रकार .fig) फ़ाइलें प्लेटफॉर्म-स्वतंत्र हैं। – Mikhail

+0

क्या कमांड विंडो में कोई त्रुटि है? हाल ही में MATLAB में हर 6 महीने में एक नया, संभावित रूप से पिछड़ा संगत संस्करण नहीं है। क्या आप वाकई एक ही MATLAB संस्करण का उपयोग कर रहे हैं? – Mikhail

उत्तर

1

हम्म, ठीक है। खैर, जवाब काफी शर्मनाक है लेकिन अभी भी इससे सीखने की कुछ संभावनाएं हैं।

  1. bla.fig
  2. bla0.fig

सरल समस्या bla1.fig: फ़ोल्डर कि मेरे मालिक ने मुझे दिया फ़ाइलों और समान नामों वाले आंकड़े, जैसे की एक बहुत कुछ निहित पहली बार मैंने गाइड के साथ आंकड़ा खोला था, मैंने bla1.fig के बजाय आकृति bla.fig खोला था। इसके बाद मैंने हमेशा GUIDE के दोबारा कार्य का उपयोग किया और यह नहीं देखा कि यह हमेशा गलत फाइल थी। इससे समस्याएं आईं।

==> तो वहाँ मैक और पीसी के बीच कोई असंगति है, हालांकि मुझे आश्चर्य है कि क्यों मंच फ़ाइल में लिखा है तो

==> यह मूल व्यक्ति के रूप में पीछे की ओर-संगतता के साथ एक समस्या हो सकती थी MATLAB 5

==> @Adrian और @ मिखाइल के रूप में इंगित किया गया था: यह संस्करण नियंत्रण प्रणाली का उपयोग करने के लिए बहुत उपयोगी होगा ताकि विभिन्न संख्याओं के साथ सैकड़ों फाइलें हो सकें जहां उनमें से अधिकतर हैं अब

+0

इसके अलावा, 'clearFunctionNames' बहुत बेहतर पठनीय हैं। – Jonas

-1

का उपयोग नहीं किया गया है विभिन्न प्लेटफार्मों के बीच कुछ असंगतताएं प्रतीत होती हैं और मेरे अनुभव (MATLAB 5, 6, और 7) से अलग-अलग संस्करणों के बीच भी - मुझे कई बार इसी तरह की स्थितियों का सामना करना पड़ा है।

मुझे बिल्कुल यकीन नहीं है कि जब मार्गदर्शिका MATLAB के साथ उपलब्ध हो गई - मैंने पहली बार इसके बारे में ध्यान दिया जब मैं MATLAB 7 के पहले संस्करण का उपयोग कर रहा था (यह पहले बहुत अस्थिर था, लेकिन अब बहुत उपयोगी है। उदाहरण के लिए, मुझे MATLAB 7 छात्र संस्करण के साथ एक महत्वपूर्ण समस्या याद आती है। आपको जीयूआई काम करने के लिए एक पैच डाउनलोड करना पड़ा।)

क्या आपके मालिक को पता है कि * .fig फ़ाइल कैसे बनाई गई थी और जिसमें MATLAB संस्करण था? क्या आप MATLAB के पुराने संस्करण पर * .fig खोल सकते हैं और GUI को सही तरीके से प्रदर्शित कर सकते हैं?

कुछ फ़ंक्शन संभावित रूप से MATLAB के पुराने संस्करण के बाद से अप्रचलित हो गए हैं जिसका उपयोग आंकड़ा बनाने के लिए किया गया था, और इससे कुछ मामूली समस्या हो सकती है। यदि ऐसा है, तो आप कमांड विंडो (या MATLAB कंसोल) पर दिखाई देने वाली सभी त्रुटि और चेतावनी संदेशों की जांच करके समस्या निवारण कर सकते हैं।

इसके अलावा, आप * .fig फ़ाइलों को लोड करने में सक्षम होना चाहिए कमान विंडो से निम्न आदेश का उपयोग कर कार्यस्थल, यह मानते हुए कि फ़ाइलें MATLAB के खोज पथ में हैं।

लोड your_file.fig -mat

फिर आप एक संरचना डाटासेट देखना चाहिए, और है कि संरचना में आदि आंकड़ा सभी गुणों की, देखते हैं।

आप मार्गदर्शिका (जीयूआई विकास पर्यावरण/उपकरण) के बिना एक नया आंकड़ा बनाने के लिए जानकारी का उपयोग कर सकते हैं।

मैं आपको अपना खुद का जीयूआई ऐप लिखने की सलाह देता हूं। गाइड के साथ/बिना यह मुश्किल नहीं है।

मैंने हाल ही में शुरुआती और मध्यवर्ती उपयोगकर्ताओं के लिए MATLAB प्रोग्रामिंग पर कुछ युक्तियों के साथ एक साइट खोला, और इसे अपने खाली समय में अपडेट किया। यदि आपके पास जीयूआई बिल्डिंग के बारे में कोई विशिष्ट सवाल है, तो मैं वहां जवाब प्रदान कर सकता हूं (या नहीं) ...