2013-12-19 99 views
2

我想知道是否有一種方法知道什麼功能稱爲我的功能「fun_a」運行fun_a時。我知道我可以通過將信息作爲參數發送給「子功能」來追蹤「父功能」,但如果可能的話,我想避免這種情況。知道父功能

非常感謝

回答

4

一種方法是使用dbstack

% In a sub-function or function called by another 
st = dbstack; 
st(1).name % The function's name 
st(2).name % The function caller's name (parent) 
... 

另一個有用的功能是mfilename如果你碰巧只想主要功能和M-文件的名稱,其中子函數駐留。

不知道這些算法的計算成本是多少,但我想象一下,簡單地傳入函數名將會更便宜,即使不那麼優雅。