【发布时间】:2012-05-12 23:30:51
【问题描述】:
除了解析函数文件,有没有办法在matlab中获取函数的输入和输出参数的名称?
例如,给定以下函数文件:
divide.m
function [value, remain] = divide(left, right)
value = floor(left / right);
remain = left / right - value;
end
从函数外部,我想得到一个输出参数数组,这里是:['value', 'remain'],输入参数也类似:['left', 'right']。
在 matlab 中是否有一种简单的方法可以做到这一点? Matlab 通常似乎很好地支持反射。
编辑背景:
这样做的目的是在一个窗口中显示函数参数供用户输入。我正在编写一种信号处理程序,对这些信号执行操作的函数存储在一个子文件夹中。我已经有一个列表和用户可以从中选择的每个函数的名称,但有些函数需要额外的参数(例如,平滑函数可能将窗口大小作为参数)。
目前,我可以在程序将找到的子文件夹中添加一个新功能,用户可以选择它来执行操作。我缺少的是让用户指定输入和输出参数,在这里我遇到了障碍,因为我找不到函数的名称。
【问题讨论】:
-
这不是你有function open命令的原因吗?
-
函数内部还是外部?我假设在外面,因为这样使用起来很简单。
-
@Hannesh 你的意思是你想要函数声明本身的变量名,因为它出现在实现中?
-
@EitanT 是的。运行时必须知道名称才能在函数调用时创建变量,所以我认为必须有一种访问它们的方法。
-
可能唯一的方法是解析文件。试试看你能不能用校验码得到任何东西。
标签: matlab reflection