从匿名函数中查找参数名称

Finding parameter names from anonymous function

我希望能够在 Matlab 中找到匿名函数的参数名称。

我试图查看 functions() 命令中是否有任何有关参数名称的信息,但无济于事。

假设我有一个匿名函数 f:

f = @(x, y) x^2 + y^2

我需要能够从这个等式中找到参数名称 'x' 和 'y'。 Matlab 中是否有内置方法可以做到这一点?或者我是否必须以某种方式解析函数以接收参数名称?

functions (or equivalently the output of func2str) 输出中的 function 字段将函数定义作为字符串给出。然后,您使用正则表达式来匹配 @(, 和 [=15 之间的一个或多个非 )、非 , 字符的每个序列=] 或 ):

s = functions(f);
inputVarNames = regexp(s.function, '(?<=(,|@\())[^\)]+?(?=(,|\)))', 'match');