Բովանդակություն:
- Քայլ 1: Կոդ
- Քայլ 2. Սա օրենսգիրքն է, մի՛ պատճենեք և համտեսեք
- Քայլ 3. Եթե որևէ պատճառով այն չի կազմվում
Video: Matlab MEX ֆայլ պատրաստելը ՝ 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:52
Հրահանգներ, թե ինչպես ինտեգրվել կազմված C կոդը Matlab- ի հետ: MEX- ը նշանակում է MATLAB կատարելի: 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- ին վերադարձնում է երկու արգումենտ, երկու տարրի համարի զանգված և տող, վերադարձված թվերի զանգվածի առաջին տարրը 1 է + համարը, որին դուք ուղարկել եք, վերադարձված թվերի զանգվածի երկրորդ տարրը 2 + է: Ձեր ուղարկած համարը ………. Այսպես այն իրականացնել..cpp ֆայլ: Ես չեմ կարող գրել այս հրահանգները այստեղ, քանի որ հրահանգները ինքնաբերաբար խմբագրում են հրամանները և դրանք սխալ են դարձնում: Ստորև բերված նկարում կարող եք տեսնել, թե ինչպես է աշխատում կոդը: Մի անհանգստացեք «հրամանի տողի նախազգուշացման» մասին, այն կարծես ոչինչ չի ազդում: Iceանուցում ձախ կողմում, ընթացիկ գրացուցակը պարունակում է.cpp ֆայլը: Աջ կողմում կարող եք տեսնել, թե ինչպես եմ կազմում կոդը և այնուհետև կատարում այն matlab- ից: Կարդացեք ձեր տեքստային խմբագրիչի ֆայլը (օրինակ ՝ Windows- ի տետրը), այն շատ լավ փաստաթղթավորված է և ինքնաբերաբար բացատրող, դուք կկարողանաք անել գրեթե այն ամենը, ինչ ձեզ հարկավոր է ՝ հետևելով ծածկագրի պայմաններին (այսինքն ՝ պատճենել և տեղադրել այն և կատարել աննշան փոփոխություններ) ############################################### #… հաջորդ էջը ՉԻ ԱՇԽԱՏԵԼ, ՊԵՏՔ Է ԲԵՌՆԵԼ ՖԱՅԼԸ, որը կցել եմ ՝ սա պատճենելու և տեղադրելու փոխարեն: ##################################################### #######################
Քայլ 2. Սա օրենսգիրքն է, մի՛ պատճենեք և համտեսեք
##################################################### #… ԱՇԽԱՏԱՆՔ, ՊԵՏՔ Է ԲԵՌՆԵԼ ՖԱՅԼԸ, որը կցել եմ ՝ սա պատճենելու և տեղադրելու փոխարեն: #################################### ######################################## // Սա գրված է c ++ - ով 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 slots, plhs [somenumber] */}
Քայլ 3. Եթե որևէ պատճառով այն չի կազմվում
Եթե ինչ -ինչ պատճառներով այն չի հավաքում (այն պետք է, լավ աշխատում է իմ համակարգչի վրա), տեսեք այս ռեսուրսները, դրանք այնտեղ են, որտեղից ես սովորել եմ: Նրանք ունեն փոքր թերություններ (օգտագործել հին, ոչ ֆունկցիոնալ քերականություն և այլն), բայց եթե երկուսի միջև այս ու այն կողմ եք գնում, ապա պետք է կարողանաք միասին ինչ -որ բան աշխատել: https://web.ccr.jussieu.fr/ccr/ Փաստաթղթեր/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Խորհուրդ ենք տալիս:
Arduino որպես ISP -- Այրեք վեցանկյուն ֆայլ AVR- ում -- Ապահովիչ AVR -- Arduino- ն որպես ծրագրավորող. 10 քայլ
Arduino- ն որպես ISP || Այրեք վեցանկյուն ֆայլ AVR- ում || Ապահովիչ AVR || Arduino- ն որպես ծրագրավորող. ………………….. ամեն ինչ arduino- ի մասին է, ինչպես isp: Եթե ցանկանում եք վերբեռնել վեցանկյուն ֆայլ կամ եթե ցանկանում եք տեղադրել ձեր ապահովիչը AVR- ում, ապա կարիք չկա ծրագրավորող գնել, կարող եք անել
Ինչպես կատարել exe ֆայլ ՝ 3 քայլ
Ինչպես պատրաստել exe ֆայլ. Բարև, ես ձեզ կսովորեցնեմ, թե ինչպես կատարել գործարկվող ֆայլ: (հայտնի է նաև որպես.exe ֆայլեր) Սա ընդհանրապես կոդավորում չի պահանջում: Պարզապես կեղծեք տեղադրիչը: Հղումները կտրամադրվեն այստեղ
Խմբաքանակի ֆայլ. Շարժման վերահսկում `3 քայլ
Փաթեթային ֆայլ. Շարժման վերահսկում. Երբ ես փնտրեցի, թե ինչպես ստեղծել շարժման վերահսկողություն CMD- ում, ճշգրիտ արդյունքներ չգտա, ուստի որոշեցի կատարել իմ սեփական վերահսկողությունը, որն աշխատում է շարժման WASD և շրջադարձի 1234 ստեղներով:
Bluetooth ադապտեր պատրաստելը Pt.2 (Համատեղելի խոսնակ պատրաստելը). 16 քայլ
Bluetooth ադապտեր պատրաստելը Pt.2 (Համատեղելի խոսնակ պատրաստելը). Այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես օգտագործել իմ Bluetooth ադապտերը ՝ հին բարձրախոսը Bluetooth- ի հետ համատեղելի դարձնելու համար:*Եթե դուք չեք կարդացել իմ առաջին հրահանգը " մի Bluetooth ադապտեր " Ես առաջարկում եմ դա անել նախքան շարունակելը: C
Անվճար փոխակերպեք (պարզապես մոտավորապես) ցանկացած մեդիա ֆայլ (պարզապես մասին) ցանկացած այլ մեդիա ֆայլ: 4 քայլ
Vertանկացած մեդիա ֆայլ անվճար փոխակերպեք (պարզապես մասին) Otherանկացած այլ մեդիա ֆայլ: ավելի ունիվերսալ է, օրինակ