Location required for mex files?

2 visualizaciones (últimos 30 días)
Bob Knighten
Bob Knighten el 11 de Abr. de 2011
I am using a toolkit downloaded from the File Exchange. It calls for using mex to compile some .c files for speed. There are also .m versions of these same files. If one of these compiled functions is called from a .m file in the same directory as the .mex files, the .mex files are used and the speed is excellent. But if the .m file is located elsewhere instead the uncompiled (i.e. .m version) is used and the speed is bad. All files in question are in the path. Is there something else that can be done so the .mex files will be used?

Respuestas (3)

Robert Cumming
Robert Cumming el 11 de Abr. de 2011
If you can ensure that the mex file is towards the beginning of the path string it will override the m files, see http://www.mathworks.com/help/techdoc/matlab_prog/f7-58170.html
  1 comentario
Bob Knighten
Bob Knighten el 20 de Abr. de 2011
This would have solved the problem but for an odd reason because I would have moved the directory in which the files were located out of the bad location in the matlab/toolbox directory tree. See my answer below.

Iniciar sesión para comentar.


James Tursa
James Tursa el 12 de Abr. de 2011
My advice would be to put the mex files in the same directory as the same-named m-file. That way the mex file will always be called to execute the function, but the m-file can still be used for help text.
  1 comentario
Bob Knighten
Bob Knighten el 20 de Abr. de 2011
That was already true, but as explained below the directory itself was misplaced.

Iniciar sesión para comentar.


Bob Knighten
Bob Knighten el 20 de Abr. de 2011
The answer, not likely to be found from my description of the problem, is in the Mathworks documentation: "We strongly recommend that you save any MATLAB code files you create and any files provided by MathWorks that you edit in a folder that is not in the matlabroot/toolbox folder tree." http://www.mathworks.com/help/techdoc/matlab_env/f8-28521.html
I violated that recommendation with the odd result that even though I made sure the relevant folder was in the path only the .m file was visible, not the .mex file. In any case moving the folder holding the .m and .mex files out of the matlabroot/toolbox folder tree solved the problem.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by