有没有办法概括以下内容?(注意:nargout_requested
除了运行时可能不知道)
function outputs = apply_and_gather(f, args, nargout_requested)
switch nargout_requested
case 0
f(args{:});
outputs = {};
case 1
o1 = f(args{:});
outputs = {o1};
case 2
[o1,o2] = f(args{:});
outputs = {o1,o2};
case 3
[o1,o2,o3] = f(args{:});
outputs = {o1,o2,o3};
...
换句话说,我想调用一个带有参数元胞数组的函数,并将函数的输出分配给一个元胞数组,并请求一定数量的输出参数。
在 python 中,这只是:
outputs = f(*args)
但是 Matlab 要求你在调用函数之前告诉函数你想要多少个参数,如果你有太多的输出参数,就会给你一个错误。