有没有办法找出一个函数将采用多少个参数?
像这样?
f = @(x,y,z) x+y+z;
numargs( f )
ans =
3
Run Code Online (Sandbox Code Playgroud)
我知道很多功能都可以varargin,所以也许会返回inf或者其他东西.
您可以使用nargin来获取输入参数的数量.
至于函数varargin作为输入参数时,输出nargin将为负.
来自文档的示例:
function mynewplot(x,y,varargin)
figure
plot(x,y,varargin{:})
title('My New Plot')
Run Code Online (Sandbox Code Playgroud)
这样打电话nargin:
fx = 'mynewplot';
nargin(fx)
Run Code Online (Sandbox Code Playgroud)
得到-3的结果,因此第三个输入参数是varargin.