2009-02-10 28 views
8

我在寫一個Matlab mex文件。但是,mex文件似乎有一個嚴重的限制:help mexfilename不會導致出現幫助文本。如何添加「幫助」文本到mex函數?

我可以通過編寫一個m文件來避開這種情況,它最終調用mex文件,但包含幫助,但必須有更好的方法。

在另一邊,這樣我可以做所有的錯誤檢查在M文件,它是更爲方便這麼做......

回答

10

我相信PierreBdR是對的;你只需創建一個m文件版本的函數,只需調用頭文件和註釋塊,但不要使用body。

將錯誤檢查輸入到m文件中,然後讓m文件調用mex文件(可能必須給它們不同的名稱),這可能不是一個壞主意。在MATLAB中檢查變量可能會更直接(例如使用內置函數,例如nargchk),並將它們放入一個標準格式,您可能總是希望mex函數的輸入具有這些格式。我看過的許多圖像處理工具箱功能似乎都是這樣做的(格式化和檢查m文件中的數據,然後在mex文件中執行昂貴的計算)。

+3

我意識到這是舊的,但只是遵循了這裏的建議 - 我發現`m`文件必須與`mex`文件在同一個文件夾中,否則Matlab會給出空的`m`文件優先級並沒有做什麼! – n00dle 2011-04-08 14:33:36

5

你必須創建一個M文件( name.m)與您的mex文件(name.c)具有相同的名稱。然後,你把函數聲明和幫助文本,但沒有函數體。例如:

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