如何为mex函数添加"帮助"文本?

8
我正在编写一个Matlab的mex文件。然而,mex文件似乎有一个严重的限制:help mexfilename不会显示帮助文本。
我可以通过编写一个包含帮助信息并最终调用mex文件的m文件来规避这个问题,但肯定有更好的方法。
另一方面,使用这种方式,我可以在m文件中进行所有错误检查,这样做更加方便...
2个回答

11

我认为PierreBdR是正确的;你可以创建一个只有函数头和注释块,但没有函数体的m文件版本。

在m文件中放置输入参数的错误检查,然后让m文件调用mex文件(可能需要给它们不同的名称)。在MATLAB中检查变量可能更加直观(例如使用内置函数nargchk),并将它们放入标准格式中,你可能希望将其作为输入传递给mex函数。我看过的许多图像处理工具箱函数都这样做(在m文件中对数据进行格式化和检查,然后在mex文件中进行昂贵的计算)。


3
我明白这是旧信息,但我刚刚按照这里的建议操作后发现,m文件必须和mex文件在同一个文件夹中,否则Matlab会优先使用空的m文件并且什么也不做! - n00dle
1
@ianhales:我通常把带有输入参数解析和检查的 M 文件放在路径上,而将真正计算的 MEX 文件放在相邻的“private”文件夹中。例如,你会有 /path/to/myfcn.m/path/to/private/myfcn_mex.m(假设 /path/to 已添加到路径中),其中 myfcn 调用私有 MEX 函数。 - Amro

5
你需要创建一个与你的mex文件同名的m文件(name.m)。然后,你需要在其中加入函数声明和帮助文本,但不需加入函数主体。例如:
function [o1,o2] = MyFct(i1,i2,i3)
% MyFct takes 3 arguments and returns 2 ...      

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接