فهرست مطالب:
تصویری: ساخت فایل MEX متلب: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:58
دستورالعمل نحوه ادغام کد C کامپایل شده با Matlab. MEX مخفف MATLAB Executable است. فایل های MEX زیر برنامه های پیوندی پویا هستند که از کد منبع C یا Fortran تولید شده اند و هنگامی که کامپایل می شوند ، می توانند از داخل MATLAB به همان شیوه فایل های MATLAB M یا عملکردهای داخلی اجرا شوند. توابع رابط خارجی قابلیت انتقال داده ها بین فایل های MEX و MATLAB و قابلیت فراخوانی توابع MATLAB از کد C یا Fortran را ارائه می دهند. در اینجا همه چیز را که برای ساخت سریع یک فایل مفید mex نیاز دارید به شما نشان خواهم داد. نیاز: = ویرایشگر متن = matlab 6.1 یا بالاتر (نسخه های قبلی می توانند فایل های mex را نیز انجام دهند اما فرمت آنها کمی متفاوت است) =
مرحله 1: کد
فایل پیوست شده را بارگیری کنید: mextest1p0.cpp
cpp مخفف c ++ است ……… کد این کار را می کند: ……… یک شماره لازم است که آن را از خط فرمان matlab ارسال کنید. "hello world" را در matlab چاپ می کند ، دو آرگومان به matlab برمی گرداند ، یک آرایه شماره دو عنصر و یک رشته اولین عنصر آرایه شماره بازگشتی 1 است + شماره ای که برای آن ارسال کرده اید ، دومین عنصر آرایه شماره بازگشتی 2+ است. شماره ای که برای آن ارسال کرده اید ………. نحوه پیاده سازی آن به این صورت است: ………… فایل را در رایانه خود ذخیره کنید start matlab در matlab به دایرکتوری که فایل در آن قرار دارد بروید سپس دستورالعمل های گردآوری و اجرا را در بالای فایل دنبال کنید. فایل cpp. من نمی توانم این دستورالعمل ها را در اینجا بنویسم زیرا دستورالعمل ها دستورات را به صورت خودکار ویرایش می کنند و باعث می شوند که آنها اشتباه ظاهر شوند. در تصویر زیر می توانید عملکرد کد را مشاهده کنید. نگران "هشدار خط فرمان" نباشید ، به نظر می رسد هیچ تاثیری ندارد. توجه داشته باشید در سمت چپ ، فهرست فعلی حاوی فایل.cpp است. در سمت راست می توانید من را در حال جمع آوری کد و سپس اجرای آن از matlab مشاهده کنید. فایل را در ویرایشگر متن خود بخوانید (به عنوان مثال دفترچه یادداشت در ویندوز) ، بسیار مستند است و خود را توضیح می دهد ، شما می توانید تقریباً هر چیزی را که نیاز دارید با رعایت قواعد موجود در کد (یعنی کپی و چسباندن و ساخت آن) انجام دهید. تغییرات جزئی) ############################################### ######################## ……. صفحه بعد کار نمی کند ، شما باید فایل مورد نظر را به جای کپی و چسباندن آن بارگیری کنید. ################################################## #######################
مرحله 2: این کد است ، کپی و چسباندن نکنید
################################################## #… کار کنید ، باید فایل را که ضمیمه کرده ام به جای کپی و چسباندن آن بارگیری کنید. #################################### ####################################### // این به زبان c ++ توسط leevonk نوشته شده است // این کد برای یک فایل melab mex است // کد یک مقدار عدد را دریافت می کند و دو مقدار عدد را خروجی می دهد // دو عدد خروجی از شماره ورودی محاسبه می شود // کد همچنین یک مقدار رشته خروجی می دهد // کد همچنین چاپ "سلام جهان"#شامل "mex.h" void mexFunction (int nlhs، mxArray *plhs ، int nrhs ، mxArray *prhs ) {// ############# ############################## // #######-چاپ "سلام جهان"-### ######## // // ####################################### ### mexPrintf ("سلام جهان") ؛ // ##################################### ##### // #######-دریافت مطالب از Matlab-######### // ################ ##########################/ * یک متغیر آرایه برای نگه داشتن ورودی های ورودی*/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 قرار دهید ، plhs [somenumber] */}
مرحله 3: اگر به هر دلیلی کامپایل نمی شود
اگر به هر دلیلی آن را کامپایل نمی کند (باید در رایانه من خوب کار کند) این منابع را ببینید ، همان جایی است که من از آن یاد گرفته ام. آنها اشکالات کمی دارند (از دستور زبان قدیمی و غیر کاربردی و غیره استفاده کنید) اما اگر بین این دو رفت و آمد کنید ، باید بتوانید چیزی را که با هم کار می کنند ، کنار هم قرار دهید. https://web.ccr.jussieu.fr/ccr/ اسناد/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
توصیه شده:
ساخت دوربین Pi Zero Dashcam (pt. 3): مدیریت فایل و پیشرفتها: 3 مرحله
ساخت دوربین Pi Zero Dashcam (pt. 3): مدیریت فایل و پیشرفتها: ما به پروژه Dashcam Pi Zero ادامه می دهیم و در این پست ، ما مدیریت فایل را انجام می دهیم و در عین حال برخی پیشرفتها را در این فرآیند اضافه می کنیم. این پروژه تقریباً به پایان رسیده است و ما در پست/ویدیوی هفته آینده آزمایش های جاده ای را انجام می دهیم
پیشرفت برنامه نویسی قطارها در متلب: 6 مرحله
پیشرفت برنامه نویسی قطارها در MATLAB: هدف: هدف از این سیستم برنامه ریزی شده این است که در مقیاس کوچک آردوینو را بررسی کرده و از کدگذاری در مقیاس بزرگتر استفاده کند تا به طور بالقوه برخی از ویژگی های ایمنی سیستم های راه آهن Amtrak را افزایش دهد. برای انجام این کار ، سنسور رطوبت خاک را اضافه کرده ایم
ساخت فایل های GIF متحرک: 5 مرحله
ایجاد فایل های GIF متحرک: این راهنما به شما کمک می کند تا تصاویر متحرکی به نام gif's متحرک ایجاد کنید. اینها فیلم نیستند ، بلکه تصاویری هستند که با هم ترکیب شده اند و به صورت نمایش اسلاید نمایش داده می شوند تا ظاهر یک فیلم به تصویر داده شود
تبدیل (فقط درباره) هر فایل رسانه ای به (فقط درباره) هر فایل رسانه دیگر به صورت رایگان !: 4 مرحله
تبدیل (فقط درباره) هر فایل رسانه ای به (فقط درباره) هر فایل رسانه دیگر به صورت رایگان !: اولین دستورالعمل من ، سلام! به هر حال ، من در Google به دنبال یک برنامه رایگان بودم که فایل های Youtube.flv من را به فرمت تبدیل کند جهانی تر است ، مانند. wmv یا.mov. من انجمن ها و وب سایت های بی شماری را جستجو کردم و سپس برنامه ای به نام
نحوه ساخت فایل دسته ای ماتریس: 3 مرحله
چگونه می توان یک فایل دسته ای ماتریسی ایجاد کرد: این فایل دسته ای اعداد سبز رنگی تصادفی را به تصویر می کشد که شبیه پس زمینه "ماتریکس" است ، واقعاً هیچ نکته ای به آن اضافه نمی شود ، مگر اینکه ظاهری زیبا داشته باشید