我正在编写一个Matlab mex文件。但是,mex文件似乎有严重的限制:help mexfilename
不会导致显示帮助文本。
我可以通过编写一个最终调用mex文件的m文件来避免这种情况,但包括帮助,但必须有更好的方法。
另一方面,我可以在m文件中进行所有错误检查,这样做更方便......
答案 0 :(得分:11)
我相信PierreBdR是对的;你只需要标题调用和注释块来创建函数的m文件版本,但没有正文。
对m文件中的输入进行错误检查可能不是一个坏主意,然后让m文件调用mex文件(尽管如此,你可能必须给它们不同的名字)。在MATLAB中检查变量可能更直接(例如,使用像nargchk这样的内置函数)并将它们放入标准格式中,您可能总是希望mex函数的输入具有。我看过的许多图像处理工具箱功能似乎都是这样做的(格式化和检查m文件中的数据,然后在mex文件中进行昂贵的计算)。
答案 1 :(得分:5)
您必须创建一个与您的mex文件(name.c)同名的m文件(name.m)。然后,你把函数声明和帮助文本,但没有函数体。例如:
function [o1,o2] = MyFct(i1,i2,i3)
% MyFct takes 3 arguments and returns 2 ...