Att göra en Matlab MEX fil (2 / 3 steg)
Steg 2: Detta är koden, inte kopiera och klistra in
........ OBS...
på grund av några irriterande auto-redigering gör som instructables koden som kan ses på denna sida kommer inte arbete, du har att hämta den fil jag bifogade i stället för kopiera och klistra in detta.
########################################################################
Detta var skrivet i c ++ av leevonk
Det är kod för en matlab mex fil
koden kommer att ta i ett talvärde och utgång två talvärden
två produktionen numrerar beräknas utifrån antalet ingående
koden kommer också ut ett string-värde
koden kommer också att skriva ut "hello world"
#include "mex.h"
void mexFunction (int nlhs, mxArray * plhs [],
int nrhs, mxArray *prhs[])
{
//##########################################
###--Skriv ut "hello world"--###
//##########################################
mexPrintf ("Hello world");
//##########################################
###--Få saker från Matlab--###
//##########################################
/ * deklarerar en array variabel att hålla inkommande vales * /
Dubbelrum * InValues;
/ * värden skickas från matlab * /
InValues = mxGetPr(prhs[0]);
/ * för att använda dessa värden som skickats från matlab, göra InValues [0], InValue [1], etc
enligt hur många värden finns. InValues kommer att användas under * /
//##########################################
###--Returnera ett antal array--###
//##########################################
/ * deklarera arrayen som ska skickas till matlab (de * gör det en matris) * /
Dubbelrum * OutValues;
/ * Skapa/fördela avkastning argument, en 1 x 2 (1 rad 2 kolumn) matris
för i returmatrisen första facket (plhs[0]) * /
plhs[0]=mxCreateDoubleMatrix(1,2,mxREAL);
/ * Få pekaren till argumentet avkastning * /
OutValues = mxGetPr(plhs[0]);
/ * tilldela värden till OutValues som kommer att finnas i i returmatrisen första facket,
här använder vi InValues dator OutValues * /
OutValues [0] = InValues [0] + 1.
OutValues [1] = InValues [0] + 2.
//###########################################
###--Returnera en sträng--###
//###########################################
/ * deklarera variabeln strängen skickas till matlab * /
char * str;
/ * tilldela ett värde till strängen * /
Str = "byebye";
/ * Lägg strängen i retur matriser andra kortplatsen (plhs[1]) * /
plhs[1]=mxCreateString(Str);
//############################################
###--återgå mer saker--###
//############################################
/ * återgå mer grejer, följa de allmänna reglerna ovan men put
grejer till andra plhs slots, plhs [somenumber] * /
}