评估具有不同元数的匿名函数的元胞数组

Evalute cell array of anonymous functions with different arity

我有一个匿名函数元胞数组,它们通常都采用不同的变量,例如

{@(x)x, @(x,y)x+y, @(y)y^2}

我想为一对值 {x,y} 计算所有这些函数,即做类似

的事情
{@(x)x, @(x,y)x+y, @(y)y^2}(x,y)

如何在 Matlab 中执行此操作?


编辑:由于找不到好的解决方案,我现在手动解析函数定义。

我会遍历这些函数,但我想还有一种更优雅、更简洁的方法。我还使用了 ~ 占位符,因此输入过多时不会传播错误。 ~ 占位符可用于计划不使用的输入和输出。

%Input variables%
x = 1;
y = 2;

Functions = {@(x,~) x, @(x,y) x+y, @(~,y) y^2};

%Looping through functions and evaluating%
for Function_Index = 1: length(Functions)
   
Functions{Function_Index}(x,y)

end

使用MATLAB版本:R2019b