Как добавить текст помощи в mex-функцию? - PullRequest
8 голосов
/ 10 февраля 2009

Я пишу Mex-файл Matlab. Однако у mex-файлов есть серьезное ограничение: help mexfilename не приведет к появлению текста справки.

Я мог бы обойти это, написав m-файл, который в конечном итоге вызывает mex-файл, но включает в себя помощь, но должен быть лучший способ.

С другой стороны, таким образом я мог бы выполнить всю проверку ошибок в m-файле, где это гораздо удобнее сделать ...

Ответы [ 2 ]

11 голосов
/ 10 февраля 2009

Я считаю, что PierreBdR прав; вы бы создали версию своей функции в m-файле, используя только заголовок и блок комментариев, но без тела.

Возможно, было бы неплохо поставить проверку ошибок для входных данных в m-файле, а затем заставить m-файл вызывать mex-файл (хотя, возможно, вам придется давать им разные имена). Может быть более простым проверить переменные в MATLAB (используя, например, встроенные модули, такие как nargchk ) и поместить их в стандартный формат, который вы всегда можете пожелать, чтобы входные данные для функции mex имели , Многие из функций Image Processing Toolbox, на которые я смотрел, похоже, делают это (форматирование и проверка данных в m-файле, а затем выполнение дорогих вычислений в mex-файле).

5 голосов
/ 10 февраля 2009

Вы должны создать m-файл (name.m) с тем же именем, что и ваш mex-файл (name.c). Затем вы помещаете объявление функции и текст справки, но без тела функции. Пример:

function [o1,o2] = MyFct(i1,i2,i3)
% MyFct takes 3 arguments and returns 2 ...      
...