Агуулгын хүснэгт:
- Алхам 1: Код
- Алхам 2: Энэ бол код, ХУУЛАХ, БҮТЭЭХГҮЙ
- Алхам 3: Хэрэв ямар ч шалтгаанаар эмхэтгэхгүй бол
Видео: Matlab MEX файл хийх: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Matlab -т эмхэтгэсэн C кодыг хэрхэн нэгтгэх тухай заавар. MEX гэдэг нь MATLAB Executable гэсэн үг юм. MEX файлууд нь C эсвэл Fortran эх кодоос бүтээгдсэн динамик холболттой дэд програмууд бөгөөд тэдгээрийг эмхэтгэхэд MATLAB дотроос MATLAB M файлууд эсвэл суулгагдсан функцүүдийн нэгэн адил ажиллуулж болно. Гадаад интерфейсийн функцууд нь MEX-файлууд болон MATLAB-ийн хооронд өгөгдөл дамжуулах, C эсвэл Fortran кодоос MATLAB функцуудыг дуудах боломжийг олгодог. Энд би танд хэрэгтэй mex файлыг хурдан гаргахад хэрэгтэй бүх зүйлийг үзүүлэх болно. хэрэгтэй: = текст засварлагч = matlab 6.1 ба түүнээс дээш (өмнөх хувилбарууд нь mex файлуудыг бас хийх боломжтой боловч арай өөр форматтай) = matlab нь өөрийн дагалдах c хөрвүүлэгчтэй боловч би үүнийг харсан c ++ хөрвүүлэгчийг ашигласан.
Алхам 1: Код
хавсаргасан файлыг татаж авах: mextest1p0.cpp
cpp гэдэг нь c ++ гэсэн утгыг илэрхийлдэг. ……… Код нь үүнийг хийдэг: ……… үүнийг matlab командын мөрөөс илгээсэн дугаар шаардлагатай болно. Энэ нь "Сайн байна уу ертөнц" -ийг matlab дээр хэвлэдэг бөгөөд энэ нь matlab руу хоёр аргумент, хоёр элементийн дугаарын массив, мөрийг буцаана. Таны илгээсэн дугаар ………. Үүнийг хэрхэн хэрэгжүүлэх вэ: ………… файлыг компьютер дээрээ хадгална уу matlab эхлүүлээрэй matlab дотор файл байгаа директор руу очоод файлын дээд хэсэгт байгаа хөрвүүлэлт, гүйцэтгэх зааврыг дагана уу..cpp файл. Би зааварчилгааг өгч болох тул тушаалуудыг автоматаар засварлаж, буруу харагдуулдаг тул би эдгээр зааврыг энд бичиж чадахгүй. Доорх зурган дээр код хэрхэн ажиллаж байгааг харж болно. "Тушаалын мөрийн анхааруулга" талаар санаа зовох хэрэггүй, энэ нь ямар ч нөлөө үзүүлэхгүй юм шиг байна. Зүүн талд байгаа мэдэгдэлд одоогийн лавлах нь.cpp файлыг агуулдаг. Баруун талд та намайг кодыг эмхэтгэж, дараа нь matlab дээрээс ажиллуулж байгааг харж болно. Текст засварлагчийн файлыг уншина уу (жишээ нь цонхны дэвтэр гэх мэт), энэ нь маш сайн баримтжуулагдсан бөгөөд өөрөө тайлбартай тул та кодын дүрмийг дагаж мөрдөх замаар өөрт хэрэгтэй бүх зүйлийг хийх боломжтой болно (өөрөөр хэлбэл хуулж буулгах, хийх) бага зэргийн өөрчлөлт) ###################################################### ########################### …….. ТАЙЛБАР …….. зааварчилгаа өгдөг автомат залруулгаас болж код дээр харагдаж байна. Дараагийн хуудас ажиллахгүй, та үүнийг хуулж буулгахын оронд миний хавсаргасан файлаа татаж авах хэрэгтэй. ###################################################### #########################
Алхам 2: Энэ бол код, ХУУЛАХ, БҮТЭЭХГҮЙ
###################################################### ####################### …….. ТАЙЛБАР …….. зааварчилгаа өгдөг зарим залхмаар автомат засварын улмаас энэ хуудсан дээр үзүүлсэн код БИШ АЖЛААРАЙ, та үүнийг хуулж, буулгахын оронд миний хавсаргасан файлаа татаж авах хэрэгтэй. ################################## ############################################### Үүнийг c ++ хэл дээр leevonk бичсэн // Энэ нь matlab mex файлын код юм // код нь нэг тооны утгыг авч, хоёр тооны утгыг гаргана // хоёр гаралтын тоог оролтын дугаараас тооцоолно // код нь мөн мөрийн утгыг гаргана // код нь мөн "Сайн уу ертөнц" гэж хэвлээрэй#mex.h "void mexFunction (int nlhs, mxArray *plhs , int nrhs, mxArray *prhs ) {// ############## #########################################-"Сайн уу ертөнц" хэвлэх-### ########## // ########################################## ### mexPrintf ("Сайн уу ертөнц"); // ######################################## ##### // #########-Matlab-аас юм авах-########################### ############################# * ирж буй утгыг хадгалахын тулд массивын хувьсагчийг зарлах*/double* InValues;/* matlab -аас илгээсэн утгыг авах*/InValues = mxGetPr (prhs [0]); [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; // ################################################ ############-String буцаах-################################## ############################** string хувьсагчийг matlab*/char* str руу илгээхийг зарлах;/* string */str = "byebye";/ *мөрийг буцах массивуудад оруулах хоёр дахь үүр (plhs [1]) */plhs [1] = mxCreateString (str); // ########## ##################################################-буцах илүү их зүйл-################################################ ############ * * Илүү их зүйлийг буцааж өгөхийн тулд дээрх ерөнхий дүрмийг дагаж мөрдөх боловч бусад plhs үүр, plhs [somenumber] */} руу оруулна уу.
Алхам 3: Хэрэв ямар ч шалтгаанаар эмхэтгэхгүй бол
Хэрэв ямар ч шалтгаанаар энэ нь эмхэтгэгдээгүй бол (энэ нь миний компьютер дээр сайн ажиллах ёстой) эдгээр нөөцийг олж харсан бол тэд миний сурч мэдсэн газар юм. Тэдэнд бага зэрэг доголдол байдаг (зарим хуучин, ажиллахгүй дүрэм гэх мэт), гэхдээ хэрэв та хоёрын хооронд нааш цааш явж байвал та ямар нэгэн зүйлийг хооронд нь холбох боломжтой байх ёстой. Баримт бичиг/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Зөвлөмж болгож буй:
Бидний дунд дагах аюулгүй байдлын хайрцгийг хэрхэн хийх вэ - Цахилгааны утас хийх даалгавар: 7 алхам
Цахилгааны утас хийх даалгавар: Аюулгүй байдлын хайрцгийг хэрхэн яаж хийх вэ
Хэрхэн гагнуур хийх талхны самбар хийх вэ: 7 алхам
Хэрхэн гагнуур хийх вэ? Талхны самбар: Би электроникийг хобби гэж үздэг хүүхэд юм. Өөрийнхөө талхны самбар хийж, сэтгэгдлээ үлдээгээрэй. Олох: oluwadimimu342
Arduino UNO ашиглан дрон хэрхэн хийх вэ - Микроконтроллер ашиглан квадрокоптер хийх: 8 алхам (зурагтай)
Arduino UNO ашиглан дрон хэрхэн хийх вэ | Микроконтроллер ашиглан квадрокоптер хийх: Танилцуулга Миний Youtube сувагт зочлоорой Drone бол худалдан авахад маш үнэтэй хэрэгсэл юм. Энэ нийтлэлд би үүнийг хэрхэн хямд үнээр хийх талаар ярилцах болно. Та яаж ийм үнээр хямд үнээр өөрийн гараар хийх вэ … Энэтхэгт бүх материал (мотор, ESC
MATLAB ашиглан насанд хүрэгчдийн сонсголын тестийг хэрхэн хийх вэ: 6 алхам
MATLAB -ийг ашиглан насанд хүрэгчдийн сонсголын тестийг хэрхэн хийх вэ: ХИЙЦЭТГЭЛ: Манай шинжилгээ нь эмнэлгийн оношлогоо биш бөгөөд үүнийг ашиглах ёсгүй. Сонсголыг нарийвчлалтай хэмжихийн тулд эмнэлгийн мэргэжилтэнтэй холбоо бариарай. Манай бүлэг өмнө нь байсан материалыг ашиглан сонсголын тест хийсэн. Манай тест нь зөвхөн насанд хүрэгчид болон өсвөр насныханд зориулагдсан болно
Gif хүүхэлдэйн файл хийх: 5 алхам
Хөдөлгөөнт Gif файл хийх: Энэхүү гарын авлага нь хөдөлгөөнт gif гэж нэрлэгддэг хөдөлгөөнт зургуудыг үүсгэхэд туслах болно. Эдгээр нь кино биш харин зургуудыг киноны дүр төрхийг өгөхийн тулд слайд хэлбэрээр харуулсан зургууд юм