MATLAB è un ambiente di programmazione tecnica ottimizzata per rivaleggiare con la velocità e l'efficienza del linguaggio C , quando si tratta di operazioni vettoriali . Tuttavia, ci sono un certo insieme di operazioni in cui C è molto più efficiente . Può essere utile scrivere alcune parti del vostro flusso di lavoro sia in MATLAB e C. I programmi in C può essere compilato in subroutine MATLAB utilizzando l'utility " MEX " . Istruzioni 
 1 
 creare una copia del file di programma C che si desidera adattare in una subroutine MATLAB . 
 2 
 Aggiungi il file di intestazione " mex.h " al file di programma C si desidera compilare in MATLAB subroutine : 
 
 # include " mex.h " 
 3 
 Aggiungi una funzione di gateway " mexFunction " al C file di programma dopo la funzione subroutine di agire da interfaccia tra MATLAB e il codice C . Gli argomenti di " mexFunction " dovrebbe includere tutti gli input e gli argomenti per l'output del sottoprogramma . 
 4 
 Scrivi codice in " mexFunction " per convalidare il numero di ingressi e uscite necessarie, nonché la corretta tipo di dati , dimensioni e gamma . Il linguaggio e le funzioni di C non fallire con la grazia di funzioni MATLAB basati su script 
 5 
 Utilizzare la funzione " mexErrMsgIdAndTxt ( ) " per lanciare gli errori di MATLAB quando gli argomenti non sono corretti : . 
 
 mexErrMsgIdAndTxt ( " MyToolbox : myMexFunction : missingInput ", " . . Manca ingresso myMexFunction richiede 2 ingressi "); 
 6 utilizzo delle funzioni 
 MEX " getter " per convertire dal formato MATLAB dati di input per formattare i dati C: 
 
 myNumber = mxGetScalar ( myInputs [ 0 ] ) ; myMatrixPointer = mxGetPr ( myInputs [ 1 ] ) ; 
 
 Vedere documentazione MATLAB per un elenco completo di queste funzioni . 
 7 utilizzo delle funzioni 
 MEX "Crea" per creare dati di MATLAB in cui memorizzare il risultato della funzione C . L'ingresso " mxREAL " specifica il tipo di dati 
 
 myOutputs [ 0 ] = mxCreateDoubleMatrix ( 1 , nColumns , mxREAL ) . OutputMatrixInMATLAB = mxGetPtr ( myOutputs [ 0 ] ) ; 
 8 < p > Chiama la subroutine C dall'interno " mexFunction . " directory di lavoro corrente 
 9 
 diretto di MATLAB nella directory che contiene il file C utilizzando il comando "cd " per cambiare directory menu File o . dalla riga di comando 
 10 
 compilare il programma in C con il comando MATLAB " mex : " 
 
 mex myMexFunction.c 
 11 
 Execute la funzione in MATLAB : 
 
 myMexFunction ( ingressi, uscite, ...) in