Sadržaj:
- Korak 1: Kôd
- Korak 2: Ovo je kôd, NE KOPIRAJTE I LIJEPITE
- Korak 3: Ako se iz bilo kojeg razloga ne sastavlja
Video: Izrada Matlab MEX datoteke: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:38
Upute o tome kako integrirati sastavljeni C kod s Matlabom. MEX znači MATLAB Executable. MEX datoteke su dinamički povezane podrutine proizvedene iz izvornog koda C ili Fortrana koje se, kada se sastave, mogu pokrenuti iz MATLAB-a na isti način kao MATLAB M-datoteke ili ugrađene funkcije. Funkcije vanjskog sučelja pružaju mogućnost prijenosa podataka između MEX datoteka i MATLAB-a, te mogućnost pozivanja MATLAB funkcija iz C ili Fortran koda. Ovdje ću vam pokazati sve što vam je potrebno za brzu izradu korisne mex datoteke. Što ćete potrebno: = uređivač teksta = matlab 6.1 ili novija verzija (starije verzije mogu raditi i s mex datotekama, ali nešto drugačijeg formata) = matlab ima vlastiti c kompajler koji dolazi s njim, ali ja sam koristio vizualni c ++ kompajler jer sam ga imao.
Korak 1: Kôd
preuzmite datoteku koju sam priložio: mextest1p0.cpp
cpp znači c ++ ……… Ovo je ono što kôd radi: ……… potreban je broj koji ste mu poslali iz naredbenog retka matlab. Ispisuje "hello world" u matlab -u, vraća dva argumenta u matlab, niz s dva elementa i niz, prvi element vraćenog niza brojeva je 1 + broj koji ste mu poslali, drugi element vraćenog niza brojeva je 2 + broj koji ste mu poslali ……..cpp datoteku. Ne mogu ovdje napisati ove upute jer instrukcije automatski uređuju naredbe i čine da se pojavljuju pogrešno. Na donjoj slici možete vidjeti kako kôd radi. Ne brinite se oko "upozorenja naredbenog retka", čini se da ništa ne utječe. Napomena s lijeve strane, trenutni direktorij sadrži.cpp datoteku. S desne strane možete vidjeti kako sastavljam kôd, a zatim ga izvršavam iz matlaba. Pročitajte datoteku u svom uređivaču teksta (na primjer bilježnicu u prozorima), vrlo je dobro dokumentirana i sama po sebi razumljiva, moći ćete učiniti gotovo sve što trebate slijedeći konvencije u kodu (tj. Kopirati i lijepiti je i napraviti male izmjene) ############################################## ######################### …….. NAPOMENA …….. zbog nekog dosadnog automatskog uređivanja koje instrukcije rade, kôd koji se vidi na sljedeća stranica NEĆE RADITI, MORATE PREUZETI DATOTEKU koju sam priložio umjesto da je kopirate i zalijepite. ################################################# ######################
Korak 2: Ovo je kôd, NE KOPIRAJTE I LIJEPITE
################################################# ###################### …….. NAPOMENA ……..zbog dosadnog automatskog uređivanja koje instrukcije rade, kôd prikazan na ovoj stranici NEĆE RADITE, MORATE PREUZETI DATOTEKU koju sam priložio umjesto da kopirate i zalijepite ovo. ############################## ####################################### // Ovo je na c ++ napisao leevonk // to je kod za matlab mex datoteku // kôd će uzeti jednu brojčanu vrijednost i ispisati dvije brojevne vrijednosti // dva izlazna broja se izračunavaju iz ulaznog broja // kôd će također ispisati vrijednost niza // kôd će također ispišite "hello world" #include "mex.h" void mexFunction (int nlhs, mxArray *plhs , int nrhs, mxArray *prhs ) {// ############### ############################# // #######-ispišite "hello world"-### ######### // ###################################### ### mexPrintf ("Pozdrav svijetu"); // ################################### ##### // ########-Preuzmite stvari od Matlaba-######### // ############### ###########################/ * deklarirajte varijablu niza za držanje dolaznih vrijednosti*/double* InValues;/* dobijte vrijednosti poslane iz matlab*/InValues = mxGetPr (prhs [0]);/* za korištenje ovih vrijednosti poslanih iz matlaba, učinite InValues [0], InValue [1], itd. Prema broju vrijednosti. InValues će se koristiti ispod */// ####################################### ## // ########-Vraća niz brojeva-######### // ################## ########################/ * deklarirajte niz koji će biti poslan u matlab (* čini ga nizom) */double * OutValues;/ * Stvorite/dodijelite povratni argument, 1x2 (1 redak 2 stupac) matricu za prvi utor polja za povratak (plhs [0]) */plhs [0] = mxCreateDoubleMatrix (1, 2, mxREAL); / * Dohvati pokazivač na povratni argument */OutValues = mxGetPr (plhs [0]); / * dodijelite vrijednosti OutValues koje će se nalaziti u prvom utoru polja za povratak, ovdje koristimo InValues za računanje OutValues */OutValues [0] = InValues [0] + 1; OutValues [1] = InValues [0] + 2; // ########################################## // ###########-Vraća niz-############# // ################# ###########################/* deklarira varijablu niza koja se šalje u matlab*/char* str;/* dodjeljuje vrijednost string */str = "byebye";/ *stavite niz u drugi utor polja za vraćanje (plhs [1]) */plhs [1] = mxCreateString (str); // ########## ##################################//###########--povratak više stvari-############ // ############################### ############/ * za vraćanje više stvari, slijedite gore navedena opća pravila, ali stavite stvari u druge unose za plhs, plh [neki broj] */}
Korak 3: Ako se iz bilo kojeg razloga ne sastavlja
Ako iz bilo kojeg razloga ne kompilira (trebao bi, radi dobro na mom računalu) vidjeti ove resurse, od njih sam naučio. Imaju malih grešaka (koristite neku staru, nefunkcionalnu gramatiku itd.), Ali ako idete naprijed -natrag između njih dvoje, trebali biste moći spojiti nešto što funkcionira. Https://web.ccr.jussieu.fr/ccr/ Dokumentacija/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Preporučeni:
Kako poslati velike datoteke s računala na računalo: 6 koraka
Kako slati velike datoteke s računala na računalo: Veličina datoteka nastavlja se povećavati kako tehnologija napreduje. Ako ste u kreativnom zanatu, poput dizajna ili modeliranja, ili ste samo hobist, prijenos velikih datoteka može biti gnjavaža. Većina usluga e -pošte ograničava maksimalne veličine privitaka na oko 25
Izrada Bluetooth adaptera Pt.2 (Izrada kompatibilnog zvučnika): 16 koraka
Izrada Bluetooth adaptera Pt.2 (Izrada kompatibilnog zvučnika): U ovom uputstvu pokazat ću vam kako koristiti svoj Bluetooth adapter kako bi Bluetooth zvučnik bio kompatibilan sa starim zvučnikom.*Ako niste pročitali moje prve upute o &"izradi Bluetooth adapter " Predlažem da to učinite prije nego nastavite. C
Izrada malih robota: izrada mikro-sumo robota od jednog kubičnog inča i manji: 5 koraka (sa slikama)
Izrada malih robota: Izrada mikro-sumo robota od jednog kubičnog inča i manjih: Evo nekoliko detalja o izgradnji sićušnih robota i sklopova. Ova instrukcija će obuhvatiti i neke osnovne savjete i tehnike koje su korisne u izgradnji robota bilo koje veličine. Za mene je jedan od velikih izazova u elektronici vidjeti koliko je mali
Kako komprimirati ISO datoteke vaših Psp sigurnosnih kopija u datoteke OCD -a radi uštede prostora .: 4 koraka
Kako komprimirati ISO datoteke vaših sigurnosnih kopija vaših Psp -a u datoteke CSO -a radi uštede prostora .: U ovom uputstvu pokazat ću vam kako komprimirati sigurnosne kopije vaših PSPS -ova iz ISO -a u CSO kako biste uštedjeli prostor na memorijskoj kartici, koristeći samo jedan softver koji može se koristiti s Wine In Ubuntu. Za izradu će vam trebati i CFW (Cusstom Firm-Ware) psp
Kako popraviti nepodržane podatkovne datoteke i preuzeti svoje omiljene video datoteke za svoj prijenosni PSP: 7 koraka
Kako popraviti nepodržane podatkovne datoteke i preuzeti svoje omiljene video datoteke za svoj PSP prijenosni uređaj: Koristio sam Media Go i izveo neke od trikova kako bi nepodržane video datoteke radile na mom PSP -u. Ovo su svi moji koraci koje sam učinio , kada sam prvi put pokrenuo svoje nepodržane video datoteke za rad na svom PSP -u. Radi 100% sa svim mojim video datotekama na mom PSP Po