Stap 2: Dit is de Code, DO NOT COPY en PASTE
........ OPMERKING...
vanwege sommige vervelende auto-uitgave doet die instructables, de code zoals te zien op deze pagina zal niet werken, u hebben TO DOWNLOAD THE FILE ik aangesloten in plaats van kopiëren en plakken dit.
########################################################################
Dit werd geschreven in c ++ door leevonk
het is een code voor een matlab mex-bestand
de code zal nemen in de waarde van één getal en output van de twee getallen
de nummers twee uitgang zijn berekend op basis van het gegeven getal
de code zal ook output een string-waarde
de code wordt ook afgedrukt "hello world"
#include "mex.h"
VOID mexFunction (int nlhs, mxArray * plhs [],
int nrhs, mxArray *prhs[])
{
//##########################################
###--afdrukken "hello world"--###
//##########################################
mexPrintf ("Hello world");
//##########################################
###--Krijgen spullen vanuit Matlab--###
//##########################################
/ * verklaar een array variabele te houden van de binnenkomende vales * /
Double * InValues;
/ * krijg de waarden verzonden vanuit matlab * /
InValues = mxGetPr(prhs[0]);
/ * voor het gebruik van deze waarden die zijn verzonden vanuit matlab, InValues [0], InValue [1], te doen enz
Volgens hoeveel waarden zijn er. De InValues zal worden gebruikt hieronder * /
//##########################################
###--Een nummer matrix retourneren--###
//##########################################
/ * verklaar de array die zal worden verzonden naar matlab (de * maakt het een matrix) * /
Double * OutValues;
/ * Maken/toewijzen terugkeer argument, een 1 x 2 (1 nld 2 kolom) Matrix
voor de geretourneerde matrix eerste sleuf (plhs[0]) * /
plhs[0]=mxCreateDoubleMatrix(1,2,mxREAL);
/ * Krijgen van de aanwijzer aan het argument van terugkeer * /
OutValues = mxGetPr(plhs[0]);
/ * waarden toewijzen aan OutValues die in de geretourneerde matrix eerste sleuf verblijft,
hier gebruiken we de InValues naar computer de OutValues * /
OutValues [0] = InValues [0] + 1;
OutValues [1] = InValues [0] + 2;
//###########################################
###--Een tekenreeks als resultaat geven--###
//###########################################
/ * verklaar de tekenreeksvariabele worden verzonden naar matlab * /
char * str;
/ * een waarde toewijst aan de tekenreeks * /
Str = "byebye";
/ * Zet de string in de tweede terugkeer arrays-sleuf (plhs[1]) * /
plhs[1]=mxCreateString(str);
//############################################
###--terug meer spullen--###
//############################################
/ * om terug te keren meer spullen, volgen algemene regels hierboven maar put
het spul in de sleuven van andere plhs, plhs [somenumber] * /
}