2009-01-12 10 views
20

के बीच इंटरऑपरेटिंग इंटरनेट के चारों ओर झुकने के बाद ऐसा लगता है कि सी # और मैटलैब के बीच इंटरऑप करना संभव है। मैं सोच रहा हूं कि किसी के साथ सफलता मिली है और उन्होंने ऐसा करने के लिए क्या किया है। यदि संभव हो तो COM के उपयोग के बिना इसे खींच कर। आपके समय के लिए धन्यवाद।मैटलैब और सी #

उत्तर

10

हां, काफी संभव है। हालांकि मैं सी इंटरफ़ेस का उपयोग करके समाप्त हुआ और उसमें एक मिश्रित-मोड डीएलएल का उपयोग करके कॉल कर रहा था (और उसमें कॉल करने के लिए सी # प्राप्त कर रहा था ... लेकिन ऐसा इसलिए था क्योंकि मैं कुछ अन्य सी कोड के साथ इंटरफेसिंग भी कर रहा था)। यह काफी सरल है। उन कंप्यूटरों पर जहां आप अपना प्रोग्राम चलाने के लिए चाहते हैं, आपको Matlab Runtime MCRInstaller.exe इंस्टॉल करना होगा।

संपादित करें: हटाया टूटा हुआ लिंक

0

आप पैसा खर्च करने को तैयार हैं इस हो सकता है कि तुम क्या जरूरत है:

http://www.mathworks.com/products/netbuilder/

यह है कि यह कहा जा करने की अनुमति मैटलैब कोड के लिए रैपर उत्पन्न कर सकते हैं .NET और COM दोनों से।

+0

व्यवहार्य दिखता है लेकिन मैं एक कठोर कट्टर छात्र हूं। – smaclell

+1

लेकिन सावधान रहें। उसके नमक के लायक कोई रैपर इस तरह से नहीं कहा जाता है या जब वह एक गीत के बीच में होता है। –

20

MATLAB के R2009a रिहाई की शुरुआत के साथ नेट वस्तुओं MATLAB से पहुँचा जा सकता:

http://www.mathworks.com/help/techdoc/matlab_external/brpb5k6.html

MATLAB के पुराने संस्करणों में, यह सीसीडब्ल्यू का उपयोग कर MATLAB से नेट वस्तुओं का उपयोग करना संभव है:

http://www.mathworks.com/support/solutions/data/1-5U8HND.html?solution=1-5U8HND

और नेट से MATLAB इंजन:

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/matlab_external/f135590.html#f135616

आप एमएटी कोड को .NET असेंबली में लपेटने के लिए MATLAB बिल्डर एनई का भी उपयोग कर सकते हैं।

http://www.mathworks.com/products/netbuilder/

+0

सभी विकल्पों में से, यह आखिरी चीज है जो मैंने कोशिश की, और मैं क्या कर रहा था। गणित परिप्रेक्ष्य से, यह सबसे समर्थित और दस्तावेज परिदृश्य है। ध्यान रखें कि Matlab के 32-बिट या 64-बिट संस्करण क्रमशः 32-बिट या 64-बिट इन-प्रोसेस COM सर्वर होस्ट कर सकते हैं। –

+3

पहला लिंक टूटा हुआ है। –

3

हाँ, मैं ऐसा करने में कामयाब रहे और ज्यादातर दर्द रहित था।

आपको अपने MATLAB कोड को .NET (जैसा कि व्यापक उत्तरों में बताया गया है) के लिए संकलित करना होगा, एमसीआर इंस्टॉलर, संदर्भ MWArray.dll और आपके .NET प्रोजेक्ट में अनुपालन कोड डीएल चलाएं और आप जाएं।

केवल झुंझलाहट कास्टिंग (और कभी कभी कई कास्टिंग!) था कि तुम पर इंटरफ़ेस बलों (डाली ऑपरेटरों में स्पष्ट का प्रयोग करके)

0

R2009a रिलीज आप MATLAB से .net विधानसभाओं फोन सकते हैं।

0

मुझे यकीन है कि यह कितना आप पर लागू होता नहीं कर रहा हूँ लेकिन, यह सी या फोरट्रान में एक प्रोग्राम लिखने के लिए वास्तव में आसान है matlab निष्पादनयोग्य या MEX मूल रूप से ध्यान देने का प्रयास, कुछ पुस्तकालयों और कार्यों में शामिल हैं, और फिर आप आप उपयोग कर सकते हैं सी या matlab

में FORTRAN समारोह
1

मैटलैब के लिए एक स्वतंत्र और खुला स्रोत नेट आवरण नहीं है, और यह बहुत सरल है: http://www.codeproject.com/KB/dotnet/matlabeng.aspx

मैं इस का उपयोग करें।