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
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
Programmazione © www.354353.com