Δημιουργήστε ένα αντίγραφο του αρχείου προγράμματος C που επιθυμείτε να προσαρμοστούν σε μια υπορουτίνα MATLAB . 2
Προσθέστε το " mex.h " αρχείο κεφαλίδα της C αρχείο του προγράμματος που θέλετε να συγκεντρώνει σε ένα υποπρόγραμμα MATLAB :
# include " mex.h "
εικόνων 3
Προσθήκη λειτουργία πύλης " mexFunction " για να σας C αρχείο του προγράμματος μετά τη λειτουργία υπορουτίνα σας για να ενεργήσει ως διεπαφή μεταξύ MATLAB και τον κωδικό σας C . Τα επιχειρήματα των " mexFunction " θα πρέπει να περιλαμβάνει όλες τις εισόδους και τα επιχειρήματα εξόδου για υπορουτίνα σας .
Η 4
Γράψτε κώδικα σε " mexFunction " να επικυρώσει τον αριθμό των απαιτούμενων εισροών και εκροών , καθώς και η ορθή τύπο δεδομένων , το μέγεθος και το εύρος . Η γλώσσα και οι λειτουργίες C δεν παραλείπουν την χάρη σενάριο που βασίζεται λειτουργίες MATLAB
5
Χρησιμοποιήστε το " mexErrMsgIdAndTxt ( ) " λειτουργία για να ρίξει τα λάθη στο MATLAB όταν επιχειρήματα αυτά είναι ανακριβή : .
mexErrMsgIdAndTxt ( " MyToolbox : myMexFunction : missingInput " , " . Λείπει εισόδου myMexFunction απαιτεί 2 εισόδους . ")?
Η 6
Χρησιμοποιήστε MEX " κτήτορας " λειτουργίες για να μετατρέψει από τη μορφή MATLAB δεδομένων εισόδου σε C μορφή δεδομένων :
myNumber = mxGetScalar ( myInputs [ 0 ] ) ? myMatrixPointer = mxGetPr ( myInputs [ 1 ] ) ?
Δείτε MATLAB τεκμηρίωση για μια πλήρη λίστα αυτών των λειτουργιών .
Η 7
Χρησιμοποιήστε MEX " δημιουργήσει " λειτουργίες για τη δημιουργία δεδομένων MATLAB στην οποία θέλετε να αποθηκεύσετε το αποτέλεσμα της λειτουργίας C σας . Η " mxREAL " εισόδου καθορίζει τον τύπο των δεδομένων
myOutputs [ 0 ] = mxCreateDoubleMatrix ( 1 , nColumns , mxREAL )? . OutputMatrixInMATLAB = mxGetPtr ( myOutputs [ 0 ] ) ?
8
Κλήση C υπορουτίνα σας μέσα από το " mexFunction . "
Η 9
τρέχοντα κατάλογο εργασίας Direct του MATLAB στον κατάλογο που περιέχει το αρχείο σας C χρησιμοποιώντας το μενού File ή το " cd " εντολή για να αλλάξετε τον κατάλογο . από τη γραμμή εντολών
Η 10
μεταγλώττιση πρόγραμμα C με τη χρήση του MATLAB εντολή " mex : "
mex myMexFunction.c
Η 11
Execute η λειτουργία σας στο MATLAB :
myMexFunction ( είσοδοι , έξοδοι , ... )
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα