Мазмұны:
- 1 -қадам: Кодекс
- 2 -қадам: Бұл код, КӨШІРМЕҢІЗ ЖӘНЕ ҚОЙМАҢЫЗ
- 3 -қадам: Егер қандай да бір себеппен ол құрастырылмаса
Бейне: Matlab MEX файлын жасау: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Matlab -пен құрастырылған C кодын біріктіру туралы нұсқаулар. MEX MATLAB Executable дегенді білдіреді. MEX-файлдары C немесе Fortran бастапқы кодынан жасалған динамикалық байланыстырылған қосалқы бағдарламалар болып табылады, олар құрастырылған кезде MATLAB MATLAB M-файлдары немесе кіріктірілген функциялар сияқты жұмыс істей алады. Сыртқы интерфейс функциялары MEX-файлдар мен MATLAB арасында деректерді тасымалдау функциясын және C немесе Fortran кодынан MATLAB функцияларын шақыруға мүмкіндік береді. Мен сізге пайдалы mex файлын тез жасау үшін қажет нәрсені көрсетемін. қажет: = мәтіндік редактор = matlab 6.1 немесе одан жоғары (алдыңғы нұсқалар мекс файлдарын да жасай алады, бірақ форматы сәл өзгеше) = matlab -те өзінің жеке компиляторы бар, бірақ менде визуалды c ++ компиляторы болды.
1 -қадам: Кодекс
Мен қосқан файлды жүктеңіз: mextest1p0.cpp
cpp c ++ дегенді білдіреді ……… Бұл кодты жасайды: ……… ол сізге matlab пәрмен жолынан жіберілетін нөмірді алады. Ол matlab -те «сәлем әлемі» деп басып шығарады, ол екі аргументті matlab -қа қайтарады, екі элементті нөмірлер жиыны мен жолды қайтарылған сандар массивінің бірінші элементі 1 + сіз жіберген нөмір, қайтарылған сан массивінің екінші элементі 2 + Сіз жіберген нөмір ………. Мұны қалай жүзеге асыруға болады: ………… файлды компьютерге сақтау matlab бастау матлабында файл орналасқан каталогқа өтіңіз, содан кейін файлдың жоғарғы жағындағы құрастыру және орындау нұсқауларын орындаңыз..cpp файлы. Мен бұл нұсқауларды мұнда жаза алмаймын, себебі нұсқаулықтар командаларды автоматты түрде өңдейді және оларды қате көрсетеді. Төмендегі суретте сіз жұмыс істейтін кодты көре аласыз. «Пәрмен жолы туралы ескерту» туралы алаңдамаңыз, бұл ештеңеге әсер етпейтін сияқты. Ескерту сол жақта, ағымдағы каталогта.cpp файлы бар. Оң жақта сіз мені кодты құрастырып, содан кейін оны matlab -тен орындап жатқанын көре аласыз. Мәтіндік редактордағы файлды оқыңыз (мысалы, терезеде блокнот), ол өте жақсы құжатталған және өздігінен түсіндіріледі, сіз кодтағы шарттарды орындау арқылы сізге қажет нәрсені жасай аласыз (яғни оны көшіру, қою және жасау) шамалы өзгертулер) ##################################################### ########################## …….. ЕСКЕРТПЕ …….. нұсқаулықтар көрсететін кейбір автоматты тітіркендіргіштердің арқасында кодта көрсетілгендей келесі бет жұмыс істемейді, оны көшіріп, қоюдың орнына мен тіркеген файлды жүктеу керек. ################################################################################################################################# ########################
2 -қадам: Бұл код, КӨШІРМЕҢІЗ ЖӘНЕ ҚОЙМАҢЫЗ
############################################################################################################################### ###################### …….. ЕСКЕРТПЕ…….. нұсқаулықтар жасайтын тітіркендіргіш автоматты жөндеулердің арқасында, осы бетте көрсетілген код ЕМЕС ЖҰМЫС, оны көшіру мен қоюдың орнына мен қосқан файлды жүктеу керек. ################################ ############################################# Бұл с ++ тілінде leevonk арқылы жазылған // бұл matlab mex файлының коды // код бір сан мәнін қабылдайды және екі сан мәнін шығарады // екі шығыс нөмірі кіріс нөмірінен есептеледі // код сонымен қатар жол мәнін шығарады // код сонымен қатар «сәлем әлемін» басып шығарыңыз#«mex.h» void mexFunction қосыңыз (int nlhs, mxArray *plhs , int nrhs, mxArray *prhs ) {// ############## #######################################-«Сәлем әлемі» басып шығару-### ################################################################################################################################################################# ### mexPrintf («Сәлем әлемі»); // ###################################### ##### // #########-Matlab-тен материалдар алу-######### // ################ ############################/ * кіріс мәндерін ұстап тұру үшін массив айнымалысын жариялаңыз*/қос* 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 -қадам: Егер қандай да бір себеппен ол құрастырылмаса
Егер қандай да бір себептермен ол компиляцияланбаса (ол менің компьютерімде жақсы жұмыс істеуі керек) бұл ресурстарды көрсе, олар мен үйрендім. Оларда кішкене ақаулар бар (кейбір ескі, функционалды емес грамматиканы қолданыңыз және т. Құжаттама/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Ұсынылған:
Micro SD картасының файлын басқару: 4 қадам
Micro SD картасының файлын басқару: Бұл нұсқаулықтағы SD картасын басқару әдістері тұрақты деректерді қажет ететін жобаларда қолданылуы мүмкін, олар сіздің жобаңыз өшірілген кезде сақталатын және қайта қосылғанда қол жетімді болады. Сонымен қатар, деректер портативті, бұл
Exe файлын қалай жасауға болады: 3 қадам
Exe файлын қалай жасауға болады: Сәлеметсіз бе, мен сізге орындалатын файлды жасауды үйретемін. (сонымен бірге.exe файлдары деп те аталады) Бұл кодтауды қажет етпейді. Тек орнатушыны жасаңыз. Сілтемелер осында беріледі: InstallForge Сонымен, мен сізге а.exe файлын жасауды үйретемін
Сөйлейтін Ардуино - Arduino -мен ешқандай модульсіз MP3 ойнату - PCM көмегімен Arduino -дан Mp3 файлын ойнату: 6 қадам
Сөйлейтін Ардуино | Arduino -мен ешқандай модульсіз MP3 ойнату | PC файлын қолдану арқылы Arduino -дан Mp3 файлын ойнату: Бұл нұсқаулықта біз mp3 файлды arduino -мен ешқандай аудио модульсіз ойнауды үйренеміз, мұнда біз Arduino үшін 8 кГц жиіліктегі 16 биттік PCM ойнайтын PCM кітапханасын қолданамыз
Arduino IDE -ден .hex файлын қалай құруға болады, Arduino -ді Proteus -те модельдеңіз: 3 қадам
Arduino IDE файлын қалай генерациялау керек, Arduino -ді Proteus -те модельдеу: Бұл нұсқаулар сізге proteus+arduino оқу үдерісіне қандай да бір жолмен көмектеседі деп үміттенемін
Pt.2 Bluetooth адаптерін жасау (үйлесімді динамик жасау): 16 қадам
Bluetooth адаптері Pt.2 (Үйлесімді динамик жасау): Бұл нұсқаулықта мен сізге ескі динамикті Bluetooth үйлесімді ету үшін Bluetooth адаптерін қалай пайдалану керектігін көрсететін боламын.*Егер сіз менің бірінші нұсқаулықты оқымаған болсаңыз Bluetooth адаптері " Жалғастырмас бұрын мұны істеуді ұсынамын