2012-01-26 6 views
5

में किसी अन्य का उपयोग करके निरंतर परिभाषित करने के लिए कैसे मैं यह समझ नहीं सकता कि अन्य लोगों का उपयोग करके स्थिरता को परिभाषित करने जैसी सरल चीज़ कैसे करें।मैटलैब क्लास

उदाहरण के लिए

, एक डमी उदाहरण:

classdef DummyClass < handle 
    properties (Constant) 
     NB_SECONDS_IN_MINUTE = 60; 
     NB_MINUTES_IN_HOUR = 60; 

     NB_SECONDS_IN_HOUR = NB_SECONDS_IN_MINUTE * NB_MINUTES_IN_HOUR; 
    end 
end 

यह काम नहीं करता है :(

मैं तो इस लाइन के साथ करने की कोशिश की:

NB_SECONDS_IN_HOUR = DummyClass.NB_SECONDS_IN_MINUTE * DummyClass.NB_MINUTES_IN_HOUR; 

लेकिन है कि या तो काम नहीं करता। ..

किसी को यहां एक सुराग मिला है?:/

(मैं MATLAB R2009a btw का उपयोग कर रहा हूं)

+0

क्या त्रुटि संदेश दिखाई देता है? –

+0

ने कहा "अपरिभाषित चर या वर्ग डमी क्लास"। बीटीडब्ल्यू, एड्रिक ने मुझे समाधान दिया: मैं बस भूल गया कि मेरी कक्षा सबफ़ोल्डर में थी, और मैटलैब में, किसी को कक्षा के पूर्ण योग्य नाम (उप-निर्देशिकाओं सहित) –

उत्तर

6

आपको अपने दूसरे मामले में पूर्ण श्रेणी के नाम के साथ स्थिरांक को संदर्भित करने की आवश्यकता है। एक पैकेज के भीतर DummyClass है (+packagename) निर्देशिका? यदि हां, तो आप पूर्ण रूप से उपयुक्त नाम का उपयोग करने की आवश्यकता है अर्थात

NB_SECONDS_IN_HOUR = packagename.DummyClass.NB_SECONDS_IN_MINUTE * packagename.DummyClass.NB_SECONDS_IN_HOUR; 

संपादित करें: बस R2009a में यह परीक्षण किया:

>> ver matlab 
------------------------------------------------------------------------------------- 
[...] 
------------------------------------------------------------------------------------- 
MATLAB            Version 7.8  (R2009a) 
>> type DummyClass 

classdef DummyClass < handle 
    properties (Constant) 
     NB_SECONDS_IN_MINUTE = 60; 
     NB_MINUTES_IN_HOUR = 60; 

     NB_SECONDS_IN_HOUR = DummyClass.NB_SECONDS_IN_MINUTE * DummyClass.NB_MINUTES_IN_HOUR; 
    end 
end 

>> DummyClass.NB_SECONDS_IN_HOUR 
ans = 
     3600 
+1

का उपयोग करने की आवश्यकता है, इसलिए यह उस पथ पर निर्भर करता है जहां हम वर्ग कोड ??? (और इसलिए हम इस श्रेणी को सीधे एक ही निर्देशिका संरचना के बिना एनोटर प्रोजेक्ट में पुन: उपयोग नहीं कर सकते हैं?) – Alexxx

+0

यह केवल तभी महत्वपूर्ण है जब आप MATLAB * पैकेज * निर्देशिका में DummyClass.m डालते हैं, यानी "+" के साथ एक शुरुआत। जब आप ऐसा करते हैं, तो आप कक्षा के पूर्ण-योग्य नाम को बदल देते हैं। – Edric