Étape 2: C’est le Code, ne pas copier et coller
........ REMARQUE...
en raison de certains auto-édition ennuyeux qu’instructables ne, le code comme on le voit sur cette page ne sera pas travail, vous avez pour télécharger le fichier j’ai joint au lieu de copier et coller ce.
########################################################################
Ceci a été écrit en c ++ par leevonk
C’est le code pour un fichier mex de matlab
le code prendra en une valeur numérique et deux valeurs de numéro de sortie
les numéros de deux sorties sont calculées à partir du nombre d’entrée
le code va aussi afficher une valeur de chaîne
le code imprime également « hello world »
#include « mex.h »
void mexFunction (int nlhs, mxArray * plhs [],
int nrhs, mxArray *prhs[])
{
//##########################################
###--imprimer "hello world"--###
//##########################################
mexPrintf ("Hello world") ;
//##########################################
###--Avoir des trucs à partir de Matlab--###
//##########################################
/ * déclarer une variable tableau pour contenir les vallées entrantes * /
double * EndOperationDelegate ;
/ * obtenir les valeurs envoyées à partir de matlab * /
EndOperationDelegate = mxGetPr(prhs[0]) ;
/ * pour utiliser ces valeurs qui ont été envoyés à partir de matlab, procédez EndOperationDelegate [0], InValue [1], etc.
selon les valeurs combien il y a. L’EndOperationDelegate sera utilisé ci-dessous * /
//##########################################
###--Retourne un tableau de numéro--###
//##########################################
/ * déclarer le tableau qui va être envoyé à matlab (le * rend un tableau) * /
double * OutValues ;
/ * Créer/allouer retour argument, un 1 x 2 (1 ligne 2 colonne) matrice
pour le premier emplacement du tableau retour (plhs[0]) * /
plhs[0]=mxCreateDoubleMatrix(1,2,mxREAL) ;
/ * Obtenir le pointeur à l’argument de retour * /
OutValues = mxGetPr(plhs[0]) ;
/ * assigner des valeurs aux OutValues qui résidera dans le premier emplacement du tableau retour,
ici nous utilisons la régissant d’ordinateur la OutValues * /
OutValues [0] = EndOperationDelegate [0] + 1 ;
OutValues [1] = EndOperationDelegate [0] + 2 ;
//###########################################
###--Retourner une chaîne--###
//###########################################
/ * déclarer la variable chaîne à envoyer à matlab * /
char * str ;
/ * assigner une valeur à la chaîne * /
Str = « Bye-Bye » ;
/ * mettre la chaîne dans la fente deuxième retour tableaux (plhs[1]) * /
plhs[1]=mxCreateString(STR) ;
//############################################
###--retourner plus de choses--###
//############################################
/ * pour retourner plus de choses, suivez les règles générales ci-dessus mais put
les trucs dans autres fentes plhs, plhs [somenumber] * /
}