当在Matlab中定义匿名函数时,它在内部存储从工作空间使用的变量。 例如
A = 2
f = @(x)x ^ A
清除A
现在,如果你打电话给f(2),你会得到结果4。 如果您只是打印f或将其转换为字符串,您将获得
@(X)的x ^ A
我的问题是如何访问函数中的内部变量 A ?
答案 0 :(得分:4)
一种方法是使用functions
命令。
fa = functions(f);
输出是一个包含workspace
的结构,一个包含包含变量的结构的单元数组,在这种情况下:
ws = fa.workspace{1};
ws.A % returns "2"