2010-05-26 4 views
2

Existe-t-il un moyen d'obtenir le fichier mex pour un fichier m MATLAB intégré? Si oui, comment? Si non, cela signifie-t-il que je dois écrire moi-même le code C (oh non!)Fichiers MATLAB Mex

+1

Plus d'informations sur le type de fonction que vous souhaitez appeler aideraient. – SplittingField

+0

Une grande partie des fonctionnalités de base de Matlab est implémentée dans des binaires compilés et donc inaccessibles pour vous. Beaucoup d'autres fonctionnalités sont dans m-files, et donc accessibles bien que protégés par des droits d'auteur etc. Donc je ne pense pas qu'il y ait des fichiers 'mex' pour les fichiers 'm' et votre question est malformée. –

+1

@SplittingField - Je regarde beaucoup de m-fichiers - tels que gradient.m, edge.m, sobel, imshow.m, etc. beaucoup de la boîte à outils de traitement d'image. J'ai écrit un code et l'ai profilé. Il fonctionne lentement à cause de certaines de ces fonctions et certaines boucles que j'ai écrites – hkf

Répondre

1

Les fonctions intégrées de Matlab sont de source fermée. Ainsi, vous ne serez pas en mesure d'obtenir le code pour eux. Cependant, il est possible d'appeler les fonctions Matlab à partir du code C, si cela résout votre problème. Selon la fonction que vous voulez, vous pouvez en trouver ailleurs. Par exemple, les opérations d'algèbre linéaire sont en LAPACK, et vous pourrez peut-être obtenir quelque chose de la source de OCTAVE.

+1

Comment j'appelle matlab fubctions de C. Je pensais que le but de 'mexing' était de ne pas avoir à exécuter m fichiers. – hkf

+1

Si vous écrivez un programme en C et que vous avez besoin de fonctionnalités Matlab que vous ne souhaitez pas désosser, vous pouvez appeler la fonction Matlab (http://www.mathworks.com/access/helpdesk/help/techdoc /matlab_external/f29148.html). Cela ne va pas vous aider, puisque vous semblez vouloir écrire un programme dans Matlab et accélérer certaines parties en le réimplémentant en C++. – Jonas

Questions connexes