Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Come per l'interfaccia C a MATLAB

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

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