क्या किसी को MATLAB में साझा लाइब्रेरी बनाने का अनुभव है?

एक शोधकर्ता ने MATLAB में एक छोटा सिमुलेशन बनाया है और हम इसे दूसरों के लिए सुलभ बनाना चाहते हैं। मेरी योजना सिमुलेशन लेना, कुछ चीजों को साफ करना और इसे कार्यों के एक सेट में बदलना है। फिर मैं इसे एक सी पुस्तकालय में संकलित करने और पाइथन रैपर बनाने के लिए SWIG का उपयोग करने की योजना बना रहा हूं। उस बिंदु पर मुझे एक छोटे Django ऐप से सिमुलेशन कॉल करने में सक्षम होना चाहिए। कम से कम मुझे ऐसी आशा है।

क्या मेरे पास सही योजना है? क्या किसी और ने ऐसा कुछ किया है? क्या आप मुझे बता सकते हैं कि क्या कोई गंभीर समस्या है जिसे मैं इस समय से अवगत नहीं हूं?

0
ro fr bn

4 उत्तर

मैं ज्यादा मदद नहीं करूंगा लेकिन मुझे याद है कि मैं एक MATLAB सिमुलेशन को डीएलएल में लपेटने में सक्षम था और फिर इसे डेल्फी ऐप से कॉल करता था। यह वास्तव में अच्छी तरह से काम किया।

0
जोड़ा

याद रखने की एक बात यह है कि मैटलैब कंपाइलर वास्तव में मैटलैब कोड को मूल मशीन निर्देशों में संकलित नहीं करता है। यह बस इसे एक स्टैंडअलोन निष्पादन योग्य या पुस्तकालय में अपने स्वयं के रनटाइम इंजन के साथ लपेटता है जो इसे चलाता है। आप Matlab इंस्टॉल किए बिना अपना कोड चलाने में सक्षम होंगे, और आप इसे अन्य भाषाओं के साथ इंटरफ़ेस करने में सक्षम होंगे, लेकिन फिर भी इसे मैटलैब कोड का अर्थ दिया जाएगा, इसलिए कोई गति नहीं होगी।

0
जोड़ा

मैं पहले ctypes कोशिश भी करेंगे।

  1. कोड को संकलित करने के लिए Matlab संकलक का उपयोग करें।
  2. सी कोड को डीएलएल में संकलित करें।
  3. इस DLL
  4. से कोड लोड और कॉल करने के लिए ctypes का उपयोग करें

सबसे कठिन कदम शायद 1 है, लेकिन यदि आप पहले से ही मैटलैब को जानते हैं और मैटलैब कंपाइलर का उपयोग किया है, तो आपको इसके साथ गंभीर समस्याएं नहीं होनी चाहिए।

0
जोड़ा

शायद SWIG के बजाय ctypes आज़माएं। यदि इसे पायथन 2.5 के हिस्से के रूप में शामिल किया गया है, तो यह अच्छा होना चाहिए :-)

0
जोड़ा