评估具有不同元数的匿名函数的元胞数组
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
我有一个匿名函数元胞数组,它们通常都采用不同的变量,例如
{@(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