جدول المحتويات:
- الخطوة 1: الكود
- الخطوة الثانية: هذه هي الكود ، لا تنسخ وتلصق
- الخطوة 3: إذا لم يتم التحويل لأي سبب من الأسباب
فيديو: عمل ملف Matlab MEX: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
تعليمات حول كيفية دمج كود C المترجم مع Matlab. MEX تعني MATLAB Executable. ملفات MEX هي إجراءات فرعية مرتبطة ديناميكيًا يتم إنتاجها من شفرة مصدر C أو Fortran والتي ، عند تجميعها ، يمكن تشغيلها من داخل MATLAB بنفس طريقة ملفات MATLAB M أو الوظائف المضمنة. توفر وظائف الواجهة الخارجية وظائف لنقل البيانات بين ملفات MEX و MATLAB ، والقدرة على استدعاء وظائف MATLAB من كود C أو Fortran. هنا سأعرض لك كل ما تحتاجه لإنشاء ملف mex مفيد بسرعة. need: = محرر نصوص = matlab 6.1 أو أعلى (يمكن للإصدارات السابقة عمل ملفات mex أيضًا ولكن بصيغة مختلفة قليلاً) = matlab بها مترجم c خاص بها يأتي معها ، لكنني استخدمت مترجم c ++ المرئي لأنني حصلت عليه.
الخطوة 1: الكود
قم بتنزيل الملف الذي أرفقته: mextest1p0.cpp
cpp تعني c ++ ……… وهذا ما يفعله الكود: ……… يأخذ رقمًا ترسله من موجه أوامر matlab. تقوم بطباعة "hello world" في matlab وتقوم بإرجاع وسيطين إلى matlab ، مصفوفة رقم مكون من عنصرين وسلسلة ، العنصر الأول من مصفوفة الأرقام التي تم إرجاعها هو 1 + الرقم الذي أرسلته هو العنصر الثاني من مصفوفة الأرقام التي تم إرجاعها هو 2 + الرقم الذي أرسلته ………. إليك كيفية تنفيذه: ……….. احفظ الملف على جهاز الكمبيوتر الخاص بك ، ابدأ matlab ، انتقل في matlab إلى الدليل حيث يتم اتباع الملف ثم اتبع تعليمات التجميع والتنفيذ في الجزء العلوي من ملف.cpp. لا يمكنني كتابة هذه التعليمات هنا لأن التعليمات تعدل الأوامر تلقائيًا وتجعلها تظهر بشكل غير صحيح. في الصورة أدناه يمكنك رؤية الكود يعمل. لا تقلق بشأن "تحذير سطر الأوامر" ، لا يبدو أنه يؤثر على أي شيء. لاحظ على الجانب الأيسر ، يحتوي الدليل الحالي على ملف.cpp. على اليمين يمكنك رؤيتي وأنا أقوم بتجميع الكود ثم تنفيذه من matlab. اقرأ الملف في محرر النصوص الخاص بك (على سبيل المثال ، المفكرة في windows) ، فهو موثق جيدًا وموضح ذاتيًا ، وستكون قادرًا على فعل أي شيء تحتاجه تقريبًا باتباع الاصطلاحات الموجودة في الكود (مثل نسخه ولصقه وعمله) تعديلات طفيفة) ############################################### # # # # # الصفحة التالية لن تعمل ، يجب عليك تنزيل الملف الذي أرفقته بدلاً من نسخه ولصقه. ################################################## #######################
الخطوة الثانية: هذه هي الكود ، لا تنسخ وتلصق
################################################## # # # # # العمل ، يجب عليك تنزيل الملف الذي أرفقته بدلاً من نسخه ولصقه. ####################################### // تمت كتابة هذا في c ++ بواسطة leevonk // إنه رمز لملف matlab mex // سيأخذ الكود قيمة رقم واحدة ويخرج قيمتين رقميتين // يتم حساب رقمي الإخراج من رقم الإدخال // سيخرج الرمز أيضًا قيمة سلسلة // الكود سوف اطبع أيضًا "hello world" #include "mex.h" void mexFunction (int nlhs، mxArray * plhs ، int nrhs، mxArray * prhs ) {// ############# ############################## // ####### - طباعة "hello world" - ### ########## // ####################################### ### mexPrintf ("Hello world")؛ // ###################################### ##### // ######## - احصل على أشياء من ماتلاب - ######### // ################ ########################### / * أعلن عن متغير مصفوفة للاحتفاظ بالقيم الواردة * / double * InValues ؛ / * الحصول على القيم المرسلة من matlab * / InValues = mxGetPr (prhs [0]) ؛ / * لاستخدام هذه القيم التي تم إرسالها من matlab ، قم بعمل InValues [0] ، InValue [1] ، وما إلى ذلك وفقًا لعدد القيم الموجودة. سيتم استخدام InValues أدناه * /// ######################################## ## // ######## - إرجاع مصفوفة رقمية - ######### // ################### ####################### / * أعلن عن المصفوفة التي سيتم إرسالها إلى matlab (* يجعلها مصفوفة) * / double * OutValues؛ / * إنشاء / تخصيص وسيطة الإرجاع ، 1x2 (1 صف 2 عمود) مصفوفة للفتحة الأولى لمصفوفة الإرجاع (plhs [0]) * / plhs [0] = mxCreateDoubleMatrix (1، 2، mxREAL)؛ / * الحصول على المؤشر إلى وسيطة الإرجاع * / OutValues = mxGetPr (plhs [0])؛ / * تعيين قيم إلى OutValues التي ستوجد في الفتحة الأولى لمصفوفة الإرجاع ، هنا نستخدم InValues للكمبيوتر OutValues * / OutValues [0] = InValues [0] + 1؛ OutValues [1] = InValues [0] + 2؛ // ############################################# // ############ - إرجاع سلسلة - ############## // ################# ########################## / * أعلن عن متغير السلسلة ليتم إرساله إلى matlab * / char * str ؛ / * تعيين قيمة إلى string * / str = "byebye" ؛ / * ضع السلسلة في الفتحة الثانية لمصفوفات الإرجاع (plhs [1]) * / plhs [1] = mxCreateString (str) ؛ // ########## ##################################//###########--إرجاع المزيد من الاشياء--############//################################ ############ / * لإرجاع المزيد من الأشياء ، اتبع القواعد العامة أعلاه ولكن ضع الأشياء في فتحات أخرى ، plhs [somenumber] * /}
الخطوة 3: إذا لم يتم التحويل لأي سبب من الأسباب
إذا لم يتم تجميعها لأي سبب من الأسباب (يجب أن تعمل بشكل جيد على جهاز الكمبيوتر الخاص بي) ، فراجع هذه الموارد ، فهي حيث تعلمت منها. لديهم القليل من الثغرات (استخدام بعض القواعد القديمة غير الوظيفية ، وما إلى ذلك) ولكن إذا ذهبت ذهابًا وإيابًا بين الاثنين ، فيجب أن تكون قادرًا على تجميع شيء يعمل معًا. https://web.ccr.jussieu.fr/ccr/ الوثائق / Calcul / matlab5v11 / docs / 00009 / 009a1.htmhttps://cnx.org/content/m12348/latest/
موصى به:
كيفية عمل صورة ملف تعريف رائعة لجهاز Chromebook الخاص بك: 9 خطوات
كيف تصنع صورة ملف تعريف رائعة لجهاز Chromebook: مرحبًا بكم جميعًا! هذه هي Gamer Bro Cinema ، واليوم ، سنعلمك كيفية إنشاء صورة ملف تعريف رائعة على YouTube لقناتك على YouTube! لا يمكن عمل هذا النوع من صور الملف الشخصي إلا على جهاز Chromebook. هيا بنا نبدأ
كيفية عمل ملف Exe: 3 خطوات
كيفية عمل ملف Exe: مرحبًا ، سأعلمك كيفية إنشاء ملف قابل للتنفيذ. (المعروفة أيضًا بملفات as.exe) لا يتطلب هذا أي ترميز على الإطلاق. مجرد صياغة المثبت. سيتم توفير الروابط هنا: InstallForge لذا ، بدون مزيد من اللغط ، سأعلمك كيفية إنشاء ملف a.exe
الحديث اردوينو - تشغيل ملف MP3 باستخدام Arduino بدون أي وحدة - تشغيل ملف MP3 من Arduino باستخدام PCM: 6 خطوات
الحديث اردوينو | تشغيل ملف MP3 باستخدام Arduino بدون أي وحدة | تشغيل ملف MP3 من Arduino باستخدام PCM: في هذه التعليمات ، سنتعلم كيفية تشغيل ملف mp3 باستخدام اردوينو دون استخدام أي وحدة صوتية ، وهنا سنستخدم مكتبة PCM لـ Arduino التي تقوم بتشغيل 16 بت PCM بتردد 8 كيلو هرتز ، لذلك دعونا نفعل ذلك
دائرة تسخين الحث DIY مع ملف لولبي مسطح (ملف فطيرة): 3 خطوات
دائرة تسخين الحث DIY مع ملف لولبي مسطح (ملف فطيرة): التسخين التعريفي هو عملية تسخين جسم موصل كهربائيًا (عادة معدنًا) عن طريق الحث الكهرومغناطيسي ، من خلال الحرارة المتولدة في الجسم عن طريق التيارات الدوامة. في هذا الفيديو ، سأوضح لكم كيف تصنعون قوة في
قم بتحويل (حول) أي ملف وسائط إلى (حول) أي ملف وسائط آخر مجانًا !: 4 خطوات
تحويل (فقط حول) أي ملف وسائط إلى (فقط حول) أي ملف وسائط آخر مجانًا!: أول تعليمات لي ، هتاف! على أي حال ، كنت أبحث في Google عن برنامج مجاني من شأنه تحويل ملفات Youtube.flv الخاصة بي إلى تنسيق أكثر عالمية ، مثل wmv أو.mov ، لقد بحثت في عدد لا يحصى من المنتديات والمواقع الإلكترونية ثم عثرت على برنامج يسمى