INHOUDSOPGAWE:
- Stap 1: Die kode
- Stap 2: Dit is die kode, MOENIE KOPIEER EN PAS NIE
- Stap 3: As dit om watter rede ook al nie saamstel nie
Video: Maak 'n Matlab MEX -lêer: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
Instruksies oor hoe om saamgestelde C -kode met Matlab te integreer. MEX staan vir MATLAB Executable. MEX-lêers is dinamies gekoppelde subroetines wat uit die C- of Fortran-bronkode geproduseer word, en kan saamgestel word vanaf MATLAB op dieselfde manier as MATLAB M-lêers of ingeboude funksies. Die eksterne koppelvlakfunksies bied funksies om data tussen MEX-lêers en MATLAB oor te dra, en die moontlikheid om MATLAB-funksies te bel vanaf C- of Fortran-kode. Hier wys ek u alles wat u nodig het om vinnig 'n nuttige mex-lêer te maak. need: = 'n teksredakteur = matlab 6.1 of hoër (vroeëre weergawes kan ook mex -lêers doen, maar 'n effens ander formaat) = matlab het sy eie c -samesteller wat dit meebring, maar ek het visuele c ++ samesteller gebruik omdat ek dit gehad het.
Stap 1: Die kode
laai die lêer wat ek aangeheg het, af: mextest1p0.cpp
cpp staan vir c ++ ……….. Dit druk 'hallo wêreld' in matlab, dit gee twee argumente terug na matlab, 'n twee -element getalreeks en 'n string, die eerste element van die teruggekeerde getalreeks is 1 + die getal wat u gestuur het, die tweede element van die teruggekeerde getalreeks is 2 + die nommer wat u dit gestuur het …………cpp lêer. Ek kan nie hierdie instruksies hier skryf nie, omdat instruksies die opdragte outomaties wysig en dit verkeerd laat verskyn. Op die onderstaande foto kan u die kode sien werk. Moenie bekommerd wees oor die 'opdragreëlwaarskuwing' nie; dit lyk asof dit niks uitwerk nie. Let daarop dat die huidige gids die.cpp -lêer aan die linkerkant bevat. Aan die regterkant kan u sien hoe ek die kode saamstel en dit dan vanaf matlab uitvoer. Lees die lêer in u teksredakteur deur (byvoorbeeld notaboek in vensters), dit is baie goed gedokumenteer en selfverduidelikend; u kan byna alles doen wat u nodig het deur die konvensies in die kode te volg (dws dit te kopieer en te plak en te maak geringe wysigings) ################################################# ######################### …….. NOTE …….. vanweë die irriterende outobewerking wat instruksies doen, is die kode soos op die volgende bladsy SAL NIE WERK NIE, U moet die lêer wat ek aangeheg het, laai in plaas daarvan om dit te kopieer en te plak. #################################################### #######################
Stap 2: Dit is die kode, MOENIE KOPIEER EN PAS NIE
#################################################### ###################### …….. NOTE …….. As gevolg van irriterende outobewerking wat instruksies doen, SAL die kode soos op hierdie bladsy gesien NIE WERK, U moet die lêer wat ek aangeheg het, aflaai in plaas daarvan om dit te kopieer en te plak. ######################################## // Dit is in c ++ geskryf deur leevonk // dit is kode vir 'n matlab mex lêer // die kode sal een getalwaarde inneem en twee getalwaardes oplewer // die twee uitsetgetalle word bereken uit die invoernommer // die kode sal ook 'n stringwaarde lewer // die kode sal druk ook "hallo wêreld"#sluit "mex.h" leeg mexFunction (int nlhs, mxArray *plhs , int nrhs, mxArray *prhs ) {// ############## ############################# // #######-print "hello world"-### ######### // ######################################### ### mexPrintf ("Hallo wêreld"); // ####################################### ##### // #########-Kry dinge uit Matlab-############################ ############################ * verklaar 'n skikkingveranderlike om die inkomende waardes te hou*/dubbel* InValues;/* kry die waardes gestuur vanaf matlab*/InValues = mxGetPr (prhs [0]);/* om hierdie waardes wat vanaf matlab gestuur is, te gebruik, doen InValues [0], InValue [1], ens volgens hoeveel waardes daar is. Die InValues sal hieronder gebruik word */// ######################################### ## // #########-Wys 'n getalreeks-################################ #########################/ * verklaar die skikking wat na matlab gestuur word (die * maak dit 'n skikking) */dubbel * OutValues;/ * Skep/ken opgaafargument toe, 'n 1x2 (1 ry 2 -kolom) Matriks vir die opgawe -skikking se eerste gleuf (plhs [0]) */plhs [0] = mxCreateDoubleMatrix (1, 2, mxREAL); / * Kry wyser na die retourargument */OutValues = mxGetPr (plhs [0]); / * ken waardes toe aan OutValues wat in die eerste gleuf van die retourskikking sal wees; hier gebruik ons die InValues om die OutValues te bereken */OutValues [0] = InValues [0] + 1; OutValues [1] = InValues [0] + 2; // ############################################# // ################################################################################### ###########################/* verklaar dat die string veranderlike gestuur moet word na matlab*/char* str;/* ken 'n waarde toe aan die string */str = "byebye";/ *plaas die string in die tweede gleuf in die retourskikkings (plhs [1]) */plhs [1] = mxCreateString (str); // ########### ################################### // ############-terugkeer meer dinge-############# // ################################## #############/ * om meer goed terug te gee, volg die algemene reëls hierbo, maar plaas die goed in ander plhs -gleuwe, plhs [somenumber] */}
Stap 3: As dit om watter rede ook al nie saamstel nie
As dit om watter rede ook al nie saamgestel word nie (dit behoort goed te werk op my rekenaar), sien ek hierdie bronne, dit is waar ek geleer het. Hulle het klein foute (gebruik ou, nie -funksionele grammatika, ens.), Maar as u tussen die twee heen en weer gaan, moet u iets kan saamwerk wat werk. Http://web.ccr.jussieu.fr/ccr/ Dokumentasie/Calcul/matlab5v11/docs/00009/009a1.htmhttps://cnx.org/content/m12348/latest/
Aanbeveel:
(2) Begin 'n speletjie maak - Maak 'n spatskerm in Unity3D: 9 stappe
(2) Begin om 'n speletjie te maak - Maak 'n spatskerm in Unity3D: In hierdie instruksies leer jy hoe om 'n eenvoudige spatskerm in Unity3D te maak. Eerstens maak ons Unity oop
Hoe om 'n hommeltuig te maak met Arduino UNO - Maak 'n quadcopter met behulp van mikrokontroller: 8 stappe (met foto's)
Hoe om 'n hommeltuig te maak met Arduino UNO | Maak 'n quadcopter met behulp van mikrobeheerder: inleiding Besoek my Youtube -kanaal 'n Drone is 'n baie duur apparaat (produk) om te koop. In hierdie pos gaan ek bespreek hoe ek dit goedkoop kan maak ?? En hoe kan u u eie goedkoop maak teen goedkoop pryse … In Indië is al die materiale (motors, ESC's
Maak 'n Bluetooth -adapter Pt.2 (maak 'n versoenbare luidspreker): 16 stappe
Maak 'n Bluetooth -adapter Pt.2 (maak 'n versoenbare luidspreker): In hierdie instruksies sal ek jou wys hoe om my Bluetooth -adapter te gebruik om 'n ou luidspreker Bluetooth -versoenbaar te maak.*As jy nie my eerste instruksies gelees het oor " Making 'n Bluetooth -adapter " Ek stel voor dat u dit doen voordat u verder gaan. C
Maak die Canon Pixma IX6550 -drukker oop en maak dit skoon: 5 stappe
Maak die Canon Pixma IX6550 -drukker oop en maak dit skoon: ek het hierdie A3 -drukker in 2011 gekoop en selfs die ink -absorberblok is vol, ek wil dit nie weggooi nie
Musiekreaktiewe lig -- Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak vir die maak van 'n tafelblad: 5 stappe (met foto's)
Musiekreaktiewe lig || Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak om lessenaars te maak: Hallo ouens, vandag bou ons 'n baie interessante projek. Vandag gaan ons musiek reaktiewe lig bou. Die LED sal sy helderheid verander volgens die bas wat eintlik 'n lae-frekwensie klanksein is. Dit is baie eenvoudig om te bou. Ons sal