سؤال

وبعد الطفولية حول الإنترنت يبدو أنه من الممكن أن إمكانية التشغيل المتداخل بين C # و ماتلاب. وأنا أتساءل إذا كان أي شخص حقق نجاحا مع ذلك وماذا فعلوا للقيام بذلك. إذا كان ذلك ممكنا سحب بطريقة أو بأخرى من دون استخدام COM. شكرا على وقتك.

هل كانت مفيدة؟

المحلول

نعم، ممكن جدا. على الرغم من أنني انتهى بي الأمر باستخدام واجهة C ويدعو إلى أن استخدام DLL وضع مختلط (والحصول على C # لتدعو إلى ذلك ... لكن ذلك كان لأنني كنت تفاعل أيضا مع بعض التعليمات البرمجية C الآخرين). انها واضحة جدا. على أجهزة الكمبيوتر حيث تريد تشغيل البرنامج، سوف تحتاج إلى تثبيت مطلب وقت التشغيل MCRInstaller.exe.

وتحرير: إزالة رابط معطل

نصائح أخرى

وبدءا من إطلاق R2009a من MATLAB، والأشياء. NET يمكن الوصول إليها من MATLAB:

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

في الإصدارات القديمة من MATLAB، فمن الممكن للوصول إلى كائنات .NET من MATLAB باستخدام CCW:

HTTP: //www.mathworks. كوم / دعم / حلول / البيانات / 1-5U8HND.html؟ الحل = 1-5U8HND

ووالمحرك MATLAB من .NET:

<وأ href = "http://www.mathworks.com/access/helpdesk/help/techdoc/index.html؟/access/helpdesk/help/techdoc/matlab_external/f135590.html#f135616" يختلط = " noreferrer "> http://www.mathworks.com/access/helpdesk/help/techdoc/index.html؟/access/helpdesk/help/techdoc/matlab_external/f135590.html#f135616

ويمكنك أيضا استخدام MATLAB بناء NE التفاف م رمز في التجميعات .NET.

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

نعم، تمكنت من القيام بذلك، وكان معظمهم من غير مؤلم.

وأنت قد لترجمة التعليمات البرمجية MATLAB الخاص ل. NET (كما هو موضح في إجابات الأسبق)، تشغيل MCR المثبت، إشارة MWArray.dll ودلل كود امتثلت في المشروع. NET الخاص بك وقبالة تذهب.

وكان الانزعاج الوحيد الذي صب (المسبوكات وأحيانا متعددة!) أن قوات اجهة عليك (باستخدام صريح في شركات الزهر)

وهناك مصدر المجمع. NET حرة ومفتوحة لمطلب، وأنها بسيطة جدا: http://www.codeproject.com/KB/dotnet/matlabeng.aspx

وأنا استخدم هذا.

في لR2009a ما قبل النشر يمكنك الاتصال صافي التجميعات من MATLAB.

وأنا لست متأكدا من مدى ينطبق هذا لكم ولكن حاول تبحث في الملفات التنفيذية ماتلاب أو <وأ href = "http://www.mathworks.com/support/tech-notes/1600/1605.html" يختلط = "نوفولو noreferrer"> MEX في الأساس، فإنه من السهل حقا لكتابة البرنامج في C أو FORTRAN، وتشمل بعض المكتبات وظائف، وبعد ذلك يمكنك استخدام لكم C أو وظيفة FORTRAN في MATLAB

إذا كنت على استعداد لانفاق المال وهذا قد يكون ما تحتاجه:

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

ويمكن أن تولد مغلفة لرمز ماتلاب التي تسمح لها ليتم استدعاؤها من كلا NET و COM.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top