2013-08-07 5 views
5

में मैटलैब कक्षाओं को एक्सेस करें मुझे सी में कुछ matlab कोड को फिर से लिखना होगा जिसे बाद में मैक्स का उपयोग करके मैटलैब में एम्बेड किया जाएगा। अब तक, मैंने कुछ ट्यूटोरियल और उदाहरण पढ़े हैं कि यह सरल डेटा संरचनाओं के लिए कैसे काम करता है। (मैंने पहले कभी ऐसा नहीं किया है, भले ही मैं खुद को मैटलैब और सी दोनों में अनुभव करता हूं)।मेक्स/सी-कोड

मुझे लगता है कि

classdef MyClass 
    properties 
      foo; 
      bar; 
      blub; 
      somethingElse; 
    end 

    methods 

      function obj = myFun(obj) % really just some random example code 
       obj.foo = obj.bar; 
       obj.blub = 42; 
       for i = 1:length(obj.somethingElse) 
        obj.somethingElse(i) = i*i; 
       end; 
      end 
    end 
end 

मैं पीछे एक MEX/सी-समारोह के रूप में फिर से लिखने के लिए चाहते हैं की तरह कुछ दे दिया है:

तो यहाँ समस्या है। यदि मैं एक मेक्स-फ़ंक्शन में कक्षा उत्तीर्ण करता हूं, तो मैं इस वर्ग के विभिन्न गुणों को कैसे एक्सेस कर सकता हूं?

धन्यवाद

उत्तर

9

आप है MEX एपीआई में निम्नलिखित कार्य:

mxGetProperty और mxSetProperty

उनके प्रयोग के बराबर है:

value = pa[index].propname; 

pa[index].propname = value; 

ध्यान दें कि इन कार्य डी बनाते हैं डेटा की एपी प्रतियां। साझा डेटा के साथ काम करने के लिए undocumented functions हैं।

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

  • कोई संबंधित समस्या नहीं^_^