Talaan ng mga Nilalaman:
- Hakbang 1: Ang Code
- Hakbang 2: Ito ang Code, HUWAG MAG-COPY AT PASTE
- Hakbang 3: Kung para sa Anumang Dahilan Hindi Ito Nag-iipon
Video: Paggawa ng isang Matlab MEX File: 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Mga tagubilin sa kung paano isama ang pinagsamang C code sa Matlab. Ang MEX ay nangangahulugang maisasakatuparan ang MATLAB. Ang mga MEX-file ay pabago-bagong naka-link na subroutine na ginawa mula sa C o Fortran source code na, kapag naipon, ay maaaring patakbuhin mula sa loob ng MATLAB sa parehong paraan tulad ng MATLAB M-files o built-in na mga pag-andar. Ang mga panlabas na pag-andar ng interface ay nagbibigay ng pag-andar upang ilipat ang data sa pagitan ng mga MEX-file at MATLAB, at ang kakayahang tawagan ang mga pagpapaandar ng MATLAB mula sa C o Fortran code. Dito ipapakita ko sa iyo ang lahat ng kailangan mo upang mabilis na makagawa ng isang kapaki-pakinabang na mex file. kailangan: = isang text editor = matlab 6.1 o mas mataas (ang mga naunang bersyon ay maaaring gawin ang mga mex file ngunit may kakaibang format) = ang matlab ay may sariling c compiler na kasama nito, ngunit ginamit ko ang visual c ++ compiler sanhi ng pagkakaroon ko nito.
Hakbang 1: Ang Code
i-download ang file na na-attach ko: mextest1p0.cpp
Ang cpp ay nangangahulugang c ++ ……… Ito ang ginagawa ng code: ……… tumatagal ng isang numero na ipadala mo ito mula sa matlab command prompt. Ito ay naglilimbag ng "hello world" sa matlab nagbabalik ito ng dalawang mga argumento sa matlab, isang dalawang elemento ng numero ng array at isang string ang unang elemento ng ibinalik na numero na array ay 1 + ang numero na ipinadala mo sa iyo ang pangalawang elemento ng naibalik na numero ng array ay 2 + ang numero na ipinadala mo rito …….cpp file Hindi ko maisulat ang mga tagubiling ito dito dahil ang mga instruktable ay awtomatikong nag-e-edit ng mga utos at ginagawang mali ito. Sa larawan sa ibaba makikita mo ang code na gumagana. Huwag mag-alala tungkol sa "babala ng linya ng utos", tila wala itong epekto. Pansinin sa kaliwang bahagi, naglalaman ang kasalukuyang direktoryo ng.cpp file. Sa kanan makikita mo ako sa pag-iipon ng code at pagkatapos ay ipatupad ito mula sa matlab. Basahin ang file sa iyong text editor (halimbawa ng notepad sa windows), napakahusay na dokumentado at nagpapaliwanag sa sarili, magagawa mo ang halos anumang kailangan mo sa pamamagitan ng pagsunod sa mga kombensiyon sa code (ibig sabihin, ang pagkopya at pag-paste nito at paggawa ng bahagyang mga pagbabago) #### ###Oooooooooooooooo sa susunod na pahina AY HINDI gagana, KAILANGAN mong i-download ang file na na-attach ko sa halip na kopyahin at i-paste ito. ###Oooooooooooooooo ####
Hakbang 2: Ito ang Code, HUWAG MAG-COPY AT PASTE
###Oooooooooooooooo ###Oooooooooooooooooooooooo TRABAHO, kailangan mong i-download ang file na na-attach ko sa halip na kopyahin at i-paste ito. ###Oooooooooooooooo ito ay code para sa isang matlab mex file // ang code ay kukuha ng isang halaga ng numero at maglalabas ng dalawang halaga ng numero // ang dalawang mga numero ng output ay kinakalkula mula sa input number // ang code ay maglalabas din ng isang halaga ng string // ang code ay i-print din ang "hello world" # isama ang "mex.h" void mexFunction (int nlhs, mxArray * plhs , int nrhs, mxArray * prhs ) {// #### # # ### mexPrintf ("Kamusta mundo"); // ###################################### ### ### // #### #### * ideklara ang isang variable ng array upang hawakan ang mga papasok na vales * / doble * InValues; / * kunin ang mga halagang ipinadala mula sa matlab * / InValues = mxGetPr (prhs [0]); / * upang magamit ang mga halagang ito na ipinadala mula sa matlab, gawin ang mga InValues [0], InValue [1], atbp. Ayon sa kung gaano karaming mga halaga ang mayroong. Gagamitin ang Mga InValues sa ibaba * /// ################ ## // #### #### - Bumalik ng isang hanay ng numero - ######### // ######### ########### #### * Lumikha / maglaan ng argumento sa pagbalik, isang 1x2 (1 hilera 2 haligi) Matrix para sa unang puwang ng return array (plhs [0]) * / plhs [0] = mxCreateDoubleMatrix (1, 2, mxREAL); / * Kumuha ng pointer sa muling pagtatalo * / OutValues = mxGetPr (plhs [0]); / * magtalaga ng mga halaga sa OutValues na maninirahan sa unang slot ng return array, narito ginagamit namin ang mga InValues upang computer ang OutValues * / OutValues [0] = InValues [0] + 1; OutValues [1] = InValues [0] + 2; // #### ###Oooooooooooooooo ###oooooooo string * / str = "byebye"; / * ilagay ang string sa mga pabalik na arrays pangalawang puwang (plhs [1]) * / plhs [1] = mxCreateString (str); // #### ###oooooooooooooooo Mas maraming bagay--############//################################ ####
Hakbang 3: Kung para sa Anumang Dahilan Hindi Ito Nag-iipon
Kung para sa anumang kadahilanan na hindi ito nag-iipon (dapat, gumagana nang maayos sa aking computer) tingnan ang mga mapagkukunang ito, kung saan ako natutunan. Mayroon silang maliit na mga glitches (ang paggamit ng ilang luma, hindi ginagamit na gramatika, atbp) ngunit kung pabalik-balik ka sa pagitan ng dalawa dapat kang magkasama sa isang bagay na gumagana. Https://web.ccr.jussieu.fr/ccr/ Dokumentasyon / Calcul / matlab5v11 / docs / 00009 / 009a1.htmhttps://cnx.org/content/m12348/latest/
Inirerekumendang:
Paggawa ng isang Pi Zero Dashcam (pt. 3): Pamamahala at Pagpapahusay ng File: 3 Mga Hakbang
Paggawa ng Pi Zero Dashcam (pt. 3): Pamamahala at Mga Pagpapahusay ng File: Nagpapatuloy kami sa proyekto ng Pi Zero dashcam at sa post na ito, inaalagaan namin ang pamamahala ng file habang nagdaragdag din ng ilang mga pagpapahusay sa proseso. Ang proyektong ito ay halos kumpleto at magsasagawa kami ng mga pagsubok sa kalsada sa post / video sa susunod na linggo
Paggawa ng Mga Kanta Sa Isang Arduino at isang DC Motor: 6 Mga Hakbang
Paggawa ng Mga Kanta Gamit ang isang Arduino at isang DC Motor: Nitong nakaraang araw, habang nag-scroll sa ilang mga artikulo tungkol sa Arduino, nakita ko ang isang kagiliw-giliw na proyekto na gumagamit ng mga motor na stepper na kinokontrol ng Arduino upang lumikha ng mga maikling himig. Gumamit ang Arduino ng isang PWM (Pulse Width Modulation) na pin upang patakbuhin ang stepper motor
Paggawa ng isang Bluetooth Adapter Pt.2 (Paggawa ng isang Katugmang Tagapagsalita): 16 Mga Hakbang
Paggawa ng isang Bluetooth Adapter Pt.2 (Paggawa ng isang Katugmang Tagapagsalita): Sa itinuturo na ito, ipapakita ko sa iyo kung paano gamitin ang aking Bluetooth Adapter upang gawing katugma ang isang lumang speaker na Bluetooth. * Kung hindi mo nabasa ang aking unang itinuro sa " Making isang Bluetooth Adapter " Iminumungkahi kong gawin mo ito bago magpatuloy.C
Panimula sa VB Script: isang Gabay sa Mga Nagsisimula: Bahagi 2: Paggawa Sa Mga File: 13 Mga Hakbang
Panimula sa VB Script: isang Gabay sa Mga Nagsisimula: Bahagi 2: Paggawa Sa Mga File: Sa huling itinuro ko sa VBScript, nagpunta ako sa kung paano gumawa ng isang script upang patayin ang iyong internet upang i-play ang Xbox360. Ngayon may iba akong problema. Ang aking computer ay na-shut down nang random na oras at nais kong mag-log sa bawat oras na ang computer
Paano Ayusin ang Hindi Sinusuportahang Mga File ng Data, at I-download ang Iyong Paboritong Mga Video File para sa Iyong PSP Portable: 7 Mga Hakbang
Paano Ayusin ang Hindi Sinusuportahang Mga File ng Data, at I-download ang Iyong Paboritong Mga Video File para sa Iyong PSP Portable: Gumamit ako ng Media Go, at gumawa ng ilan sa mga trick upang makakuha ng isang hindi sinusuportahang mga file ng video upang gumana sa aking PSP. Ito ang lahat ng aking mga hakbang na ginawa ko , nang una kong makuha ang aking hindi sinusuportahang mga file ng video upang gumana sa aking PSP. Gumagana ito ng 100% kasama ang lahat ng aking mga file ng video papunta sa aking PSP Po