Kazalo:
- 1. korak: Koda
- 2. korak: To je koda, NE KOPIRAJTE IN LEPITE
- 3. korak: Če se iz kakršnega koli razloga ne sestavi
Video: Ustvarjanje datoteke Matlab MEX: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
Navodila za integracijo prevedene kode C v Matlab. MEX pomeni MATLAB Executable. Datoteke MEX so dinamično povezane podprograme, proizvedene iz izvorne kode C ali Fortran, ki jih je po prevajanju mogoče zagnati znotraj MATLAB na enak način kot datoteke MATLAB M ali vgrajene funkcije. Funkcije zunanjega vmesnika omogočajo prenos podatkov med datotekami MEX in MATLAB ter možnost klicanja funkcij MATLAB iz kode C ali Fortran. Tukaj vam bom pokazal vse, kar potrebujete za hitro izdelavo uporabne datoteke mex. potrebujem: = urejevalnik besedil = matlab 6.1 ali novejši (starejše različice lahko naredijo tudi datoteke mex, vendar nekoliko drugačne oblike) = matlab ima svoj lastni prevajalnik c, ki je priložen, vendar sem uporabil vizualni prevajalnik c ++, ker sem ga imel.
1. korak: Koda
prenesite priloženo datoteko: mextest1p0.cpp
cpp pomeni c ++ ……… To počne koda: ……… potrebuje številko, ki jo pošljete iz ukaznega poziva matlab. Natisne "hello world" v matlab in vrne dva argumenta v matlab, matriko s števili dveh elementov in niz, prvi element vrnjene matrike številk je 1 + številka, ki ste jo poslali, drugi element vrnjene matrike številk je 2 + številko, ki ste jo poslali …………cpp datoteko. Teh navodil ne morem zapisati tukaj, ker instrukti samodejno urejajo ukaze in povzročijo, da so prikazani nepravilno. Na spodnji sliki lahko vidite, da koda deluje. Ne skrbite za "opozorilo ukazne vrstice", zdi se, da ne vpliva nič. Opomba na levi strani trenutni imenik vsebuje datoteko.cpp. Na desni strani me vidite, kako sestavljam kodo in jo nato izvajam iz matlaba. Preberite datoteko v urejevalniku besedil (na primer beležnico v oknih), je zelo dobro dokumentirana in samoumevna, lahko storite skoraj vse, kar potrebujete, tako da sledite konvencijam v kodi (tj. Kopirate in prilepite in naredite rahle spremembe) ############################################## ######################## …….. OPOMBA …….. zaradi nekaj nadležnega samodejnega urejanja, ki ga izvajajo navodila, koda, kot je prikazano na naslednja stran NE BO DELOVALA, MORATE PREKLOPITI DATOTEKO, ki sem jo priložil, namesto da to kopirate in prilepite. ################################################# ######################
2. korak: To je koda, NE KOPIRAJTE IN LEPITE
################################################# ##################### …….. OPOMBA …….. Zaradi nekaj nadležnega samodejnega urejanja, ki ga izvajajo navodila, koda, prikazana na tej strani, NE BO DELO, MORATE PREKLOPITI DATOTEKO, ki sem jo priložil, namesto da bi to kopirali in prilepili. ############################## ####################################### // To je v c ++ napisal leevonk // to je koda za datoteko melax matlab // koda bo vzela eno vrednost števila in izpisala dve številki // dve izhodni številki se izračunata iz vhodne številke // koda bo prikazala tudi vrednost niza // koda bo natisni tudi "hello world" #include "mex.h" void mexFunction (int nlhs, mxArray *plhs , int nrhs, mxArray *prhs ) {// ############### ############################# // #######-natisni "hello world"-### ######### // ###################################### ### mexPrintf ("Pozdravljeni svet"); // ################################### ##### // ########-Pridobite stvari iz Matlaba-######### // ############### ###########################/ * razglasite spremenljivko matrike za shranjevanje dohodnih vrednosti*/double* InValues;/* dobite vrednosti, poslane iz matlab*/InValues = mxGetPr (prhs [0]);/* za uporabo teh vrednosti, poslanih iz matlab, naredite InValues [0], InValue [1], itd.v skladu s tem, koliko vrednosti je. Vrednosti bodo uporabljene spodaj */// ###################################### ## // ########-Vrne matriko številk-######### // ################## ########################/ * razglasi matriko, ki bo poslana matlabu (* je matrika) */double * OutValues;/ * Ustvari/dodeli povratni argument, 1x2 (stolpec 1 vrstica 2) matriko za prvo režo vrnilne matrike (plhs [0]) */plhs [0] = mxCreateDoubleMatrix (1, 2, mxREAL); / * Pridobite kazalec na povratni argument */OutValues = mxGetPr (plhs [0]); / * dodeli vrednosti OutValues, ki se nahajajo v prvi reži vrnilne matrike, tukaj uporabljamo InValues za računalništvo OutValues */OutValues [0] = InValues [0] + 1; OutValues [1] = InValues [0] + 2; // ######################################### // ###########-Vrni niz-############# // ################ ###########################/* razglasi spremenljivko niza, ki jo je treba poslati v matlab*/char* str;/* dodeli vrednost string */str = "byebye";/ *postavite niz v drugo režo vrnilnih nizov (plhs [1]) */plhs [1] = mxCreateString (str); // ########## ################################## // #############-vrnitev več stvari-############ // ############################### ############/ * Če želite vrniti več stvari, upoštevajte zgornja splošna pravila, vendar jih postavite v druge reže za PLH, plh [nekajštevilk] */}
3. korak: Če se iz kakršnega koli razloga ne sestavi
Če iz kakršnega koli razloga ne zbira (moral bi, v mojem računalniku dobro deluje), vidim te vire, sem se od njih učil. Imajo majhne napake (uporaba stare, nefunkcionalne slovnice itd.), Če pa greš sem in tja med tema dvema, bi moral imeti možnost, da skupaj zbrišeš nekaj, kar deluje. Dokumentacija/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Priporočena:
Kako organizirati datoteke: 4 koraki
Kako organizirati datoteke: Zaradi organiziranega sistema za shranjevanje datotek bo vaša računalniška izkušnja veliko prijetnejša. Nič več ne smete odlagati na desetine naključno imenovanih datotek v mapo Moji dokumenti. V tem navodilu bom opisal, kako ohranjam svoj sistem za shranjevanje datotek čist. Jaz sem
Samodejno pošiljanje e -pošte s fotografijo iz paketne datoteke s starim namizjem in XP: 4 koraki
Samodejno pošiljanje e -pošte s fotografijo iz paketne datoteke z uporabo starega namizja in XP -ja: zelo sem srečen, da imam odličen pogled iz okna domače pisarne. Ko sem odsoten, želim videti, kaj pogrešam, in pogosto sem odsoten. Včasih sem imel svojo spletno stran in domačo vremensko postajo, ki bi prek ftp nalagala vse vremenske razmere
Comsave: Zaklepanje zapiskov (aplikacija paketne datoteke): 3 koraki
Comsave: Zaklepanje zapiskov (aplikacija paketne datoteke): Pozdravljeni, Comsaveit shrani vaše zapiske in jih zaklene. Prenesite samo priloženo paketno datoteko (v 1. koraku). Postavite jo v mapo in je NE premaknite iz mape ali paketna datoteka ne bo mogla najti vašega računa. OPOMBA: To je paketna datoteka. Na splošno je
Kako stisniti datoteke ISO varnostnih kopij Psp v datoteke CSO, da prihranite prostor .: 4 koraki
Kako stisniti datoteke ISO varnostnih kopij Psp v datoteke CSO, da prihranite prostor .: V tem navodilu vam bom pokazal, kako stisniti varnostne kopije vaših psps iz ISO v CSO, da prihranite prostor na pomnilniškem ključu, pri čemer uporabite samo en kos programske opreme, ki je uporaben z Wine In Ubuntu. Za izdelavo boste potrebovali tudi CFW (Cusstom Firm-Ware) psp
Kako popraviti nepodprte podatkovne datoteke in prenesti svoje najljubše video datoteke za prenosni računalnik PSP: 7 korakov
Kako popraviti nepodprte podatkovne datoteke in prenesti svoje najljubše video datoteke za prenosni računalnik PSP: Uporabil sem Media Go in izvedel nekaj trikov, da bi na mojem PSP -ju delovale nepodprte video datoteke. To so vsi moji koraki, ki sem jih naredil , ko sem prvič začel uporabljati svoje nepodprte video datoteke za delo na svojem PSP. Deluje 100% z vsemi mojimi video datotekami na mojem PSP Po